shadix93 Temat założony przez niniejszego użytkownika |
Pomoc z tablica zmiennych » 2010-02-27 09:58:59 Ucze sie robic tablice zmiennych... Lecz cos mi nie pasuje w tym kodzie. #include <iostream> #include <conio.h> const short liczba_imion = 10; const short max_znak = 5; char slowo1[ 5 ] = "IMIONA"; char przerwa[ 5 ] = " "; int main() { using namespace std; char tab1[ liczba_imion ][ max_znak ] = { { 'D', 'A', 'W', 'I', 'D' }, { 'R', 'A', 'F', 'A', 'L' }, { 'P', 'I', 'O', 'T', 'R' }, { 'D', 'A', 'R', 'E', 'K' }, { 'P', 'A', 'W', 'E', 'L' }, }; char teb2[ liczba_imion ] = { 1, 6, 2, 8, 7 }; cout << slowo1 << endl; cout << tab1[ 0 ] << przerwa << teb2[ 0 ] << endl; cout << tab1[ 1 ] << przerwa << teb2[ 1 ] << endl; cout << tab1[ 2 ] << przerwa << teb2[ 2 ] << endl; cout << tab1[ 3 ] << przerwa << teb2[ 3 ] << endl; cout << tab1[ 4 ] << przerwa << teb2[ 4 ] << endl; cout <, endl; return( 0 ); }
Nie wiem gdzie zrobilem blad. Nie chodz juz o tresc tylko o sama tabelice. ;p |
|
Thud |
» 2010-02-27 10:38:39 Małe, głupie błędy. :) Porównaj ten kod ze swoim: #include <iostream> #include <conio.h> const short liczba_imion = 10; const short max_znak = 5; char slowo1[ 7 ] = "IMIONA"; char przerwa[ 6 ] = " "; int main() { using namespace std; char tab1[ liczba_imion ][ max_znak ] = { { 'D', 'A', 'W', 'I', 'D' }, { 'R', 'A', 'F', 'A', 'L' }, { 'P', 'I', 'O', 'T', 'R' }, { 'D', 'A', 'R', 'E', 'K' }, { 'P', 'A', 'W', 'E', 'L' }, }; char teb2[ liczba_imion ] = { 1, 6, 2, 8, 7 }; cout << slowo1 << endl; cout << tab1[ 0 ] << przerwa << teb2[ 0 ] << endl; cout << tab1[ 1 ] << przerwa << teb2[ 1 ] << endl; cout << tab1[ 2 ] << przerwa << teb2[ 2 ] << endl; cout << tab1[ 3 ] << przerwa << teb2[ 3 ] << endl; cout << tab1[ 4 ] << przerwa << teb2[ 4 ] << endl; cout << endl; return( 0 ); }
Czytaj, co wywala log kompilacji. |
|
shadix93 Temat założony przez niniejszego użytkownika |
» 2010-02-27 10:52:41 Moje pytania: 1. Czemu kolo "imiona" (6 liter) muszę mieć [7]? 2. Nie wiem czemu Imiona tyle razy sie powtarzają. :(
// "przerwa", ktora uzylem nie zaistniala. Chodzilo mi bardziej o to aby liczby podane w "teb2" znalazly sie obok imion (imiona i liczby w pionie).
|
|
Thud |
» 2010-02-27 11:04:40 #include <iostream> #include <conio.h> const short liczba_imion = 5; const short max_znak = 10; char slowo1[ 7 ] = "IMIONA"; char przerwa[ 6 ] = " "; int main() { using namespace std; char tab1[ liczba_imion ][ max_znak ] = { { 'D', 'A', 'W', 'I', 'D' }, { 'R', 'A', 'F', 'A', 'L' }, { 'P', 'I', 'O', 'T', 'R' }, { 'D', 'A', 'R', 'E', 'K' }, { 'P', 'A', 'W', 'E', 'L' } }; char teb2[ liczba_imion ] = { 1 + 48, 6 + 48, 2 + 48, 8 + 48, 7 + 48 }; cout << slowo1 << endl; cout << tab1[ 0 ] << przerwa << teb2[ 0 ] << endl; cout << tab1[ 1 ] << przerwa << teb2[ 1 ] << endl; cout << tab1[ 2 ] << przerwa << teb2[ 2 ] << endl; cout << tab1[ 3 ] << przerwa << teb2[ 3 ] << endl; cout << tab1[ 4 ] << przerwa << teb2[ 4 ] << endl; cout << endl; return( 0 ); }
Wyciągnij wnioski. //edit: 1. W języku C++ indeksowanie tablic zaczyna się od zera, czyli: 0, 1, 2, 3, 4, 5, 6 Nie zaś od jedynki. 2. Poprawione. |
|
shadix93 Temat założony przez niniejszego użytkownika |
» 2010-02-27 11:08:14 Dokladnie o to mi chodzilo. Tylko zastanawiam sie... Czemu +48 ? Czemu max_znak [5] na [10] i to samo przy liczba_imion[10] na [5] ? |
|
Thud |
» 2010-02-27 11:10:16 |
|
shadix93 Temat założony przez niniejszego użytkownika |
» 2010-02-27 11:13:37 Dokładnie czemu [6] a nie [5]...? Skoro każde imię jest pięcioliterowe ? Jesli powiesz mi, że umiesz ta cala tablice na pamiec to przyznam ze masz glowe nie od parady...( i tak nie masz ) :). |
|
Elaine |
» 2010-02-27 11:14:11 Ale po co kody ASCII? Nie można podać literału znakowego?
@up: A miejsce na zero terminujące? |
|
« 1 » 2 3 |