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

ajutor!!!
Un text este format din cel puțin două cuvinte. Cuvintele din text sunt separate prin câte un spațiu. Textul are cel puțin 5 și cel mult 110 caractere reprezentând litere mici ale alfabetului englez, cratime și spații. Fiecare cuvânt din text are cel mult 20 de caractere.
Fișierul cuvinte.in conține pe prima linie un text de tipul precizat mai sus. Se cere scrierea și executarea la calculator a unui program care citește textul din fișier apoi afișează pe ecran, pe rânduri distincte, toate cuvintele din text urmate de un număr de puncte egal cu numărul de caractere al fiecărui cuvânt. Cuvintele se afișează în ordinea în care apar în text. Pentru rezolvare se folosesc apeluri utile ale subprogramului puncte. În același program se cere scrierea în fișierul cuvinte.out a acelor cuvinte din text, separate prin câte un spațiu, care conțin cel puțin o dată caracterul - (cratimă) și încep cu o consoană. Cuvintele se scriu în ordinea în care apar în text. Dacă în text nu există astfel de cuvinte, se scrie în fișierul cuvinte.out mesajul nu exista.
Exemplu: dacă fișierul cuvinte.in conține textul
cine si-a pierdut o zi cat o viata s-o caute repede
atunci pe ecran se afișează
cine....
si-a....
pierdut.......
o.
zi..
cat...
o.
viata.....
s-o...
caute.....
repede......
iar fișierul cuvinte.out conține
si-a s-o

Răspunsuri la întrebare

Răspuns de Madalin77
3

Răspuns:

#include <iostream>

#include<fstream>

#include<string.h>

using namespace std;

ifstream f("cuvinte.in");

ofstream g("cuvinte.out");

char vocale[]="aeiou";

void puncte(char *s){

   cout<<s;

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

       cout<<'.';

   }

   cout<<endl;

}

int main()

{

   char s[21];

   while(f>>s){

       if(strchr(vocale,s[0]) == NULL){

           if(strchr(s,'-') != NULL){

               g<<s<<" ";

           }else{

               puncte(s);

           }

       }else{

           puncte(s);

       }

   }

   f.close();

   g.close();

   return 0;

}

Explicație:


alexandra155v: iti multumesc mult
Alte întrebări interesante