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ăspunsuri la întrebare
Răspuns de
0
#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();
}
#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();
}
IonCPA:
In pascal poti s-o rezolvi?
Răspuns de
0
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.
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.
Alte întrebări interesante
Geografie,
8 ani în urmă
Fizică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Fizică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba rusă,
9 ani în urmă