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

Pomoc z tablica zmiennych

Ostatnio zmodyfikowano 2010-02-27 14:22
Autor Wiadomość
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.
C/C++
//Problemy przy wczytywaniu łańcuchów--------------
#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
P-14225
Thud
» 2010-02-27 10:38:39
Małe, głupie błędy. :)
Porównaj ten kod ze swoim:
C/C++
//Problemy przy wczytywaniu łańcuchów--------------
#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.
P-14230
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).
P-14231
Thud
» 2010-02-27 11:04:40
C/C++
//Problemy przy wczytywaniu łańcuchów--------------
#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.
P-14232
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] ?
P-14233
Thud
» 2010-02-27 11:10:16
Zobacz tutaj kody znaków ASCII:
http://pl.wikipedia.org/wiki/ASCII.

Jedna uwaga, w max_znak wystarczy dać 6, nie 10.
P-14234
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 ) :).
P-14236
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?
P-14237
« 1 » 2 3
  Strona 1 z 3 Następna strona