👤

Fișierul date.in conține un șir de caractere. Elaborați un program care va determina numărul de caractere speciale (paranteze, operatori aritmetici) din șir. Rezultatul va fi afișat la ecran cât și în fișierul date.out. In C++ si daca e posibil in Pascal

Răspuns :

#include <iostream>
#include <fstream>

using namespace std;

int main() {
fstream f;
f.open("date.in", ios::in);
string a;
f>>a;
int m;
m=0;
for(int i = 0; i < a.size(); ++i) {
switch(a[i]) {
case '!': m=m+1; break;
case '@': m=m+1; break;
case '#': m=m+1; break;
case '{': m=m+1; break;
case '}': m=m+1; break;
case '+': m=m+1; break;
case '=': m=m+1; break;
case '*': m=m+1; break;
case '/': m=m+1; break;
case ')': m=m+1; break;
case '(': m=m+1; break;
}

}
cout<m;
fstream g;
g.open("date.out",ios::out)
g<m;
f.close();
g.close();
}
Adaug solutia pentru pascal:

program caractere_speciale;

var
  fisierIntrare,fisierIesire,sir_c:string;
  i,nr_carac_speciale:integer;
  tfIn,tfOut:Text;
begin
   fisierIntrare:='date.in';
   fisierIesire:='date.out';
   nr_carac_speciale:=0;
   AssignFile(tfIn,fisierIntrare);
   reset(tfIn);
   readln(tfIn,sir_c);
   for i:=1 to length(sir_c) do
     begin
       if not (sir_c[i] in ['A'..'Z','a'..'z','0'..'9',' ']) then
          inc(nr_carac_speciale);
     end;
   writeln(nr_carac_speciale);  
   AssignFile(tfOut,fisierIesire);
   rewrite(tfOut);
   writeln(tfOut,nr_carac_speciale);
   close(tfOut);
end.
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!


Ez Studiers: Alte intrebari