• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Zła ilość wykonań pętli

VPS Starter Arubacloud
0 głosów
214 wizyt
pytanie zadane 9 października 2017 w C i C++ przez chucksqll Stary wyjadacz (12,930 p.)
zamknięte 9 października 2017 przez chucksqll

Witam. Mam banalne pytanie lecz za nic nie rozumiem dlaczego tak się dzieje.

Otóż mam zadanko jakieś tam, mało ważne, no i w tym zadaniu mam pętlę, która ma wykonać się n

razy. Przy instrukcji

int n=2;   wykona się 2 razy

cin>>n;   wpisuje wartość 2, wykonuje  się raz.

 

Wklejam kod, może  w nim jest błąd.(za każdym razem dla wartości podanej przy deklaracji wykona się o 1 więcej, niż gdy ja podaje. Myślę, że to coś z obiektem cin jakkolwiek pewności nie mam).

#include <iostream>

using namespace std;

int main()
{
    string alfabet="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    int tab[alfabet.size()];
    for(int i=0; i<alfabet.size();i++)
        tab[i]=0;
    string sentence;

    int n;//przy deklaracji n=2 wykona sie wiecej o 1 niz gdy podam wartosc n-2
    cin>>n;


    for(int i=0; i<n; i++)
    {
        getline(cin, sentence);
        for(int j=0; j<sentence.size(); j++)
        {
            for(int g=0;g<alfabet.size();g++)
            {
                if(sentence[j]==alfabet[g])
                    tab[g]++;
            }

        }

    }
    for(int i=0;i<alfabet.size();i++)
    {
        if(tab[i]!=0)
        {
            cout<<alfabet[i]<<" "<<tab[i]<<endl;
        }
    }

    return 0;
}

 

komentarz zamknięcia: Problemem był getline, który pobierał pierwszego znak nowego wiersza jako pierwszy string, wystarczylo dodac getchar() po cin>>n.

Podobne pytania

0 głosów
2 odpowiedzi 400 wizyt
pytanie zadane 5 stycznia 2017 w C i C++ przez Szejk Obywatel (1,510 p.)
0 głosów
2 odpowiedzi 228 wizyt
+1 głos
4 odpowiedzi 165 wizyt

92,452 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...