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

programowanie c++

Object Storage Arubacloud
0 głosów
515 wizyt
pytanie zadane 7 grudnia 2019 w C i C++ przez czlowiek123 Nowicjusz (120 p.)

Mam problem jak zrobić to dla k wyrazów

Napisz program, który dla podanego napisu, sprawdzi ile jest w nim literek A a ile jest w nim literek B.

Zadanie Napisz program, który:

 wczyta ze standardowego wejścia liczbę naturalną k oraz k linii, w których umieszczono po jednym napisie (złożonym z nie więcej niż 250 wielkich liter alfabetu angielskiego),

 wypisze na standardowe wyjście jedną liczbę równą ilości napisów, w których stwierdzono równą ilość literek A (w tym A duże i a małe) oraz literek B (w tym B duże i b małe) .

Wejście Jedyna linia wejścia zawiera liczbę naturalną k (maksymalnie 100) oraz k linii, w których umieszczono po jednym napisie (złożonym z nie więcej niż 250 małych i dużych liter alfabetu angielskiego),

Wyjście Twój program na wyjście powinien wypisać jedną liczbę: ilość napisów złożonych z takiej samej ilości literek A (w tym A duże i a małe) oraz literek B (w tym B duże i b małe).

Przykład Dla danych wejściowych:

3 AAABBB

aaBaBAB

ABABABA poprawną odpowiedzią jest: 2

Natomiast dla danych wejściowych: 1

AbC

#include <iostream>
using namespace std;
string a;
int k,il=0;
int ila,ilb;
int main()
{
	
	
		cin>>a;
	
		for(int j=0; j<=a.length(); j++)
		{
		if(a[j]=='a'||a[j]=='A')
		ila++;
		if(a[j]=='b'||a[j]=='B')
		ilb++	;
		}
		
	cout<<ila<<" "<<ilb;
}

poprawną odpowiedzią jest: 1

komentarz 7 grudnia 2019 przez tkz Nałogowiec (42,000 p.)
Przeczytaj polecenie, Twój program nie pobiera ilości linii tekstu, tylko od razu spodziewa się napisu. Dodatkowo sprawdź czy ilea równa się ileb, bo niby w jaki inny sposób sprawdzisz, czy jest tyle samo liter a i b?
komentarz 7 grudnia 2019 przez czlowiek123 Nowicjusz (120 p.)
#include <iostream>
using namespace std;
string a;
int k,il=0;
int ila,ilb;
int main()
{
     
     cin>>k;

     for(int i=0; i<k; i++)
     {
     	cin>>a;
        for(int j=0; j<=a.length(); j++)
        {
        if(a[j]=='a'||a[j]=='A')
        ila++;
        if(a[j]=='b'||a[j]=='B')
        ilb++   ;
        }
    }
         
    cout<<ila<<" "<<ilb;
}

Zdaje sobie sprawe ze jest k ilosci linijek tylko nie wiem jak teraz porownac ich ilosc 

 

komentarz 7 grudnia 2019 przez czlowiek123 Nowicjusz (120 p.)
Znaczy nie wiem jak majac ilosci A i B sprawdzic czy rowna jest ich ilosc z poprzednimi stringami
komentarz 7 grudnia 2019 przez tkz Nałogowiec (42,000 p.)

#include <iostream>
using namespace std;
string a;
int k,il=0;
int ila,ilb;
int main()
{
      
     cin>>k;
 
     for(int i=0; i<k; i++)
     {
        cin>>a;
        for(int j=0; j<=a.length(); j++)
        {
        if(a[j]=='a'||a[j]=='A')
        ila++;
        if(a[j]=='b'||a[j]=='B')
        ilb++   ;
        }
        if(ilb==ila)
            il++;
    }
          
    cout<<il;;
}

 

komentarz 7 grudnia 2019 przez czlowiek123 Nowicjusz (120 p.)
Tylko,że program nie ma sprawdzac czy ilosc a = ilosci b tylko czy ilosc a i ilosc b w jednym wierszu jest taka sama jak w innym wierszu. Bo dla mnie trudnosc polega na tym zeby porownac ilosci wyrazow z roznych linijek
komentarz 7 grudnia 2019 przez tkz Nałogowiec (42,000 p.)

Wyjście Twój program na wyjście powinien wypisać jedną liczbę: ilość napisów złożonych z takiej samej ilości literek A (w tym A duże i a małe) oraz literek B (w tym B duże i b małe).

Rozumiem to tak, że dostajesz na wejściu X napisów. Masz sprawdzić w ilu jest tyle samo A i B. Na koneic wypisać ilość tych zdań. 

komentarz 7 grudnia 2019 przez czlowiek123 Nowicjusz (120 p.)
Przykład Dla danych wejściowych:

3

AAABBB

aaBaBAB

ABABABA

poprawną odpowiedzią jest: 2

zobacz na przykład
komentarz 7 grudnia 2019 przez tkz Nałogowiec (42,000 p.)
Dobra, czyli odróżnia się mała i wielką literę. Kompletnie tego nie wyłapałem z polecenia, które brzmi jakby to było obojętne.
komentarz 7 grudnia 2019 przez czlowiek123 Nowicjusz (120 p.)
no wlasnie to bez roznicy czy a jest wielkie czy male ale ty napisales program ktory wypisuje wyrazy majace tak sama ilosc liter a i b np 3a i 3b; a ten program ma sprawdzac kolejne napisy i patrzec czy maja taka sama ilosc a i b np. 1wyraz ma 3a i 2b 2wyraz ma 3a i 2b a ostatni ba 2a i 1b i program wypisuje 2

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

–3 głosów
1 odpowiedź 267 wizyt
pytanie zadane 4 grudnia 2019 w Ogłoszenia, zlecenia przez SpiF Nowicjusz (120 p.)
0 głosów
1 odpowiedź 82 wizyt
pytanie zadane 14 maja 2020 w C i C++ przez kmxsimba Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 241 wizyt
pytanie zadane 27 marca 2020 w C i C++ przez toja123321 Nowicjusz (220 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...