de ce nu iau 100 de pct pe sursa asta?
#include
using namespace std;
int main()
{
int n,ji,maxi ,mini,c,s;
cin>>n;
maxi=n;
mini=n;
s=0;
c=2;
while(c<=n)
{
cin>>ji;
if(ji>maxi)
maxi=ji;
if(ji
{
mini=ji;
}
c=c+1;
}
s=maxi+mini;
cout<
}
Cerinţa
Se dau n numere naturale. Calculaţi suma dintre cel mai mare și cel mai mic număr dat.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii.
Date de ieşire
Programul afișează pe ecran numărul S, reprezentând suma dintre cel mai mare și cel mai mic număr dat.
Restricţii şi precizări
1 ≤ n ≤ 100
cele n numere citite vor avea cel mult 6 cifre
sebydadad:
c=1 nu c=2
Răspunsuri la întrebare
Răspuns de
2
Greselile se afla aici :
maxi=n;
mini=n;
Incearca sa testezi codul tau pentru :
4
2 1 3 2
O sa afiseze 5 deoarece considera maximul 4 (gresit ) si minimul 1 (corect)
sau pentru :
4
12 10 33 21
O sa afiseze 37 deoarece considera maximul 33 ( corect) si minimul 4 (gresit)
Maximul trebuie initializat cu cea mai mica valoare posibila (in functie de datele de intrare). In cazul acestei probleme (vedem ca sunt numere naturale), maxi trebuie initializat cu 0. Minimul trebuie initializat cu cea mai mare valoare posibila (in functie datele de intrare). Cele n numere citite vor avea cel mult 6 cifre. Mini trebuie sa ia valoarea 999999.
O alta varianta este sa citesti in afara structurii repetitive primul numar (variabila ji din programul tau ) si apoi sa initializezi maxi si mini cu aceasta valoare.
Mai jos iti prezint o posibila rezolvare:
#include <iostream>
using namespace std;
int main() {
int n, maxi = 0, mini = 999999, a;
cin>>n;
for(int i = 0; i < n; i++) {
cin >> a;
if(a > maxi)
maxi = a;
if(a < mini)
mini = a;
}
cout << maxi + mini;
}
maxi=n;
mini=n;
Incearca sa testezi codul tau pentru :
4
2 1 3 2
O sa afiseze 5 deoarece considera maximul 4 (gresit ) si minimul 1 (corect)
sau pentru :
4
12 10 33 21
O sa afiseze 37 deoarece considera maximul 33 ( corect) si minimul 4 (gresit)
Maximul trebuie initializat cu cea mai mica valoare posibila (in functie de datele de intrare). In cazul acestei probleme (vedem ca sunt numere naturale), maxi trebuie initializat cu 0. Minimul trebuie initializat cu cea mai mare valoare posibila (in functie datele de intrare). Cele n numere citite vor avea cel mult 6 cifre. Mini trebuie sa ia valoarea 999999.
O alta varianta este sa citesti in afara structurii repetitive primul numar (variabila ji din programul tau ) si apoi sa initializezi maxi si mini cu aceasta valoare.
Mai jos iti prezint o posibila rezolvare:
#include <iostream>
using namespace std;
int main() {
int n, maxi = 0, mini = 999999, a;
cin>>n;
for(int i = 0; i < n; i++) {
cin >> a;
if(a > maxi)
maxi = a;
if(a < mini)
mini = a;
}
cout << maxi + mini;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Chimie,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Informatică,
9 ani în urmă