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

Zliczanie-cyfr [ankieta]

0 głosów
212 wizyt
pytanie zadane 8 października 2018 w C i C++ przez adamus Użytkownik (860 p.)
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
	int i,tab[26]={0},dlugosc;
	string zdanie;
	cout << "Napisz zdanie "<<endl;
	getline(cin,zdanie);
	dlugosc=zdanie.length();
	for(i=0;i<dlugosc;i++)
		{
			tab[zdanie[i]-'a']++;
		}
cout<<endl<<endl;
		for(i=0;i<26;i++)
		{
		//	if(tab[i]==0)
			cout << char(i+'a')<< " wystapilo " << tab[i]<<endl;
		}	
	
	getch();
	return 0;
}

Witam napiaslem taki program ktory zlicza literki w zdaniu jak moge go przerobic aby w podobny sposob zliczal cyfry ktore wystapily w jakies liczbie ? Nie uzywac żadnych funkcji std itp.

 

Brak odpowiedzi!

2 odpowiedzi

0 głosów
odpowiedź 9 października 2018 przez niezalogowany
wybrane 9 października 2018 przez adamus
 
Najlepsza

Jeżeli pobierałbyś int to możesz używać operacji modulo (do uzyskania ostatniej liczby):

#include <iostream>

using namespace std;
int main()
{
    const int tab_size = 10;
    int tab[tab_size]={0};
    
    cout << "Podaj liczbę: "<<endl;
    int num;
    cin >> num;
    
    do
    {
        tab[num % 10]++;
    } while (num /= 10);
    
    for(int i=0;i<tab_size;i++)
    {
        // if(tab[i]==0)
        cout << char(i+'0')<< " wystapilo " << tab[i]<<endl;
    }   
}

Jeżeli chodzi o łańcuch posiadający również cyfry to możesz zrobić to analogicznie:

#include <iostream>

using namespace std;
int main()
{
    const int tab_size = 10;
    int tab[tab_size]={0};
    string zdanie;
    cout << "Napisz zdanie "<<endl;
    getline(cin,zdanie);
    for(int i=0;i<zdanie.length();i++)
    {
        if (zdanie[i] >= '0' && zdanie[i] <= '9')
        {
            tab[zdanie[i]-'0']++;
        }
    }
    cout<<endl<<endl;
    for(int i=0;i<tab_size;i++)
    {
        //  if(tab[i]==0)
        cout << char(i+'0')<< " wystapilo " << tab[i]<<endl;
    }   
}
komentarz 9 października 2018 przez adamus Użytkownik (860 p.)
Dzieki wielki :D
0 głosów
odpowiedź 9 października 2018 przez DragonCoder Nałogowiec (36,500 p.)
Mozesz pobrac inta i przekonwektorowac go do stringa i szukac za pomoca petli. Ale musisz uzyc funkcji std::. Mozesz wprowadzic tez liczby do tablicy intow i znowu szukac za pomoca petli

Podobne pytania

0 głosów
1 odpowiedź 918 wizyt
pytanie zadane 26 października 2018 w C i C++ przez Byczek_ Bywalec (2,570 p.)
0 głosów
1 odpowiedź 639 wizyt
pytanie zadane 29 marca 2017 w C i C++ przez Jedyn Obywatel (1,200 p.)
0 głosów
3 odpowiedzi 1,020 wizyt

93,425 zapytań

142,421 odpowiedzi

322,646 komentarzy

62,785 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...