czy mozna tak do tego podejsc ?
#include <iostream.h>
void main()
{
int i;
char text[50];
int licznik;
licznik=0;
char x;
cin >> text;
for (i=0;i<20;i++)
{
x=text[i];
if (x=='a') licznik++;
}
cout << "liczba a wystapila" << licznik;
Wątek przeniesiony 2015-02-27 10:22 z C/C++ przez ŁF.
czy mozna tak do tego podejsc ?
#include <iostream.h>
void main()
{
int i;
char text[50];
int licznik;
licznik=0;
char x;
cin >> text;
for (i=0;i<20;i++)
{
x=text[i];
if (x=='a') licznik++;
}
cout << "liczba a wystapila" << licznik;
Zadawaj pytania po wyspaniu to może będą lepsze :p Ale kod jest krótki to widać o co chodzi.
Otagowałeś C++ to wg mnie masz złe podejście do takiego problemu. Do przechowywania łańcucha znaków użyłbym
std::string
, a do zliczania std::count
Do tego mały szczegół, ale dużo razy mówili o tym i uczulali. Tam gdzie możesz zawsze używaj
```cpp
++i
, a nie
i++
--> http://4programmers.net/Forum/Newbie/245149-wyszukiwanie_i_zliczanie_par_takich_samych_liczb_z_tablicy?p=1101404#id1101404
aeryn sun napisał(a):
czy mozna tak do tego podejsc ?
chba nikt ci nie zabroni
#include <iostream.h>
lepiej
#include <iostream>
void main()
powinno być:
int main()
cout << "liczba a wystapila" << licznik;
chyba: wystąpił znak 'a'
Wersja C++98:
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
string s;
getline(cin, s);
int cnt = std::count(s.begin(), s.end(), 'a');
cout << "Liczba znaków a: " << cnt << endl;
return 0;
}
Wersja C (książkowa):
#include <stdio.h>
int main (void)
{
unsigned int ch;
int cnt = 0;
while ((ch = getchar()) != EOF)
{
if (ch == 'a') ++cnt;
}
printf("Liczba znaków a: %d\n", cnt);
return 0;
}