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

tablice i warunek logiczny pomocy

Ostatnio zmodyfikowano 2012-05-16 15:32
Autor Wiadomość
capajera18
Temat założony przez niniejszego użytkownika
tablice i warunek logiczny pomocy
» 2012-05-16 14:53:20
C/C++
#include <iostream>

int main()
{
    using namespace std;
   
    char tablica[ 10 ] = "c++"; // przeciez to
    char tablica2[ 10 ] = "c++"; // oraz to , to takie same znaki ten sam typ zmiennych
    //tylko inne nazwy
    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; // zwraca mi ta linijke !?!?
   
   
    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 ?
P-56781
ison
» 2012-05-16 15:19:40
bo porównujesz adresy
P-56782
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 ];
 ???
P-56783
ison
» 2012-05-16 15:32:27
jak deklarujesz tablicę
C/C++
int a[ 10 ];
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:
C/C++
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/
P-56784
« 1 »
  Strona 1 z 1