Problem z przepisywaniem tablic.
Ostatnio zmodyfikowano 2012-10-11 00:30
Razor Temat założony przez niniejszego użytkownika |
Problem z przepisywaniem tablic. » 2012-10-10 21:01:54 Mam zadanie w którym posiadam 2 tablice char, o tej samej długości , Zadaniem jest przekopiwać co drugą literę z pierwszej tablicy do drugiej, np gdy mamy napis "instytut" to w drugiej tablicy ma powstać "isyu".Wpadłem na taki pomysł : #include<iostream> using namespace std;
void przypisanie( char t[], char t2[] );
int main() { char tabl[ 8 ] = { "Szkolaa" }; char tabl2[ 8 ]; cout << tabl << endl; cout << tabl2 << endl; przypisanie( tabl, tabl2 ); cout << tabl << endl; cout << tabl2 << endl; }
void przypisanie( char t[], char t2[] ) { int i = 0; int a = 0; do { t2[ i ] = t[ a ]; i++; a + 2; } while( t[ a ] == t2[ i ] ); }
Niestety , zamiast wyjść mi "Skla" , to wyskakuje "S3A".Proszę was o pomoc i wyjaśnienie błedu.[/i] |
|
cyklopek11 |
» 2012-10-10 21:53:51 #include<iostream> using namespace std;
void przypisanie( char t[], char t2[], int size );
int main() { char tabl[ 8 ] = { "Szkolaa" }; char tabl2[ 8 ] = { '\0' }; cout << tabl << endl; cout << tabl2 << endl; przypisanie( tabl, tabl2, 8 ); cout << tabl << endl; cout << tabl2 << endl; }
void przypisanie( char t[], char t2[], int rozmiar ) { for( int i = 0, a = 0; i < rozmiar; i++ ) { if(( i % 2 ) == 0 ) { t2[ a ] = t[ i ]; a++; } } }
|
|
crash |
» 2012-10-11 00:30:28 Jeszcze mała sugestia. Skoro druga tablica ma mieć tylko połowę znaków pierwszej, to jej rozmiar powinien być o połowę... |
|
« 1 » |