Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Zasady

[C++] Czy to jest dobrze?



 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> C i C++
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
gosc
Gość





PostWysłany: Wto Kwi 14, 2009 6:29 pm  OP    Temat postu: [C++] Czy to jest dobrze? Odpowiedz z cytatem Pisownia

heyka zaczynam programowanie i mam pytanko...
czy ta alokacja jest dobrze?

Kod:
#include<iostream.h>

main(){
       int k=0;
       int **wk;
       wk = new int *[10];
       for(int i=0;i<10;i++){
               wk[i]=new int [10];
               }
       for(int i=0;i<10;i++){
               for(int j=0;j<10;j++){
                    wk[i][j]=k;
                    k++;  
                       }
                  }
              
       for(int i=0;i<10;i++)
       delete [] wk[i];
       delete [] wk;
      
        system("PAUSE");
       }


z doswiadczenia(2 tygodniowe :))zauwazylem, ze przy spie... zlej alokcji program wywalic sie moze przy 101 razie i to w najmniej odpowiednim momencie, wiec czy tu mi cos takiego grozi?
Powrót do góry
hobson



Dołączył: 13 Sie 2007
Posty: 439
Skąd: Trójmiasto

PostWysłany: Wto Kwi 14, 2009 6:43 pm      Temat postu: Odpowiedz z cytatem Pisownia

O ile sam sposób alokacji tablic jest poprawny (NIE jest dobry, ale nie powinien powodowa? b??dów), to niemal wszystko inne w tym po?cie jet z?e...

1. brak formatowania kodu! Zapomnia?e? o znacznikach [code][/code]
2. Przestarza?y plik nag?ówkowy iostream.h zamiast nowego iostream!
3. Zapomnia?e? napisa?, ?e funkcja main zwraca warto?? typu int.
4. system("PAUSE") - niepotrzebne, zb?dne, niepoprawane, i nie zawsze dzia?a.
5. Lepsze w C++ b?dzie u?ycie kontenerów. Je?li nie mo?esz u?ywa? kontenerów, to lepszym rozwi?zaniem powinno by? zaalokowanie jednego, ci?g?ego obszaru pami?ci, i przypisanie wska?ników wskazuj?cych na wiersze macierzy do jego fragmentów.

Pozdrawiam
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Numer GG
gosc
Gość





PostWysłany: Sro Kwi 15, 2009 9:26 am      Temat postu: Odpowiedz z cytatem Pisownia

hmm dzieki, info :) nie wiedzialem iostream.h i iostream to 2 rozne biblioteki, co do system("PAUSE") to czego uzyc zamiast tego, zeby sie program na chwile zwiesi??? getch()? o maine faktycznie zapomia?em o paru rzeczach ale pisalem to szybko i kod mial tylko pokazac metode alokcji, wiec w fomatowanie kodu tez sie nie bawilem(tym bardziej, ze nie wiele o tym wiem i bede musial sobie poczytac znaczniki [code] pierwsze s?ysze... coz czlowiek uczy sie cale zycie :D ); a co do alokacji to mowisz, ze lepiej jak co jeden ciag?y obszar zaalokowac(pomijam kontenery, bo jestem poczatkujacy i na to przyjdzie czas) i wskazniki przypisac(zanczy, jak to zrobic? 10 tablic po 10 elemetow kazda..? a co za tym idzie 10 niepowi?zanych wsk?, czy cos takiego jak new int [10][10]?)
Powrót do góry
hobson



Dołączył: 13 Sie 2007
Posty: 439
Skąd: Trójmiasto

PostWysłany: Sro Kwi 15, 2009 11:01 am      Temat postu: Odpowiedz z cytatem Pisownia

O tablicach dwuwymiarowych: http://www.coderscity.net/sutra130831.html#130831
O znaczniku [code]: http://www.coderscity.net/faq.php?mode=bbcode#5
O 'zawieszaniu' programu przed zamkni?ciem: http://www.coderscity.net/sutra126304.html#126304


Wszelkie komentarze na temat posta o macierzach i tablicach dwuwymiarowych mile widziane.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Numer GG
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> C i C++ Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
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
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.21276 sekund, zapytan = 12
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |