CLASA a X-a
Se dă un şir de caractere ce conţine cuvinte formate din litere mici ale alfabetului englez, separate prin unul sau mai multe spații. Înaintea primului cuvânt nu există spații, și nici după ultimul. Să se determine numărul de cuvinte din șir în care apare litera a.
lozanalex:
In ce limbaj Pascal sau c++?
Răspunsuri la întrebare
Răspuns de
0
#include <vector>
#include <iostream>
using namespace std;
vector <string> words(string s)
{
vector <string> a;
string x;
s+=' ';
for (int i=0; i<s.size(); i++)
{
if (s[i]!=' ') x+=s[i];
if (s[i]==' ' && x!="")
{
a.push_back(x);
x="";
}
}
return a;
}
bool existaA(string s){
for (int i=0; i<s.size(); i++)
if (s[i]=='a') return true;
return false;
}
int main(){
string s;
getline(cin,s);
vector <string> w;
w=words(s);
int c=0;
for (int i=0; i<w.size(); i++)
{
if (existaA(w[i])) c++;
}
cout << c ;
return 0;
}
si varianta pentru Pascal
var w:array [1..1000] of string;
i,c,wl:integer; s:string;
procedure words(s:string);
var i:integer; x:string;
begin
s:=s+' ';
for i:=1 to length(s) do
begin
if (s[i]<>' ') then x:=x+s[i];
if (s[i]=' ') then
begin
wl:=wl+1;
w[wl]:=x;
x:='';
end;
end;
end;
function existaA(s:string):boolean;
var i:integer; b:boolean;
begin
b:=false;
for i:=1 to length(s) do
if (s[i]='a') then b:=true;
existaA:=b;
end;
begin
readln(s);
words(s);
for i:=1 to wl do
if (existaA(w[i])) then c:=c+1;
write(c);
end.
#include <iostream>
using namespace std;
vector <string> words(string s)
{
vector <string> a;
string x;
s+=' ';
for (int i=0; i<s.size(); i++)
{
if (s[i]!=' ') x+=s[i];
if (s[i]==' ' && x!="")
{
a.push_back(x);
x="";
}
}
return a;
}
bool existaA(string s){
for (int i=0; i<s.size(); i++)
if (s[i]=='a') return true;
return false;
}
int main(){
string s;
getline(cin,s);
vector <string> w;
w=words(s);
int c=0;
for (int i=0; i<w.size(); i++)
{
if (existaA(w[i])) c++;
}
cout << c ;
return 0;
}
si varianta pentru Pascal
var w:array [1..1000] of string;
i,c,wl:integer; s:string;
procedure words(s:string);
var i:integer; x:string;
begin
s:=s+' ';
for i:=1 to length(s) do
begin
if (s[i]<>' ') then x:=x+s[i];
if (s[i]=' ') then
begin
wl:=wl+1;
w[wl]:=x;
x:='';
end;
end;
end;
function existaA(s:string):boolean;
var i:integer; b:boolean;
begin
b:=false;
for i:=1 to length(s) do
if (s[i]='a') then b:=true;
existaA:=b;
end;
begin
readln(s);
words(s);
for i:=1 to wl do
if (existaA(w[i])) then c:=c+1;
write(c);
end.
Alte întrebări interesante
Limba română,
8 ani în urmă
Franceza,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă