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

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

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

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

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

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

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

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

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


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

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

9   голосов , оценка 4.111 из 5

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

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

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы