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

Tablica znaków.

Ostatnio zmodyfikowano 2010-12-31 19:10
Autor Wiadomość
Vercevales
Temat założony przez niniejszego użytkownika
» 2010-12-31 18:02:41
Spróbowałem jeszcze raz:

C/C++
#include <iostream>

int main()
{
    int x = 0;
    int tab[ 1 ][ 100 ];
    char c;
   
    std::cout << "Podaj słowo: ";
    std::cin >> c;
    std::cout << '\n' << "x = " << x; // tu wyświetla 0, OK
    tab[ 1 ][ x ] = c;
    std::cout << " " << std::endl;
    std::cout << "x = " << x; //no ale tu wyświetla liczby w okolicach 100, dlaczego?
    return 0;
}

P-26031
ison
» 2010-12-31 18:28:38
C/C++
tab[ 1 ][ x ] = c;
tab[1][x] nie istnieje... znaczy istnieje ale w tej komórce jest nie to czego się spodziewasz

indeksowanie zaczyna się od 0, jeśli podasz liczbę elementów 1 to masz jeden element o indeksie 0
P-26032
Vercevales
Temat założony przez niniejszego użytkownika
» 2010-12-31 18:41:32
Poddaję się...

Jak ma wyglądać program:
1. Podaję słowo
2. On każdą z liter potraktuje jako char
3. każdego chara z osobna zapisze do tablicy
4. na końcu wyświetli całą zawartość tablicy (jako słowo)

??

specjalnie nie czyściłem strumienia  aby czytał kolejne chary, dlaczego ich nie zapisywał do tablicy?
P-26033
SeaMonster131
» 2010-12-31 18:43:02
może użyj tutaj pętli for...? :)

PS. Szczęśliwego Nowego Roku! :)
P-26034
Vercevales
Temat założony przez niniejszego użytkownika
» 2010-12-31 18:45:15
W takim razie muszę się nauczyć tej pętli ^^
innych niż do {...} while() nie umiem :(
P-26035
ison
» 2010-12-31 18:55:00
nie wiem jakie było Twoje zamierzenie co do programu, ma on wczytywać znaki bez ustanku czy ma wczytać 1 słowo do napotkania znaku nowej linii?

C/C++
#include <iostream>

int main()
{
    char c;
    int x = 0;
    char tab[ 102 ]; //deklarujemy tablicę 1 wymiarową o maksymalnej liczbie elementów 102
    std::cout << "Podaj slowo: ";
    while( x != 100 ) //dopóki mamy miejsce w buforze to wczytujemy i dopisujemy do niego nowe znaki
    {
        std::cin >> c;
        tab[ x ] = c; //na pozycji x wstawiamy nowy znak
        tab[ x + 1 ] = '\0'; //ważne: na następnej pozycji wstawiamy znak '\0' aby wiadomo było gdzie kończy się ciąg znaków
        std::cout << "Aktualnie w tablicy, na pozycji " << x << " jest litera: " << tab[ x ] << std::endl;
        std::cout << "Cała tablica aktualnie, do pozycji " << x << " zawiera: " << tab << " czesci podanego slowa" << std::endl;
        ++x; //zwiększamy nasz licznik o 1
    }
    std::cout << "Koniec bufora - nie można nic dopisać"; //w przypadku gdy while się skończy (do bufora ciągu znaków nie można już nic dopisać) to wyświetli się komunikat
    return 0;
}
P-26036
Vercevales
Temat założony przez niniejszego użytkownika
» 2010-12-31 19:10:06
TAK! O to mi chodziło!
Bardzo dziękuję!
P-26038
1 « 2 »
Poprzednia strona Strona 2 z 2