28.05.2017, 16:31 | #1 (permalink) |
Новичок
Регистрация: 28.05.2017
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Удалить из списка элементы, которые больше 25 - C++
Удаление не работает. Подскажите пожалуйста в чем ошибка. Код:
#include<iostream> #include<stdio.h> #include<stdlib.h> using namespace std; struct L { int value; L* nextItem; L* prevItem; }; void printList(L* List) { L *currentItem=List; while(currentItem) { cout<<("%f\n", currentItem->value)<<" "; currentItem=currentItem->nextItem; }; } L* createList(int size) { int elem; L* List=new L; L* currentItem=List; L* prev; cout<<"Vvedite element: "<<endl; cin>>elem; List=new L; List->value=elem; List->nextItem=NULL; currentItem=List; for(int num=2;num<=size;num++) { cin>>elem; prev=currentItem; currentItem=new L; currentItem->value=elem; currentItem->nextItem=NULL; prev->nextItem=currentItem; }; return List; } L* Average(L *first, int n) { struct L *currentItem; currentItem=first; float s=0; int i=0; while(currentItem!=NULL) { if(currentItem->value<=15) { s=s+currentItem->value; i++; } currentItem=currentItem->nextItem; } if(i>0) s=s/i; printf("%1.2f",s); printf("\n"); return first; } void Delete(L* first) { L*Del=first; while(Del) { first=first->nextItem; delete Del; Del=first; } } L* Killer(L *first, int n) { L *currentItem=first; for(int i=n; i>0; i--) { if(currentItem->value>25) { delete currentItem; } return first; } } int _tmain(int argc, _TCHAR* argv[]) { L *first=0; int n; printf("Vvedite kolichestvo elementov: "); scanf("%d",&n); printf(": "); first=createList(n); printf(" "); printList(first); printf("\n"); printf("Srednie znachenie: "); Average(first, n); Killer(first,n); printList(first); system("pause"); delete(first); return 0; } |
28.05.2017, 16:31 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Пожалуйста, посмотрите схожие по содержанию темы Удалить повторы слов из списка Все ли элементы списка comboBox различны, Delphi |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|