Informatică, întrebare adresată de reea21, 8 ani în urmă

Se citește o propoziție. Să se afișeze cel mai mare număr. Dacă cel mai mare număr este par, să se calculeze suma numerelor din propoziție. Dacă numărul este impar să se afiseze primele 3 vocale din propoziție.​

Răspunsuri la întrebare

Răspuns de radu9614
1

Răspuns:

#include <iostream>

#include <string.h>

using namespace std;

char s[ 101 ];

bool eVocala( char c )

{

   if( c == 'a' || c == 'A' || c == 'e' || c == 'E' || c == 'i' || c == 'I' || c == 'o' || c == 'O' || c == 'u' || c == 'U' )

       return true;

   else

       return false;

}

int main()

{

   int maxim = -1, suma = 0;

   char v1 = 0, v2 = 0, v3 = 0;

   cin.getline( s, 100 );

   for( int i = 0; i < strlen( s ); ++i )

   {

       if( s[ i ] >= '0' && s[ i ] <= '9' )

       {

           int j = i + 1, numarCurent = s[ i ] - '0';

           while( s[ j ] >= '0' && s[ j ] <= '9' )

           {

               numarCurent *= 10;

               numarCurent += s[ j ] - '0';

               ++j;

           }

           suma += numarCurent;

           if( numarCurent > maxim )

           {

               maxim = numarCurent;

           }

       }

       else if( eVocala( s[ i ] ) )

       {

           if( v1 == 0 )

           {

               v1 = s[ i ];

           }

           else if( v2 == 0 )

           {

               v2 = s[ i ];

           }

           else if( v3 == 0 )

           {

               v3 = s[ i ];

           }

       }

   }

   cout << maxim;

   cout << endl;

   if( maxim % 2 == 0 )

       cout << suma;

   else

       cout << v1 << " " << v2 << " " << v3;

   return 0;

}

Explicație:

Alte întrebări interesante