Un text are cel mult 100 de caractere și este format din cuvinte, numere naturale şi spaţii. Cuvintele sunt formate numai din litere mici ale alfabetului englez. Cuvintele şi numerele sunt separate prin câte un spaţiu, ca în exemplu.
Scrieţi un program C/C++ care citeşte de la tastatură un text de tipul menţionat mai sus şi afişează pe ecran numărul din text care începe cu cea mai mare cifră, ca în exemplu. Dacă există mai multe astfel de numere, se afișează doar unul dintre acestea, iar dacă textul nu conține niciun număr, se afișează pe ecran mesajul nu exista.
Exemplu: pentru textul
am 190 de nuci si 70 de castane
se afişează 70
am luat un for de la 1 la strlen (s) si am vrut sa fac un if strchr((nr*,s)!=0 l=s[i] dar mai departe cum fac..?
*nr este un sir format din 1 2 3 4 5 6 7 8 9
Miercuri2002:
Poti sa oferi tot codul si numarul problemei?
Răspunsuri la întrebare
Răspuns de
12
#include <iostream>
#include <cstring>
using namespace std;
char s[100], cifre[]="1234567890";
int n, i, prima, prmax, prec, num, cautat, exista, cif;
int main()
{
cin.getline(s,100);
n=strlen(s);
for (i=0; i<n; ++i)
{
if (strchr(cifre,s[i]))
{
cif=s[i]-'0';
if (prec==0) { prima=cif; prec=1; num=cif; exista=1; }
else { num=num*10+cif; }
}
else
{
prec=0; if (prima>prmax) { prmax=prima; cautat=num; }
}
}
if (exista) cout << cautat;
else cout <<"nu contine numere";
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Geografie,
8 ani în urmă
Limba română,
8 ani în urmă
Evaluare Națională: Lb. Română ,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă