N натуральных чисел являются элементами двунаправленного списка L. Вычислить Алгоритм: - Вводим натуральные числа в список используя EOF #include <stdio.h> #include <stdlib.h> #include <conio.h> int v, S; struct List { //объявляем структуру int data; List *next; List *prev; }*head, *tail, *p, *p1; void add_new_List(int v) { //создаем функцию для создания двунаправленного списка if (head==NULL ) { head=new List; head->data=v; head->prev=NULL; head->next=NULL; tail=head; }else{ p=new List; p->data=v; p->next=NULL; p->prev=tail; tail->next=p; tail=p; } } int main(){ head=NULL; tail=NULL; S=1; printf("input random numbers\n"); while (scanf("%d",&v)!=EOF) //вводим значения, чтобы прекратить ввод нажимаем ctrl+z add_new_List(v); p=head; p1=tail; //ставим первую (p) метку на начало, а вторую (р1) на конец списка while(p!=NULL) { // используя цикл считаем необходимую сумму и заносим в переменную S S=(p->data+p1->data)*S; p=p->next; p1=p1->prev; } printf(" %d ", S); //выводим результат getch(); return 0; }
Ключевые слова:
Списки, создание новых списков
|
|||||||