Дать возможность пользователю создать и заполнить массив - C (СИ)

Формулировка задачи:

Всем привет! Пытаюсь реализовать метод конечных разностей, и, после недели в гугле, программа работает. Единственно что хотелось улучшить так это дать возможность пользователю самому задавать массив, по незнанию сделал "топорно и чтоб хоть как-то работало". Код всей программы приводить не буду, только лишь пример используемого массива:
double T[5][5] = {tw0, tw0, tw0, tw0, tw0, tw0, tw0, tw0, tw0, tw0, tw0, tw0, tw0, tw0, tw0, tw0, tw0, tw0, tw0, tw0, twpov, twpov, twpov, twpov, twpov};
Задача для расчета температурного поля - тут массив 5х5. Как сделать, чтобы пользователь сам задавал размер массива/матрицы? Например 4х6, 7х5 и т.п.? И как задать отдельным столбцам/строкам отличные значения? Для пояснения - приведенный массив это температура тела (внутренняя с индексом 0) и его поверхности (с индексом pov), которые могут различаться.

Код к задаче: «Дать возможность пользователю создать и заполнить массив - C (СИ)»

textual
//---------------------------------------------------------------------------
#include <stdio.h>
 
int main()
{
int n, m, i, j;
double **T;       // Объявляем
 
scanf( "%d%d", &n, &m );       // Вводим размеры
printf( "n=%d, m=%d", n, m );  //
 
T = (double**) malloc( n * sizeof(double*) );    //// Выделяем память
for( i=0; i<n; i++ )                               //
  T[i] = (double*) malloc( m * sizeof(double) ); ////
 
for( i=0; i<n; i++ )      //// Заполняем
  for( j=0; j<n; j++ )      //
    T[i][j] = rand()%100; ////
 
for( i=0; i<n; i++ ) //// Удаляем
  free( T[i] );        //
free( T );           ////
 
 
getch();
return 0;
}
//---------------------------------------------------------------------------

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

11   голосов, оценка 4.091 из 5


СОХРАНИТЬ ССЫЛКУ