Potrzebuje pomocy bo coś źle mi liczy. Mam wczytać n liczb i sumowac je w przedziale <A b)
Pionke napisał(a):
Potrzebuje pomocy bo coś źle mi liczy. Mam wczytać n liczb i sumowac je w przedziale <A b)
tak to wygląda coś zrobiłem żle
include <iostream>
using namespace std;
int main()
{
int a,b,suma=0,i=a,n,x;
cout << "podaj pierwsza liczbe z przedzialu: " << endl;
cin>>a;
cout << "podaj druga liczbe z przedzialu: " << endl;
cin>>b;
cout<<endl<<"wypisz liczby oddzielajac je spacja: "<<endl;
for(int suma=0;n;)
{
cin>>n;
if(a<=n&&n<b)
{
suma=suma+n;
}
cout<<"suma liczb z przedzialu wynosi: "<<suma <<endl;
cout<<"jesli chcesz wpisuj dalej"<<endl;
}
return 0;
}
No ale nigdzie nie wczytujesz n
które mówi Ci ile liczb musisz wczytać. Najpierw sobie wczytać to n
a potem tyle razy wczytuj i sumuj (jeśli te warunki przedziałowe są spełnione).
no ale dalej to samo
#include <iostream>
using namespace std;
int main()
{
int a,b,suma=0,i=a,n,x;
cout << "podaj pierwsza liczbe z przedzialu: " << endl;
cin>>a;
cout << "podaj druga liczbe z przedzialu: " << endl;
cin>>b;
cout << "ile liczb chcesz podac " << endl;
cin>>n;
cout<<endl<<"wypisz liczby oddzielajac je spacja: "<<endl;
for(int suma=0;n;)
{
cin>>n;
if(a<=n&&n<b)
{
suma=suma+n;
}
cout<<"suma liczb z przedzialu wynosi: "<<suma <<endl;
cout<<"jesli chcesz wpisuj dalej"<<endl;
}
return 0;
Ta for(int suma=0;n;) linijka powinna jak dla mnie wyglądać zupełnie inaczej. Ja zrobił bym ten program tak:
#include <iostream>
using namespace std;
int main()
{
int suma = 0, odilu = 0, doilu = 0, ile = 0;
cout << "ile liczb?\n";
cin >> ile;
cout << "od i do\n";
cin >> odilu >> doilu;
while (ile--)
{
int liczba = 0;
cin >> liczba;
if (liczba >= odilu and liczba <doilu ) suma += liczba;
}
cout << suma;
return 0;
}
Działa Bardzo dziękuję :-))