[c++]Porownywanie elementow struktur
Ostatnio zmodyfikowano 2014-05-10 19:39
Oddon Temat założony przez niniejszego użytkownika |
[c++]Porownywanie elementow struktur » 2014-05-10 16:04:56 Witam, mam problem z porównywaniem elementów struktur o to kod: #include <iostream> #include <fstream> using namespace std;
int * TabDynam( int n );
struct tablice { int n; int * T = TabDynam( n ); ~tablice() { delete[] T; } }; tablice * TabDynamTab( int n ); int * przeciecia( tablice Tab[] ); int main() { int n; char nazwa[ 100 ]; printf( "Podaj nazwe pliku do wczytania:" ); scanf( "%s", nazwa ); FILE * pf = fopen( nazwa, "r" ); fscanf( pf, "%d", & n ); tablice * op = TabDynamTab( n ); for( int i = 0; i < n; i++ ) { fscanf( pf, "%d", & op[ i ].n ); for( int j = 0; j < op[ i ].n; j++ ) { fscanf( pf, "%d", & op[ i ].T[ j ] ); } } for( int i = 0; i < n; i++ ) { for( int j = 0; j < op[ i ].n; j++ ) { cout <<( op[ i ].T[ j ] ); } cout << endl; } fclose( pf ); cout << przeciecia( op )[ 0 ]; }
int * TabDynam( int n ) { int * T = new int[ n ]; return( T ); }
tablice * TabDynamTab( int n ) { tablice * T = new tablice[ n ]; return( T ); } int * przeciecia( tablice Tab[] ) { int i = 0, j = 0, z = 0, k = 0; if( Tab[ 0 ].n >= Tab[ 1 ].n ) { k = Tab[ 0 ].n; } else { k = Tab[ 1 ].n; } cout << k; int Tablica[ 10 ]; int Tablica1[ 10 ]; int Tablica2[ 10 ]; for( int i = 0; i < 10; i++ ) { Tablica[ i ] = 0; Tablica1[ i ] = 0; Tablica2[ i ] = 0; } do { if( Tab[ 0 ].T[ i ] > Tab[ 1 ].T[ j ] ) { if( j <= sizeof( Tab[ 1 ].T ) / 4 ) { j++; cout << "a2"; } } else if( Tab[ 0 ].T[ i ] == Tab[ 1 ].T[ j ] ) { Tablica[ z ] = Tab[ 0 ].T[ i ]; Tablica1[ z ] = i; Tablica2[ z ] = j; z++; i++; j++; cout << "b3"; } else if( Tab[ 0 ].T[ i ] < Tab[ 1 ].T[ j ] ) { if( i <= sizeof( Tab[ 0 ].T ) / 4 ) { i++; cout << "c1"; } } } while(( i != sizeof( Tab[ 0 ].T ) / 4 ) &&( j != sizeof( Tab[ 1 ].T ) / 4 ) ); cout << endl; cout << "to" << Tablica[ 0 ]; return( Tablica ); }
Program nie zapisuje elementow do tablicy, a przy tablicach dynamicznych odrazu sie wyklada, Dziekuje za pomoc. |
|
Monika90 |
» 2014-05-10 16:42:18 struct tablice { int n; int * T = TabDynam( n );
Jak myślisz, jaką wartość ma n gdy wywołane zostanie TabDynam(n)? |
|
Oddon Temat założony przez niniejszego użytkownika |
» 2014-05-10 16:48:57 n- wczytana z pliku, ktora informuje o ilosci ciagow |
|
Monika90 |
» 2014-05-10 16:56:25 n które jest zadeklarowane w main, to jest inne n niż to w strukturze tablice |
|
Oddon Temat założony przez niniejszego użytkownika |
» 2014-05-10 17:18:00 istnieje jakis sposob aby przypisac n z maina do n ze struktury? |
|
pekfos |
» 2014-05-10 19:39:10 Konstruktor? |
|
« 1 » |