Informatică, întrebare adresată de florin4744, 8 ani în urmă

Un text are cel mult 100 de caractere și este format din cuvinte şi numere, separate prin câte un spațiu. Cuvintele sunt formate numai din litere ale alfabetului englez. Toate numerele sunt reale şi sunt formate numai din parte întreagă sau din parte întreagă şi parte fracţionară, separate prin virgulă (,), numerele negative fiind precedate de semnul minus (-). Scrieţi un program C/C++ care citeşte de la tastatură textul, pe care îl transformă, eliminând din componenţa sa toate numerele negative. Programul afişează apoi pe ecran textul obţinut. Exemplu: pentru textul 2,7 minus 3,5 minus 2 egal 2,7 plus -3,5 plus -2 egal -0,2 rezultat se va afişa pe ecran textul: 2,7 minus 3,5 minus 2 egal 2,7 plus plus egal rezultat​

Răspunsuri la întrebare

Răspuns de Morcoveaţă2001
2

Răspuns:

#include <iostream>

#include <string.h>

using namespace std;

int main() {

   char a[102], *p, *nrmax;

   int cifnrmax;

   bool exista = false;

   cin.get(a,100);

   p = strtok(a, " ");

   while(p) {

       if(*p > '0' && *p < '9') {

           int cif = *p-48;

           if(!exista || (cifnrmax < cif))

               exista = true, cifnrmax = cif, nrmax = p;

       }

       p = strtok(NULL, " ");

   }

   if(!exista)

       cout<<"nu exista";

   else

       cout<<nrmax;

}

Explicație:

Sursa: solinfo.ro - poti gasi mai multe solutii acolo

Alte întrebări interesante