Двумерному массиву присвоить одномерный - C (СИ)

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

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

Здравствуйте! По ходу считывания из файла строка помещается в одномерный массив buffer[45]:
while (!feof(file))                 
        {  
            
            fgets (buffer, 45, file);
            printf("%s", buffer);
        }
Все работает верно, но мне необходимо сделать так, чтобы после чтения к тексту можно было обращаться, как к двумерному массиву. Например текст:
1234
Once I caught a fish alive
45678910
Then I let it go again
11121331
Где к символу О второй строки можно обращаться как ch[1][0], к примеру. Пробовал делать что-то вроде ch[i][j] = buffer[j]; i++; но, не смотря на проверку на "\n" все равно получаю лишние символы и кашу в конце. Спасибо.

Решение задачи: «Двумерному массиву присвоить одномерный»

textual
Листинг программы
char buffer[5][100];
for(int i=0;i<5;i++)
{  
     fgets (buffer[i], 99, file);
     puts(buffer[i]);
 }
char a10=buffer[1][0];

Объяснение кода листинга программы

  1. Объявляется двумерный массив buffer размером 5х100.
  2. В цикле запрашивается строка из файла в каждую строку массива buffer.
  3. Выводится на экран содержимое каждой строки массива buffer.
  4. Переменной a10 присваивается значение первого символа второй строки массива buffer.

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


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

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

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