Czemu nie zlicza znaków w tablicy znaków?
Ostatnio zmodyfikowano 2012-01-20 21:36
Mazzir Temat założony przez niniejszego użytkownika |
Czemu nie zlicza znaków w tablicy znaków? » 2012-01-20 20:46:30 #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. |
|
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 :) |
|
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. |
|
CodeMeister |
» 2012-01-20 21:34:24 dopisz w petli linijke else { cout << "Nie ma" << endl; } i zobacz jak sie program bedzie zachowywal |
|
Mazzir Temat założony przez niniejszego użytkownika |
» 2012-01-20 21:36:11 Już sobie poradziłem, dzięki. |
|
« 1 » |