Tablice dynamiczne
Ostatnio zmodyfikowano 2014-03-15 12:23
Midas Temat założony przez niniejszego użytkownika |
Tablice dynamiczne » 2014-03-12 21:01:01 Witam, chciałbym się poradzić jak w najszybszy sposób z kodu który jest z lekcji www.cpp0x.pl/kursy/Kurs-C++/Dynamiczne-zarzadzanie-pamiecia-new-i-delete/307, wypisywać co 2 element wpisanego kodu ? Proszę o pomoc. #include<iostream> #include<conio.h> using namespace std; int main() { int rozmiar = 0; int dlugosc = 0; char * tablica = NULL; cout << "Pusty wiersz konczy dzialanie programu." << endl; for( int i = 0; i < 40; i++ ) cout << "-"; cout << endl; string tWiersz; do { getline( cin, tWiersz ); if( tWiersz.length() > 0 ) { tWiersz += "\r\n"; if( dlugosc + tWiersz.length() + 1 > rozmiar ) { cout << "Tworzy nowy blok pamieci!" << endl; int tNarzutDanych = 20; rozmiar = tWiersz.length() + dlugosc + 1 + tNarzutDanych; char * tNoweDane = new char[ rozmiar ]; if( tablica != NULL ) memcpy( tNoweDane, tablica, dlugosc ); memcpy( & tNoweDane[ dlugosc ], & tWiersz[ 0 ], tWiersz.length() ); if( tablica != NULL ) delete[] tablica; tablica = tNoweDane; } else { cout << "Jest wystarczajaca ilosc miejsca!" << endl; } memcpy( & tablica[ dlugosc ], & tWiersz[ 0 ], tWiersz.length() ); dlugosc = tWiersz.length() + dlugosc; tablica[ dlugosc ] = 0; } } while( tWiersz.length() != 0 ); if( tablica != NULL ) { cout << "Dane jakie wypisales to: " << endl; cout << tablica << endl; delete[] tablica; } else cout << "Nie wpisales niczego!"; getch(); return( 0 ); } |
|
Midas Temat założony przez niniejszego użytkownika |
» 2014-03-12 23:53:02 Czy po przez modyfikacje wyjścia można uzyskać taki efekt, czy trzeba przebudowywać cały kod ? Bo chciałem zapętlić wyjście i przesuwać wskaźnik o 2 przy każdym przejściu, ale to nie wychodzi. Czy ktoś ma jakąś rade ? |
|
Midas Temat założony przez niniejszego użytkownika |
» 2014-03-13 21:09:53 ?? |
|
Midas Temat założony przez niniejszego użytkownika |
» 2014-03-14 00:05:30 To jest mój kod wypisujący tablice, nie wiem jak rozwiązać problem linii, żeby program wypisywał mi co linie co 2 znak. W tym momencie widzi wszystkie znaki jako jeden ciąg i wypisuje co 2 znak nie biorąc pod uwagę wiersz. int liczba = 0; while( tablica[ liczba ] != NULL ) { if( liczba % 2 == 0 ) cout << tablica[ liczba ]; if( tWiersz == "\r\n" ) cout << endl; liczba++; } |
|
Midas Temat założony przez niniejszego użytkownika |
» 2014-03-15 12:23:06 Czy ktoś ma jakiś pomysł ? |
|
« 1 » |