Чтение данных из матрицы с использованием указателя

Программа, которую я пытаюсь создать, должна запрашивать ввод данных пользователем размером матрица, и затем считывать данные из файла, чтобы поместить в указанную матрицу. Единственная проблема заключается в том, что информация может вводиться только с помощью указателей и может использовать только арифметику указателей. Полные спецификации следующие:

  1. Читайте в размерах матрицы
  2. Запрашивать имя файла и читать данные из этого файла в матрицу
  3. Использовать массив структур, где в одной структуре содержится среднее значение, медиана и стандартное отклонение для столбца в матрице.
  4. Весь ваш код должен получать доступ к ячейкам памяти через указатели и арифметику указателей.

Мне было интересно, если есть какой-либо способ вызвать данные в матрице без использования записи массива (например, myArray [0] [1])? Я всегда знал, что использовать эту нотацию и не понимаю, как еще отделить данные без этой нотации. Любая помощь будет принята с благодарностью.

-1

Решение

Вы должны попытаться выделить матрицу динамически. Вот пример кода о том, как это сделать.

#include <stdio.h>
#include <stdlib.h>

int main() {
int row, col;
// Get the matrix dimension ...

int **matrix = (int**) malloc(sizeof(int*) * row);
for (int i = 0; i < row; i++) {
matrix[i] = (int*) malloc(sizeof(int) * col);
}

// Do something with the matrix ...
// You could still access the matrix with array notation

for (int i = 0; i < row; i++) {
free(matrix[i]);
}
free(matrix);

return 0;
}
0

Другие решения


По вопросам рекламы [email protected]