Записать числа файла в массив - C (СИ)

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

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

Привет всем! Есть текстовый файл, в котором строчки такого вот формата
Листинг программы
  1. ***
  2. {49,183,46,189,165,27,27,96,130}
  3. ***
как разобрать его таким образом, чтобы в 9 переменных записались последовательно числа? т.е. есть
Листинг программы
  1. int a1, a2, a3, a4, a5, a6, a7, a8, a9
и в них должны быть цифры строки из файла (если исходить из приведённой выше строки, то a1 = 49, a2 = 183, a3 = 46 и т.д. общий алгоритм такой
Листинг программы
  1. открываю файл
  2.  
  3. цикл (пока не закончится файл)
  4. читаю строчку
  5. выписываю из неё зачения для a1-a9
  6. что-то делаю с этими значениями
  7. конец цикла
P.S. Чисел в каждой строчке всегда 9 как это сделать?

Решение задачи: «Записать числа файла в массив»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. int main(void)
  4. {
  5.   char str[] = "{49,148,123,197,181,27,27,96,130},";
  6.  
  7.   int a1 = 0;
  8.   int a2 = 0;
  9.   int a3 = 0;
  10.   int a4 = 0;
  11.   int a5 = 0;
  12.   int a6 = 0;
  13.   int a7 = 0;
  14.   int a8 = 0;
  15.   int a9 = 0;
  16.  
  17.   printf("String: %s\n", str);
  18.  
  19.   sscanf(str, "%*c%d %*c%d %*c%d %*c%d %*c%d %*c%d %*c%d %*c%d %*c%d",
  20.       &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9);
  21.  
  22.   printf("%d %d %d %d %d %d %d %d %d\n",
  23.       a1, a2, a3, a4, a5, a6, a7, a8, a9);
  24.  
  25.   return 0;
  26. }

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

В этом коде программа считывает строку, представленную в формате {49,148,123,197,181,27,27,96,130}, и сохраняет числа в массив. Вот список действий, которые выполняет код:

  1. Включает стандартную библиотеку ввода-вывода (stdio.h).
  2. Определяет точку входа в программу как main().
  3. Объявляет массив символов str[] со значением {49,148,123,197,181,27,27,96,130}, который представляет собой строку.
  4. Объявляет девять переменных типа int (a1, a2, a3, a4, a5, a6, a7, a8, a9) для хранения чисел из строки.
  5. Выводит строку на экран с помощью функции printf().
  6. Использует функцию sscanf() для считывания чисел из строки в переменные a1, a2, a3, a4, a5, a6, a7, a8, a9.
  7. Выводит значения переменных a1, a2, a3, a4, a5, a6, a7, a8, a9 на экран с помощью функции printf().
  8. Завершает программу и возвращает 0.

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


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

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

14   голосов , оценка 4.071 из 5

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

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

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