Найти произведение ряда при помощи двунаправленного списка - C (СИ)
Формулировка задачи:
Здрасте,прошу подкорректировать решение,не могу понять почему не выводится результат,по возможности прошу описать в чем была ошибка:
даны действительные числа х1,х2,..,хN(N>=2 и заранее неизвестно)вычислить: x1*xN+x2*x(N-1)+...+xN*x1,решить необходимо решить при помощи двунаправленного списка.данные должны извлекаться из файла.
вот шо у мя получилось:
#include<stdio.h> struct sps {float elem; sps *next,*pred; }; sps *vvod(FILE *fp) { sps *l=NULL; sps *r=NULL; l=new sps; l->next=NULL; l->pred=NULL; r=l; while (r->elem='\n'); {r->next=new sps; r->next->next=NULL; r->next->pred=r; fscanf_s(fp, "%c",&(r->next->elem)); r->next=NULL;} return l; }; float rewenie(sps *l,sps *r,float sum,int i,int k) { while(r->next->next!=l->next) {r=r->next; i=i+1;} for(;k<i;k++) { sum=sum+l->next->elem*r->next->pred->elem; l->next->elem=l->next->next->elem; r->next->pred->elem=r->next->pred->pred->elem; } return sum; } void main() { sps *l=NULL,*r=NULL; FILE *fp; float sum=0; int i=0,k=0; fp=fopen("proba.txt","r"); if(fp) {r=vvod(fp); sum=rewenie(l,r,sum,i,k); fclose(fp); printf("%f",sum); }else printf("net");}
Решение задачи: «Найти произведение ряда при помощи двунаправленного списка»
textual
Листинг программы
while (r->elem='\n')
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д