Премини към съдържанието
martin0819

C++ - Някой ако може да ми каже къде са ми грешките в този код

Препоръчан отговор


Някой ако може да ми каже къде са ми грешките в този код? 

#include <iostream>
using namespace std;

struct Item {
    int info;
    Item *next;
};

typedef Item* Point;
Point Head;

void Create(Point &Head){
Point    Last, P; Last=NULL;
char    ch;

cout<<" Нов елемент (Y/N) ?:";
cin >> ch;
while (ch == 'Y' || ch == 'y') {
P = new Item;
cin >> P->info;
P->next=NULL;    
if (Head == NULL)     Head = P;
    else    Last->next = P;
Last = P;
cout<<" Нов елемент (Y/N) ?:";
cin >> ch;
}    // while
}    //Create

void main() {    
Point Head=NULL;     
Create(Head);
return;
}

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

else    Last->next = P;

Last не сочи нищо, трябва в този бранч да намериш последният елемент и тогава на него Last->next = P, това изглежда linkedList, ако го направиш DoubleLinkedList може да пазиш first и last https://en.wikipedia.org/wiki/Doubly_linked_list

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Общо взето освен че main() е от тип int, няма други грешки, ама така като не извеждаш списъка не си личи какво изобщо прави програмата.

#include <iostream>
using namespace std;

struct Item {
    int info;
    Item *next;
};

typedef Item* Point;
Point Head;

void Create(Point &Head)
{
   Point    Last, P; Last=NULL;
   char    ch;

   do 
   {
       P = new Item;
       cout<<"info = ";
       cin >> P->info;
       P->next=NULL;    
       if (Head == NULL)  Head = P;
       else    Last->next = P;
       Last = P;
       cout<<"New Element (Y/N) ?:";
       cin >> ch;
   } while (ch == 'Y' || ch == 'y');
}    //Create

int  main() 
{    
    Point p,Head=NULL;     
    Create(Head);
    p=Head;
    while(p) 
    {
        cout<<p->info<<"  "; 
        p=p->next;
    }
    return 0;
}

 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

За да ди покаже някой грешката, то трябва да се види заданието.... а не твоето решение на същото....

Успех!

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.