По заданным числам a1, ... an вычислить: a1a1, a1a2, a1a3, ... , a1an - C (СИ)
Формулировка задачи:
Даны натуральное число n, действительные числа a1,...,an. Вычислить: a1a1, a1a2, a1a3,...,a1an; Помогите пожалуйста! Буду благодарен!!!
Мне хотя бы понять суть
если кому не сложно помочь с меню, которое выбирает с консоли ли числа так считать или с файла
Решение задачи: «По заданным числам a1, ... an вычислить: a1a1, a1a2, a1a3, ... , a1an»
textual
Листинг программы
void get_from_file(void) { /* Вводим полный пусть к файлу с числами */ char filename[50]; /* Имя файла для п.1 */ FILE * F; float temp; float first; printf("\nGet full path to file: "); scanf("%s", filename); F = fopen(filename, "r"); /* Открываем файл */ n=0; printf("\nInput:\n"); /* Выводим исходные числа */ while (fscanf(F, "%f", &temp)==1) { if (n==0) first=temp; printf("%.2f ", temp); n++; } fseek(F, 0, 0); printf("\nResult:\n"); /* Просто перечитываем ещё раз файл и выводим обработанные данные */ /* Необходимости динамически создавать массив нет */ while (fscanf(F, "%f", &temp)==1) { printf("%.2f ", temp*first); } printf("\n\n"); fclose(F); return; };
Объяснение кода листинга программы
- Вводится полный путь к файлу с числами.
- Создается переменная
F
для работы с файлом. - Создается переменная
first
для хранения первого числа. - Выводится запрос на ввод пути к файлу.
- С помощью функции
scanf
вводится путь к файлу и сохраняется в переменнойfilename
. - Открывается файл с помощью функции
fopen
. - Выводится сообщение
Input:
. - С помощью цикла
while
и функцииfscanf
считываются числа из файла и выводятся на экран. - Перемещается позиция файла в начало с помощью функции
fseek
. - Выводится сообщение
Result:
. - С помощью цикла
while
и функцииfscanf
считываются числа из файла и вычисляются произведения с первым числом, затем выводятся на экран. - Файл закрывается с помощью функции
fclose
. - Функция
get_from_file
завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д