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

Czemu nie zlicza znaków w tablicy znaków?

Ostatnio zmodyfikowano 2012-01-20 21:36
Autor Wiadomość
Mazzir
Temat założony przez niniejszego użytkownika
Czemu nie zlicza znaków w tablicy znaków?
» 2012-01-20 20:46:30
C/C++
#include <iostream>

using namespace std;

int main()
{
    int n, licz = 0, wyn;
    cin >> n;
    char tab[ n ];
    cin >> tab[ n ];
   
    for( int i = 0; i < n; i++ )
    {
        if( tab[ i ] == 'W' ) { licz = licz + 1; }
    }
    wyn =( n - licz ) / 2;
    cout << wyn << "\n";
    cout << n << " " << licz;
}
Zadaniem programu jest zliczać znaki "W" w podanym ciągu znaków. Niestety, program twierdzi, że licz nadal jest równy 0, a ja nie wiem w czym może być problem. Wygląda na to, że nie spełnia warunku w ifie, ale nie wiem z jakiego powodu. Proszę o pomoc w odnalezieniu błędu.
P-48971
SeaMonster131
» 2012-01-20 20:50:38
Ponieważ tablica musi mieć z góry określony rozmiar bodajże. Lepiej skorzystaj ze string, on ma metodę size() albo lenght(), nie pamiętam :)
P-48972
Mazzir
Temat założony przez niniejszego użytkownika
» 2012-01-20 20:54:02
Rozmiar tablicy jest określony.
1. Wprowadzam zmienną n typu int (np. 9)
2. Deklaruję zmienną tab typu char i nadaję jej rozmiar n (char tab[n])
3. Uzupełniam tablicę o znaki np. ZWZZZWZZW

W takim wypadku zmienna licz powinna wynosić 3, a wynosi 0.
P-48973
CodeMeister
» 2012-01-20 21:34:24
dopisz w petli linijke
else { cout << "Nie ma" << endl; }
 i zobacz jak sie program bedzie zachowywal
P-48976
Mazzir
Temat założony przez niniejszego użytkownika
» 2012-01-20 21:36:11
Już sobie poradziłem, dzięki.
P-48977
« 1 »
  Strona 1 z 1