Informatică, întrebare adresată de PTeodorică, 9 ani în urmă

Să se scrie un program C++ care memorează câte numere au fost citite de la tastatură, separate printr-un spațiu. Se introduc valori până la apăsarea tastei enter.
Exemplu: se introduc valorile 4 8 10 3 9 contorul vm să rețină 5
Dacă un număr introdus de la tastatură este mai mic decât 1 și mai mare decât 10 să se afișeze IMPOSIBIL.

Răspunsuri la întrebare

Răspuns de DemonBolt
0

Programul nu este copiat de nicaieri. L-am testat pe un compilator si ma scuteste sa il mai scriu o data aici.
Explicatii:

Programul este oarecum smecherit. Atata timp cat introduci un numar apoi un spatiu va merge. Daca introduci 2 spatii urmat de Enter, nu va mai merge.

Simplu de inteles. Am citit numarul, am verificat daca este in parametrii cerintei. Daca este il adaug la contor si citesc spatiul care urmeaza. La final afisez contorul.
Iese din While cand c este enter (nu prea elegant,dar merge)

Bafta!
Anexe:

Xcoder: Desi programul merge (si eu as fi folosit tot technica iteratiei infinite), am cateva observatii: Desi poti folosi stdio.h, scanf si printf in C++, ele sunt funtii specifice C. De preferat ar fi sa folosesti module specifice C++, precum iostream pentru citire de la tastatura. scanf are si dezavantajul ca trebuie sa folosesti acel pointer (&), si devine destul de greu pentru un incepator sa isi dea seama ce inseamna. In rest, frumos raspuns (si destul de hacky :D)
DemonBolt: Ai mare dreptate! Folosesc cstdio pentru rapiditatea lui. Eu am participat la olimpiade, unde timpul este esential. Pe langa asta, nu prea stiu cum sa citesc caractere in iostream :) Nu sunt sigur daca este direct cu cin, cin.get() sau altceva.
DemonBolt: Oricum, mai am multe de invatat. Fiind cls8a, am luat o pauza de la informatica
Xcoder: Si eu tot clasa a 8-a sunt :)
Alte întrebări interesante