Wątek przeniesiony 2015-02-27 10:22 z C/C++ przez ŁF.

Zabawy z łańcuchami znaków

0

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;
3

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
1
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'

0

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;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1