Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* В текстовом файле дана последовательность чисел. Написать подпрограмму, которая находит среднее арифметическое элементов однонаправленного списка. Используя эту подпрограмму, вычислить среднее арифметическое заданной последовательности. */
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct list
- {
- double data;
- struct list * next;
- };
- void scan(FILE * F, struct list * L)
- {
- struct list * k = L;
- double data;
- while (fscanf(F, "%lf", &data) != EOF && (k->next = (struct list*)malloc(sizeof(struct list))))
- {
- k->next->data = data;
- k = k->next;
- }
- k->next = NULL;
- }
- void print(struct list * L)
- {
- struct list * k = L;
- while (k->next)
- {
- k = k->next;
- printf("%lf\n", k->data);
- }
- }
- double func(struct list * L)
- {
- struct list *s = L;
- double res = 0;
- int am = 0;
- while (s->next)
- {
- s = s->next;
- res += s->data;
- am++;
- }
- return res /= am;
- }
- int main()
- {
- FILE * in = fopen("input.txt", "r");
- struct list *L = (struct list*)malloc(sizeof(struct list));
- scan(in, L);
- print(L);
- system("pause");
- system("cls");
- printf("%lf\n", func(L));
- system("pause");
- fclose(in);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement