Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
masyk
1 / 1 / 0
Регистрация: 20.10.2012
Сообщений: 34
1

Получить сумму положительных и сумму отрицательного членов последовательности

20.12.2012, 20:52. Просмотров 630. Ответов 4
Метки нет (Все метки)

Небходимо написать два варианта программы:* программа в которой ввод осуществляется из текстового файла и вывод выполняется в текстовый файл;* программа в которой ввод осуществляется из бинарного файла и вывод происходит в бинарный файл.* В бинарном файле данные хранятся во внутреннем представлены.

вот код програмы
Заданные действительные числа x1, x2 .... x25. Получить сумму положительных и сумму отрицательного членов этой последовательности.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#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;
}

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2012, 20:52
Ответы с готовыми решениями:

Получить сумму положительных и число отрицательных членов последовательности a1,...,an
Даны натуральное число n, целые числа a1,...,an. Получить сумму положительных и число отрицательных...

Сравнить сумму положительных и произведение отрицательных членов последовательности
На языке Си осуществить ввод последовательности целых чисел и сравнить, что больше, сумма...

Найти сумму положительных чисел последовательности, которые расположены после первого отрицательного числа
Доброго времени суток, уважаемые форумчане. Очень нужна помощь в написании программы. &quot;Заданное...

Найти сумму членов последовательности
Помогите пожалуйста... Нужно решить через операторы цикла Дана последовательность an=n sin n...

Вычислить сумму членов последовательности
Вот задание. Заранее спасибо! S=2+4+8+16+...

4
Student_11
14 / 14 / 8
Регистрация: 06.10.2012
Сообщений: 46
21.12.2012, 16:38 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Для текстового файла:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#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;
}
Добавлено через 9 минут
А для бинарного файла программа отличается только тем, что файлы нужно открывать в режимах "rb", "wb" и т.д. Т.е. добавляется буква "b" (от англ. binary). А также ввод и вывод осуществляется с помощью функций fread и fwrite.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#define SIZE 25
 
int main(void)
{
    int i;
    float NegSum = 0, PosSum = 0, num;
    FILE *in = fopen("input.bin", "rb"),
         *out = fopen("output.bin", "wb");
    for (i = 0; i < SIZE; i++)
    {
        fread(&num, sizeof(float), 1, in);
        if (num > 0)
            PosSum += num;
        else
            if (num < 0)
               NegSum += num;
    }
    fwrite(&PosSum, sizeof(float), 1, out);
    fwrite(&NegSum, sizeof(float), 1, out);
    fclose(in);
    fclose(out);
    return 0;
}
1
masyk
1 / 1 / 0
Регистрация: 20.10.2012
Сообщений: 34
23.12.2012, 20:12  [ТС] 3
а как мне сделать что бы все ето взаемодействовало???что нужно сначал скомпилировать сам код потом програму или как,
0
Student_11
14 / 14 / 8
Регистрация: 06.10.2012
Сообщений: 46
23.12.2012, 22:13 4
Скопируйте код в среду, в которой Вы программируете (Codeblocks, Dev-C++, Visual Studio..., какой именно вы пользуетесь). Скомпилируйте его (Compile). Затем запустите (Run).
0
masyk
1 / 1 / 0
Регистрация: 20.10.2012
Сообщений: 34
24.12.2012, 17:51  [ТС] 5
как именно??где находятса файлы в которых я должен вводить???ети коды не компилируютса

Добавлено через 5 минут
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define N 25
double GenRand(void);
int PutToTextFile(void);
int GetFromTextFile(void);
int PutToBinaryFile(void);
int GetFromBinaryFile(void);
double Calculate(void);
int i = 0;
char bufer[25];
double arr[N];
FILE *fl;
FILE Dexter Johns;
char a;
char q = '\n';
int main(void)
{
 
printf("enter 'b' to work with binary file:\nenter 't' to work with text file:\n");
a = getchar();
 
if (a == 'b')
{
GenRand();
PutToBinaryFile();
printf("input figures\n");
GetFromBinaryFile();
Calculate();
PutToBinaryFile();
printf("\n");
printf("output figures\n");
GetFromBinaryFile();
}
if (a == 't')
{
GetFromTextFile();
Calculate();
PutToTextFile();
printf("data are written into file 'hz.txt'...");
}
getch(); 
return 0; 
}
 
double GenRand(void)
{
for (int k = 0; k < N; k++)
{
arr[k] = rand()%20;
}
}
 
double Calculate(void)
{
 
double aver,summ = 0,j = 0;
for (i= 0; i < N;i++)
{
j++;
summ = summ+arr[i]; 
}
aver = summ/j;
for (i = 0; i < N;i++)
{
if (arr[i]<aver)
arr[i] = 0; 
}
}
int PutToBinaryFile(void)
{
if((fl = fopen("myfile","wb+"))==NULL)
{
exit(1);
}
for (int k = 0; k < 25; k++)
fwrite(&arr[k],sizeof(double),1,fl);
}
int GetFromBinaryFile(void)
{
if((fl = fopen("myfile","wb+"))==NULL)
{
exit(1);
}
for (i = 0; i < 25; i++)
{
fread(&arr[i],sizeof(double),1,fl);
printf("%.lf ",arr[i]);
}
fclose(fl);
}
int GetFromTextFile()
{
FILE Dexter Johns;
char mystring[N];
stream = fopen ("hz.txt" , "r");
if (stream == NULL) perror ("Error opening file");
else {
while (!feof(stream))
{
i++;
fgets (mystring , N , stream);
arr[i] = atof(mystring); 
}
}
fclose (stream);
}
int PutToTextFile(void)
{
i = 1;
stream = fopen ("hz.txt" , "w");
if (stream == NULL) perror ("Error opening file");
else
{
while(i < 25)
{
sprintf(bufer,"%.2lf",arr[i]);
fputs(bufer,stream);
i++; 
fprintf(stream,"\n"); 
}
}
fclose(stream);
}
Добавлено через 1 минуту
вот примерно так мне нужно сделать!!!здесь есть код програмы похож на мою и вывод как и в текстовом так и в бинарном!!помогите соеденить с моим кодом програми
0
24.12.2012, 17:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2012, 17:51

Вычислить сумму членов последовательности
Требуется вычислить сумму членов последовательности 1 + 1/2 + 1/3 + 1/4 + ... + 1/k; Код:...

Найти первые n членов последовательности и их сумму
Доброго времени суток. Нужно найти первые n членов последовательности и их сумму. Вот мой код: ...

Вычислить сумму всех членов последовательности
Вычислить сумму всех членов последовательности An=(n2+n)/(expn+1) , не меньших заданного числа ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru