Bună! Sunt începător în C ++ și chiar dacă scriu structuri repetitive corecte, cum ar fi for si while consola pur și simplu nu funcționează. Ma puteti ajuta?
Exemplu și fotografie după ce apăs pe Enter: (încerc să înmulțesc numărul cel mai mare și cel mai mic din sir și media aritmetică a tuturor numerelor)
#include
using namespace std;
int main()
{
int x,p,max,min,s,n;
float ma;
p=0;
s=0;
n=0;
ma=0;
max=-10000;
min=10000;
cin>>x;
while (x!=0);
{
s=s+x;
n=n+1;
if (x>max)
{
max=x;
}
if (x{
min=x;
}
cin>>x;
}
p=min*max;
ma=s/n;
cout<
return 0;}
In al doilea rand, cat de paralel cu programarea sa fii sa crezi ca se pune ; dupa if, in C++? Mai ales ca nu se pune ; dupa if in niciun limbaj care foloseste ; pentru delimitarea liniilor.
Ca sa fiu pedantic, poti folosi ; dupa if, daca vrei sa nu se intample nimic in acel if, cu toate ca daca ai ajuns acolo poti sa stergi codul si sa-l scrii din nou.
Pacat ca pui ; dupa if in C++ si crezi ca codul e conditional in continuare :))
Răspunsuri la întrebare
Răspuns:
Nu functioneaza deoarece nu poti denumi variabilele "min" respectiv "max" deoarece acestea sunt functii(min(x,y) determina minimul dintre 2 numere iar max(x,y) determina maximul dintre 2 numere).
Pe viitor incearca sa denumesti variabilele "minim" respectiv "maxim".
De asemenea voi trimite si o rezolvare a problemei tale.
Explicație:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,maxim,minim,prod;
double suma,cnt,ma;
maxim=-1;
minim=1e9;///10^9, astfel ne putem asigura ca minimul va fi schimbat
///oricare ar fi n citit
cnt=0;///numaram de cate ori am citit n
cin>>n;
while(n!=0)
{
suma+=n;
if(n>maxim)
{
maxim=n;
}
if(n<minim)
{
minim=n;
}
cnt++;
cin>>n;
}
prod=minim*maxim;
ma=suma/cnt;
cout<<prod<<" "<<ma;
return 0;
}
Un raspuns mai prost n-am vazut de mult