Cerinţa
Să se scrie un program care citește mai multe propoziții și determină propoziția cu cele mai multe cuvinte.
Date de intrare
Fișierul de intrare cuvmax.in conține pe prima linie un număr natural n, iar pe următoarele n linii câte o propoziție alcătuită din litere mici ale alfabetului englez și spații.
Date de ieşire
Fișierul de ieșire cuvmax.out va conține pe prima linie propoziția cu cele mai multe cuvinte.
Restricţii şi precizări
0
fiecare propoziție va conține cel mult 255 de caractere
Exemplu
cuvmax.in
4
somnoroase pasarele
pe la cuiburi se aduna
se ascund in ramurele
noapte buna noapte buna
cuvmax.out
pe la cuiburi se aduna
Răspunsuri la întrebare
Răspuns de
6
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("cuvmax.in");
ofstream fout("cuvmax.out");
int nrcuv(char * s){
int c = 0;
if(s[0]!=' ')
c++;
for(int i=1 ; s[i] ; ++i)
if(s[i]!=' ' && s[i-1]==' ')
c++;
return c;
}
int main(){
int n;
char s[251], m[251];
fin >> n;
fin.get();
fin.getline(m,251);
for( ; n ; --n){
fin.getline(s,251);
if(nrcuv(s) > nrcuv(m))
strcpy(m,s);
}
fout << m << endl;
return 0;
}
Răspuns de
7
#include <bits/stdc++.h>
using namespace std;
int n,i,nr,nrmax;
char s[260], *p, sol[260], t[260];
int main()
{
freopen("cuvmax.in", "r", stdin);
freopen("cuvmax.out", "w", stdout);
scanf("%d\n", &n);
for(i = 1; i <= n; ++ i)
{
gets(s);
memset(t, 0, sizeof(t));
strcpy(t, s);
p = strtok(t," ");
nr = 1;
while(p != NULL)
{
nr ++;
p = strtok(NULL," ");
}
if(nr > nrmax)
{
nrmax = nr;
strcpy(sol, s);
}
}
printf("%s",sol);
return 0;
}
using namespace std;
int n,i,nr,nrmax;
char s[260], *p, sol[260], t[260];
int main()
{
freopen("cuvmax.in", "r", stdin);
freopen("cuvmax.out", "w", stdout);
scanf("%d\n", &n);
for(i = 1; i <= n; ++ i)
{
gets(s);
memset(t, 0, sizeof(t));
strcpy(t, s);
p = strtok(t," ");
nr = 1;
while(p != NULL)
{
nr ++;
p = strtok(NULL," ");
}
if(nr > nrmax)
{
nrmax = nr;
strcpy(sol, s);
}
}
printf("%s",sol);
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Studii sociale,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă