Обмен элементов двумерного динамического массива через массив указателей - C (СИ)
Формулировка задачи:
Собственно сабж.
Есть задание:
Есть код:
Как предусмотреть обмен?
PS: очистку памяти ставить где лучше: в функции или в мэйне?
Написать программу функция которой получит в качестве параметра динамический двухмерный массив,
затем создать массив указателей каждый элемент которого должен ссылаться на элемент двухмерного массива, предусмотреть обмен местами любых двух элементов координаты которых должны быть указаны с клавиатуры, обмен элементов предусмотреть через массив указателей.
#include <stdio.h> #include <conio.h> void func(int **a){ int **b=new int*[10];//выделение памяти for (int i=0; i<10; i++){ b[i]=new int[10]; } for (int i=0; i<3; i++){//заполнение for (int j=0; j<3; j++) b[i][j]=i+j; } printf("___________________________________________\n"); printf("dynamic mass\n"); printf("___________________________________________\n"); for (int i=0; i<3; i++){//вывод for (int j=0; j<3; j++) printf("%i\t", b[i][j]); printf("\n"); } printf("___________________________________________\n"); printf("\n"); for (int i=0; i<10; i++){ delete b[i]; } delete []b; } int main (void){ int i, j; int x, y; int **p; func (p); int *c[10]; for(i=0; i<10; i++){//ссылки c[i]= &*p[i]; } printf("___________________________________________\n"); printf("mass of indexes\n"); printf("___________________________________________\n"); for (i=0; i<3; i++){// вывод массива указателей for (j=0; j<3; j++) printf("%x\t", &p[i][j]); printf("\n"); } printf("___________________________________________\n"); /*printf("\nenter elements' coordinates...\n");//координаты printf("enter line...\n"); scanf("%i", &x);//строка printf("enter column...\n"); scanf("%i", &y);//столбец*/ //предусмотреть обмен...КАК??? for (i=0; i<10; i++){//очистка delete p[i]; } delete []p; getch(); return 0; }
Решение задачи: «Обмен элементов двумерного динамического массива через массив указателей»
textual
Листинг программы
(int &h){
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д