Первую строку файла записать в переменную, вторую - в массив - C (СИ)

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

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

Всем доброй ночи! Помогите пожалуйста с написанием этой программки...
В файле есть три строчки. Допустим такие (вторая и третья строчка могут быть произвольной длины с произвольным количеством пробелов между числами) 15 0 0.75 0.38 1.15 0 2 17 28 и есть два массива a[] и b[] и переменная N. Надо первую строчку закинуть в переменную N, вторую - в массив a[], а третью - в массив b[].
дело в том, что массивы надо делать динамическими, а как я узнаю, под сколько элементов мне выделять, если я не знаю, сколько может быть чисел в строке? их там же может быть произвольное количество.. помогите пожалуйста...

Решение задачи: «Первую строку файла записать в переменную, вторую - в массив»

textual
Листинг программы
int N,i;
double a[100],b[100];
char str[250];
fscanf(file,"%d",&N);
fgets(str,250,file); // дочитать 1 строку до конца
fgets(str,250,file);
i=0;
while( sscanf(str,"%lf",&a[i])!=0 && i<100)
{
      i++;
}
fgets(str,250,file);
i=0;
while( sscanf(str,"%lf",&b[i])!=0 && i<100)
{
      i++;
}

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

  1. Объявлены переменные: N, i, a[100], b[100], str[250].
  2. Первая строка файла считывается в переменную N с помощью функции fscanf.
  3. Вторая строка файла считывается в переменную str с помощью функции fgets.
  4. Третья строка файла считывается в переменную str с помощью функции fgets.
  5. Четвертая строка файла считывается в переменную str с помощью функции fgets.
  6. Переменная i инициализируется нулем.
  7. Пятая строка файла считывается в переменную str.
  8. С помощью цикла while и функции sscanf строка str разбирается на массив a.
  9. Шестая строка файла считывается в переменную str.
  10. С помощью цикла while и функции sscanf строка str разбирается на массив b.

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


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

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

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