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

spoj - zadanie zliczacz liter

0 głosów
45 wizyt
pytanie zadane 14 czerwca w C i C++ przez polandonion Użytkownik (870 p.)

witam, kilkanascie minut temu udalo mi sie zrobic zadanie na spoju: link

w kodzie szukalem dosc dlugo bledu, ale sie okazalo, ze w linii 15.

for(int i=0; i<n+1; i++){

mialem blad, ktory jest dosc dziwny; gdy zamiast n+1 wpisze n, co na poczatku robienia kodu zrobilem, program w petli nie wykona n operacji, tylko n-1. Jest to bardzo dziwne zjawisko, gdyz w petli ide od 0, wiec przy n nie powinna stac jedynka. Prosze o pomoc, dzieki z gory :D

 

#include<iostream>
#include<string>
using namespace std;
int tab[52];
void f(string s){
	for(int i=0; i<s.size(); i++){
		if(s[i]==' ') continue;
		if(s[i]>='A' and s[i]<='Z') tab[s[i]-'A'+26]++;
		else tab[s[i]-'a']++;
	}
}
int main(){
	short n; cin>>n;
	string s;
	for(int i=0; i<n+1; i++){
		getline(cin,s);
		f(s);
	}
	for(int i=0; i<26; i++)
		if(tab[i]) cout<<(char)(i+'a')<<" "<<tab[i]<<endl;
	for(int i=26; i<52; i++)
		if(tab[i]) cout<<(char)(i-26+'A')<<" "<<tab[i]<<endl;
}

 

1 odpowiedź

+2 głosów
odpowiedź 14 czerwca przez Great Mądrala (6,460 p.)

std::getline

Pobierając dane za pomocą operatora >> zostawiasz w strumieniu znak nowej linii. Funkcja std::getline czyta natomiast wszystkie dane do wystąpienia znaku nowej linii. Możesz odrzucić ten znak:

short n; 
cin>>n;
cin.ignore(); // lub cin >> ws;
komentarz 14 czerwca przez polandonion Użytkownik (870 p.)
edycja 14 czerwca przez polandonion
ok, dzieki

Podobne pytania

0 głosów
0 odpowiedzi 102 wizyt
pytanie zadane 30 marca 2020 w Java przez Fesq Nowicjusz (170 p.)
0 głosów
1 odpowiedź 67 wizyt
pytanie zadane 6 marca w Python przez ambitny Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 280 wizyt
pytanie zadane 2 października 2018 w SPOJ przez krawiecki Początkujący (490 p.)

88,311 zapytań

136,904 odpowiedzi

305,517 komentarzy

58,593 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...