[ A90 @ 06.07.2005. 21:41 ] @
Imam jedan problemcic,evo imam sljedeci kod za brojanje samoglasnika za uneseni niz znakova:

#include <iostream.h>
#include <conio.h>
int main () {
char znakovi[80];
int suma=0;
cout<<"Upisi niz znakova:";
cin>>znakovi;
for (int i=0;i<strlen(znakovi);i++) {
switch (znakovi) {
case 'a': {suma=suma+1;break;}
case 'o': {suma=suma+1;break;}
case 'e': {suma=suma+1;break;}
case 'i': {suma=suma+1;break;}
case 'u': {suma=suma+1;break;}
}}
cout<<endl<<"Ima "<<suma<<" samoglasnika.";
return 0;
}

Moj se problem sastoji u tome da ne znam kako i nakoji nacin da dodam jos dio koda tako da mi pokazuje na kojem se mjestu nalazi pojedini samoglasnik.Ako neko zna ,a ja mislim da ima mnogo vas koji znate molim vas da mi pomognete..

Hvala!!
[ X Files @ 06.07.2005. 22:49 ] @
Citat:

switch (znakovi)

Treba:
Code:

switch ( znakovi[i] ) 


Citat:

case 'a': {suma=suma+1;break;}
case 'o': {suma=suma+1;break;}
case 'e': {suma=suma+1;break;}
case 'i': {suma=suma+1;break;}
case 'u': {suma=suma+1;break;}

U ovom slucaju moze i ovako (C++ za razliku od C# dozvoljava propadanje).
Takođe, blokovi {} su ti nepotrebni...

Code:

case 'a':
case 'o':
case 'e':
case 'i':
case 'u': ++suma;
            break;



A ceo program, modifikovan za NOVI slučaj može ovako:

Code:

// NETESTIRANO !!!
int main( int argc, char* argv[] )
{

   char znakovi[80];
   int suma=0;
   cout << "Upisi niz znakova:";
   cin >> znakovi;
   for ( int i=0; i<strlen( znakovi ); i++ )
   {
      switch ( znakovi[i] )
      {
         case 'a': ++suma; cout << "'a' se nalazi na poziciji " << i+1 << "\n"; break;
         case 'o': ++suma; cout << "'o' se nalazi na poziciji " << i+1 << "\n"; break;
         case 'e': ++suma; cout << "'e' se nalazi na poziciji " << i+1 << "\n"; break;
         case 'i': ++suma; cout << "'i' se nalazi na poziciji " << i+1 << "\n"; break;
         case 'u': ++suma; cout << "'u' se nalazi na poziciji " << i+1 << "\n"; break;
      }
   }

   cout << endl << "Ima " << suma << " samoglasnika.";

   getch();

   return 0;

}