Forum www.polcz.fora.pl
pcz
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

22.03 Laborki

 
Napisz nowy temat   Odpowiedz do tematu    Forum www.polcz.fora.pl Strona Główna -> Paradygmaty programowania
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
damian.zaskorski




Dołączył: 15 Paź 2008
Posty: 122
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5

PostWysłany: Pon 21:49, 23 Mar 2009    Temat postu: 22.03 Laborki

Ma ktos to zadanko zrobione, badz tez prawie zrobione? Najlepiej jak ktos pamieta/ma zapisana tresc. Bo nawet nie mam sie czego uchwycic zeby to zaczasc rozkminiac przez kolejne dwa tygodnie.

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Peter
Administrator



Dołączył: 17 Paź 2008
Posty: 543
Przeczytał: 0 tematów

Pomógł: 2 razy
Ostrzeżeń: 0/5
Skąd: Exe

PostWysłany: Wto 11:43, 24 Mar 2009    Temat postu:

[link widoczny dla zalogowanych]

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Tomek.Korgól




Dołączył: 25 Lut 2009
Posty: 135
Przeczytał: 0 tematów

Pomógł: 2 razy
Ostrzeżeń: 0/5

PostWysłany: Śro 0:39, 01 Kwi 2009    Temat postu:

Piotr Pluta napisał:
http://kik.pcz.pl/pliki.php?IDo=1&IDp=53


Z tego co pod tym linkiem to ja za bardzo, a szczerze to nic nie kminie.
Napisał to ktoś w jakiś prostszy sposób(najlepiej w c++ bo z c to ja nie miałem za dużej styczności).
Jeśli ktos coś ma niech wrzuci, bo ja tych list to nie kumam.


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Peter
Administrator



Dołączył: 17 Paź 2008
Posty: 543
Przeczytał: 0 tematów

Pomógł: 2 razy
Ostrzeżeń: 0/5
Skąd: Exe

PostWysłany: Śro 8:12, 01 Kwi 2009    Temat postu:

No fakt ... List tam nie ma Sad dopiero wczoraj zacząłem tam grzebać Smile) Gościu powiedział że da na swojej stronce to więc podałem tego linka ale widać coś mu się nie chciało lub zapomniał Very Happy więc dziś/jutro powinienem to zrobić Smile)) Pozdro jak co to dommmmm wommmm


Zadanie na listach...... Tworzenie listy, dodawanie następnego elementu do listy, usuwanie wybranego elementu z listy, usuwanie wszystkich elementów z listy. LISTA jedno kierunkowa - dwukierunkowej to już mi się nie chce kombinować(ale to z 15minut roboty)

Kod:
#include <iostream>
#include <fstream>
#include <conio.h>
#include <string>

using namespace std;

struct element{
       int dane;
       element* wsk;
       };

void pokaz(element* pierwszy){
 int i=1;
 while (!(pierwszy==NULL)){
  cout <<i<<". Dane: "<< pierwszy->dane << endl;
  pierwszy=pierwszy->wsk;
  i+=i;             
 }             
}
void dodaj(element* &pierwszy, element* &bierzacy, element* nowy){
 if (pierwszy==NULL) {
  pierwszy=nowy;
  nowy->wsk=NULL;
  }else{
   if (bierzacy==NULL){
   nowy->wsk=pierwszy->wsk;
   pierwszy->wsk=nowy;
   }else{
    nowy->wsk=bierzacy->wsk;
    bierzacy->wsk=nowy;
   }
  }     
 bierzacy=nowy;   
}
void usun(element* &pierwszy, int numer){
 element *pomoc, *pomoc2;
 pomoc=pierwszy;
 if (pierwszy->wsk==NULL){
  delete pierwszy;
  pierwszy=0;
 }else{
  if (numer==1){
   delete pierwszy;
   pierwszy=pomoc->wsk; 
  }else{     
   for (int i=1; i<numer-1;++i){
    pomoc=pomoc->wsk;         
   }
   pomoc2=pomoc->wsk;
   if (pomoc2->wsk==NULL)pomoc->wsk=NULL; else pomoc->wsk=pomoc2->wsk; 
   delete pomoc2;
   pomoc2=0;
  }
 }     
}
void usun(element* &pierwszy){
 if (pierwszy!=NULL){
  usun(pierwszy->wsk);
  delete pierwszy;
  pierwszy=0;
 } 
}

int main (void){
 string znak="";
 int menu, dane, ii;
 element* pierwszy=NULL;
 element* bierzacy=NULL;
 while (!((znak[0]=='T') or (znak[0]=='t'))){
  cout << "1. Wyswietl wszystkie dane z listy.\n2. Dodaj nowe dane.\n3. Usun wybrany elemet.\n4. Usun wszystkie elemety\n";     
   cin >> menu;
   element* nowy;
   switch (menu){     
    case 1:
     pokaz(pierwszy);     
    break;
    case 2:   
     cout << "Podaj dane: ";
     cin >> dane;
     nowy = new element;
     nowy->dane=dane;
     nowy->wsk=NULL;
     dodaj(pierwszy,bierzacy,nowy);   
    break;
    case 3:
     cout << "Podaj numer do usuniecia: ";
     cin >> ii;
     usun(pierwszy, ii); 
     cout << "pomyslnie usunieto: " << ii << " rekord." << endl;       
    break;
    case 4:         
     usun(pierwszy);
     cout << "pomyslnie usunieto cala baze."<<endl;
    break;
    default:
      cout << "Nie wybrales/as zandej opcji z menu."<<endl;           
    break;       
   }
  cout << "Czy chcesz wyjsc z programu (T/N)" <<endl;
  cin >> znak;   
 }   
 getch();   
 return 0;   
}


Założenia: Dane są typem Całkowitym liczbowym, wybór z menu też podajemy liczby całkowite liczbowe(bo inaczej program się wywali a dla czystości kodu nie implementowałem takich zabezpieczeń bo znowu wyjdzie z 200linijek kodu jak bym chciał wszystko zabezpieczyć Very Happy)
Aha nie ma zabezpieczenia jak będziemy chcieli usunąć np. 20 element z np. 10 elementowej listy !! Smile

Pozdro Very Happy Jak będzie mi się chciało to i drzewa dokończę Smile)





-------------------------
DRZEWA !!!!


Cytat:

[link widoczny dla zalogowanych]


Post został pochwalony 0 razy

Ostatnio zmieniony przez Peter dnia Czw 9:30, 02 Kwi 2009, w całości zmieniany 4 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum www.polcz.fora.pl Strona Główna -> Paradygmaty programowania Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2002 phpBB Group
Regulamin