tablice i warunek logiczny pomocy
Ostatnio zmodyfikowano 2012-05-16 15:32
capajera18 Temat założony przez niniejszego użytkownika |
tablice i warunek logiczny pomocy » 2012-05-16 14:53:20 #include <iostream>
int main() { using namespace std; char tablica[ 10 ] = "c++"; char tablica2[ 10 ] = "c++"; int a = 0, b = 0; cout << " tablica " << " tablica2 " << endl; do { cout << a << " " << tablica[ a ] << " > " << tablica2[ b ] << endl; a++; } while( a < 10 && b < 10 ); if( tablica == tablica2 ) { cout << "takie same" << endl; } else cout << "Inne" << endl; return 0; }
Co powoduje ze warunek logiczny if zwraca mi wartosc ze tablice sa inne skoro widzimy pozornie ze sa takie same, co moge zrobic by wykonalo mi kod ze tablice sa takie same ? |
|
ison |
» 2012-05-16 15:19:40 bo porównujesz adresy |
|
capajera18 Temat założony przez niniejszego użytkownika |
» 2012-05-16 15:24:37 adresy ?? Czyli co mam jeszcze zadeklarowac tablice do zmiennych całkowitych ?? np int ilosc = tablica[ 10 ]; ??? |
|
ison |
» 2012-05-16 15:32:27 jak deklarujesz tablicę to a jest wskaźnikiem na jej pierwszy element, więc w tym przypadku porównanie tego nie ma sensu możesz po prostu porównać każdy element, dla stałego rozmiaru obu tablic: bool nope = false; for( int i = 0; i < rozmiar; ++i ) { if( a[ i ] != b[ i ] ) { nope = true; break; } } if( nope ) nierowne else rowne
dla c-stringów - http://www.cplusplus.com/reference/clibrary/cstring/strcmp/ |
|
« 1 » |