Первую строку файла записать в переменную, вторую - в массив - 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++; }
Объяснение кода листинга программы
- Объявлены переменные: N, i, a[100], b[100], str[250].
- Первая строка файла считывается в переменную N с помощью функции fscanf.
- Вторая строка файла считывается в переменную str с помощью функции fgets.
- Третья строка файла считывается в переменную str с помощью функции fgets.
- Четвертая строка файла считывается в переменную str с помощью функции fgets.
- Переменная i инициализируется нулем.
- Пятая строка файла считывается в переменную str.
- С помощью цикла while и функции sscanf строка str разбирается на массив a.
- Шестая строка файла считывается в переменную str.
- С помощью цикла while и функции sscanf строка str разбирается на массив b.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д