Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

tworzenie i wypełnienie listy dwuwymiarowej (lista list)

Ostatnio zmodyfikowano 2015-03-24 18:15
Autor Wiadomość
marta.rydel
Temat założony przez niniejszego użytkownika
tworzenie i wypełnienie listy dwuwymiarowej (lista list)
» 2015-03-24 00:36:54
Witam.
Mam ogromny problem ze stworzeniem dwuwymiarowej listy (listy list)
Oto mój kod:
C/C++
#include <iostream>
using namespace std;
struct list
{
    int value; //w pobocznej liscie
    list * next;
};
struct mainlist
{
    list side_list;
    mainlist * next;
};
void wczytaj( mainlist *& g )
{ int rozmiar;
    cin >> rozmiar;
    int a;
    mainlist * aktualna;
    aktualna = new mainlist;
    for( int i = 0; i < rozmiar; i++ )
    {
        if( g == 0 )
        { g = new mainlist;
            g->next = 0;
            aktualna = g;
        }
        else
        {
            aktualna->next = new mainlist;
            aktualna = aktualna->next;
            aktualna->next = 0;
        }
        for( int j = 0; j < rozmiar; j++ )
        { cin >> a;
            if( g == 0 )
            { g->side_list = new list;
                g->side_list.next = 0;
                aktualna->side_list = g->side_list;
            }
            else
            {
                aktualna->side_list.next = new list;
                aktualna->side_list = aktualna->side_list.next;
                aktualna->side_list.next = 0;
            }
        }
        int main()
        {
            return 0;
        }
Wywala mi błąd nieprawidłowego operatora w tych fragmentach:
C/C++
g->side_list = new list;
aktualna->side_list = aktualna->side_list.next;

Uprzejmie proszę o pomoc!
P-129017
Brunon3
» 2015-03-24 09:20:53
Wstaw kod na forum (nie zapominając o znacznikach).

-BD.

Napisałem "nie zapominając o znacznikach". Daj kod w [cpp] kod [/cpp].

EDIT:

Ok, już poprawiłaś.

Co rozumiesz przez "błąd nieprawidłowego operatora"? Podaj log kompilacji.
P-129022
marta.rydel
Temat założony przez niniejszego użytkownika
» 2015-03-24 17:27:19
wywala mi to:
C:\Qt\Qt5.0.2\Tools\QtCreator\bin\listax10000\main.cpp:47: błąd:no match for 'operator=' in 'g->mainlist::side_list = (list*)operator new(8u)'

w 47 i 54 linijce.

Jednak nie mam pojęcia jaki inny operator byłby w tym miejscu odpowiedni.

Przez to nie chce się kompilować. Nie jestem pewna w ogóle poprawności tego programu, gdyż jest to pierwsza lista list jaką próbuję stworzyć
P-129054
Fireho
» 2015-03-24 17:49:35
sidelist
 to lista(obiekt), a
new
 zwraca wskaźnik(wskaźnik na obiekt). Próbujesz do pola o typie
list
 przypisać
list *
.
P-129057
marta.rydel
Temat założony przez niniejszego użytkownika
» 2015-03-24 18:15:21
w takim razie jak to powinno wyglądać ?
P-129064
« 1 »
  Strona 1 z 1