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

rysowanie dynamicznej struktury

Ostatnio zmodyfikowano 2017-02-23 12:01
Autor Wiadomość
kubanm3
Temat założony przez niniejszego użytkownika
rysowanie dynamicznej struktury
» 2017-02-22 18:16:31
Czesc,
mam zadanie do rozwiazania. Mam narysowac w paincie dynamiczna strukture tworzona przez kod podany nizej. Rysunek każdego z elementów ma zawierać wartość pola dane, a pole nast powinno być  połączone  strzałką  ze  wskazywanym  elementem.

C/C++
struct elem
{ char dane;
    struct elem * nast;
} * p, * q;

int main()
{
    int i = 0;
    p = new elem;
    p->nast = p;
    p->dane = i;
   
    for( i = 1; i <= 2; i++ )
    {
        q = new elem;
        q->dane = i;
        q->nast = p->nast;
        p->nast = q;
        p = q;
    }
}

Z gory dziekuje za pomoc.
P-158134
mateczek
» 2017-02-22 23:55:44
proszę bardzo.
https://zapodaj.net/images​/e14369080bc43.png

to jest jakieś nieskończone kółko, lub trójkąt kręcący się w nieskończoność !!! ktoś miał fantazję to tak zamotać :)
skompiluj se to :
C/C++
struct elem
{ char dane;
    struct elem * nast;
};
#include<iostream>
#include<windows.h>
using namespace std;

int main()
{
    elem * p, * q;
    int i = 0;
    p = new elem;
    p->nast = p;
    p->dane = i;
   
    for( i = 1; i <= 2; i++ )
    {
        q = new elem;
        q->dane = i;
        q->nast = p->nast;
        p->nast = q;
        p = q;
    }
   
   
    while( 1 ) {
        cout <<( int ) p->dane << " ";
        p = p->nast;
        Sleep( 500 );
       
    }
}
P-158144
carlosmay
» 2017-02-23 05:51:15
delete
?
P-158150
mateczek
» 2017-02-23 12:01:29
ja bym taką pętelkę zrobił tak.
C/C++
struct elem
{ char dane;
    struct elem * nast;
};
#include<iostream>
#include<windows.h>
using namespace std;

int main()
{
    elem * start, * glowa;
    start = new elem;
    start->dane = 0;
    glowa = start; // na początek to to samo
   
    for( int i = 1; i <= 4; i++ )
    {
        glowa->nast = new elem; // tworzenie elementu następnego
        glowa = glowa->nast; // ustawienie głowy na ostatni element
        glowa->dane = i; // przypisanie danych do ostatniego elementu
    }
    glowa->nast = start; // zapętlenie kółeczka
   
    // tu się kółko kończy
   
   
    // kilka obiegów po kółeczku
   
    int count = 12; // lie kółek ;
    while( count-- ) {
        cout <<( int ) start->dane << " ";
        start = start->nast;
        Sleep( 500 );
       
    }
   
   
    // i oczywiście program powinien posiadać delete :)
    for( int i = 0; i <= 4; i++ )
    {
        elem * temp = start->nast;
        delete start;
        start = temp;
    }
}
P-158157
« 1 »
  Strona 1 z 1