Получить сумму положительных и сумму отрицательного членов последовательности - C (СИ)
Формулировка задачи:
Небходимо написать два варианта программы:* программа в которой ввод осуществляется из текстового файла и вывод выполняется в текстовый файл;* программа в которой ввод осуществляется из бинарного файла и вывод происходит в бинарный файл.* В бинарном файле данные хранятся во внутреннем представлены.
вот код програмы
Заданные действительные числа x1, x2 .... x25. Получить сумму положительных и сумму отрицательного членов этой последовательности.
#include <stdio.h>
//#include<conio.h>
#define N 25
int main(void)
{
int x, sumd=0 , sumv=0 , i, j[N];
int negativ = 0;
//clrscr();
printf("Enter N\n");
for (i=0; i<N; i++) {
scanf("%d", &x);
if (x>=0) {
j[i] = 0;
sumd+=x;
}
else {
sumv+=x;
}
}
printf("Suma Dodatnih = %d\n", sumd);
printf("Suma Vidyemnuh = %d\n", sumv);
return 0;
}Решение задачи: «Получить сумму положительных и сумму отрицательного членов последовательности»
textual
Листинг программы
#include <stdio.h>
#define SIZE 25
int main(void)
{
int i;
float NegSum = 0, PosSum = 0, num;
FILE *in = fopen("input.txt", "r"),
*out = fopen("output.txt", "w");
for (i = 0; i < SIZE; i++)
{
fscanf(in, "%f", &num);
if (num > 0)
PosSum += num;
else
if (num < 0)
NegSum += num;
}
fprintf(out, "%f %f", PosSum, NegSum);
fclose(in);
fclose(out);
return 0;
}
Объяснение кода листинга программы
В этом коде:
- #include
- это включает в себя файл стандартных библиотек, необходимых для работы с функциями ввода-вывода в C. - #define SIZE 25 - это определяет размер массива или последовательности чисел, которые будут обрабатываться в программе.
- int main(void) - это функция, которая запускает программу.
- int i; - это переменная, которая используется в цикле для подсчета количества чисел в последовательности.
- float NegSum = 0, PosSum = 0, num; - это объявляет три переменные: две для хранения суммы положительных и отрицательных чисел (PosSum и NegSum), и одну для хранения текущего числа (num).
- *FILE in = fopen(
input.txt,r),** - это открывает файл с данными для чтения. - *FILE out = fopen(
output.txt,w)** - это открывает файл для записи результатов. - for (i = 0; i < SIZE; i++) - это цикл, который проходит по каждому числу в последовательности.
- fscanf(in,
%f, &num); - это считывает текущее число из файла и сохраняет его в переменной num. - if (num > 0) - это проверяет, является ли число положительным.
- PosSum += num; - это добавляет положительное число к общей сумме положительных чисел.
- else - это иначе, если число отрицательное.
- if (num < 0) - это проверяет, является ли число отрицательным.
- NegSum += num; - это добавляет отрицательное число к общей сумме отрицательных чисел.
- fprintf(out,
%f %f, PosSum, NegSum); - это записывает суммы положительных и отрицательных чисел в файл. - fclose(in); - это закрывает файл с данными.
- fclose(out); - это закрывает файл с результатами.
- return 0; - это завершает программу.
В результате, программа считывает числа из файла
input.txt, подсчитывает сумму положительных и отрицательных чисел, и записывает результаты в файлoutput.txt.