Вернуть указатель на массив указателей - C (СИ)

Узнай цену своей работы

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

Мне надо вернуть указатель на массив указателей, как это сделать?
void **matrix(FILE *f) // Копируем матрицу из файла
{
    char x;
 
    int j;
 
    int **mat; // Матрица
 
    int i = 0;
 
    int y[2]; // Количество столбцов и строк
 
    while((x = getc(f)) != '\n')
    {
        if('0' >= x || x >= '9')
        {
            continue;
        }
        else
            y[i] = x - '0';
 
        ++i;
    }
    mat = malloc(sizeof(int *)*y[0]);
 
    for(i = 0; i < y[0]; ++i) //Динамически создаем матрицу
    {
        mat[i] = malloc(sizeof(int)*y[1]);
    }
    for(i = 0; i < y[0]; ++i) // Заполняем матрицу эллементами файла
    {
        for(j = 0; j < y[1]; ++j)
        {
            x = getc(f);
 
            if(x == ' ' || x == '\t' || x == '\n')
            {
                --j;
 
                continue;
            }
            else if('0' <= x && x <= '1')
            {
                mat[i][j] = x - '0';
            }
        }
    }
    }
    return ;
}
Функция читает данные из файла и заносить их в матрицу. В файле текст типа: 4 5 1 0 1 0 0 1 1 1 1 1 0 1 1 1 1 0 0 0 1 0 где 4 - строки, 5 - столбцы. Динамически выделяю память для матрицы 4х5, потом заполняю ее элементами(пробелы и новые строки пропускаю) теперь хочу вернуть указатель на эту матрицу(указатель на массив указателей)но чет не понимаю, как, подскажите, добрые люди.

Решение задачи: «Вернуть указатель на массив указателей»

textual
Листинг программы
return mat;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.615 из 5
Похожие ответы