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

TEMA Scrieţi un program C++ care citeşte de la tastatură un text de maxim 100 de caractere, litere mici ale alfabetului englez, în care cuvintele sunt separate prin unul sau mai mulţi separatori (.,: ) punct, virgulă, spațiu, două puncte. Să se afişeze pe câte o linie cuvintele care conţin cel puţin 2 vocale alăturate și au lungimea impară. Dacă nu există astfel de cuvinte se va afișa mesajul „Nu exista”. Exemplu: pentru șirul „in trei feluri se pastreaza un prieten: a-l onora in prezenta, a-l lauda in absenta si a-l ajuta la nevoie.” se va afișa: pastreaza prieten lauda​

Răspunsuri la întrebare

Răspuns de andrei750238
0

Program C++ :

#define _CRT_SECURE_NO_WARNINGS

#include <iostream>

#include <string.h>

using namespace std;

int main() {

char txt[100];

char delim[] = ".,: ";

char vocale[] = "aeiouAEIOU";

bool gasit = 0;

cin.get(txt, 100);

char* cuv = strtok(txt, delim);

while (cuv) {

 int lungime = strlen(cuv);

 if (lungime % 2) {

  for (int i = 0; i < lungime - 1; i++) {

   if (strchr(vocale, cuv[i]) && strchr(vocale, cuv[i+1])) {

    cout << cuv << "\n";

    gasit = 1;

    break;

   }

  }

 }

 cuv = strtok(NULL, delim);

}

if (!gasit)

 cout << "Nu exista";

}

Anexe:
Alte întrebări interesante