Programowanie C++: Program ma czytać z klawy liczbę naturalną n, a następnie sprawdzić ILE kolejnych liczb naturalnych od 1 trzeba zsumować aby ta suma przekroczyła podane n.
int ile, licznik; licznik=0; ile=0; for(i=i;i<1000;i++) //rozpoczyna się od 1 i aż do 1000 rośnie po jeden { //rozpoczęcie for if(ile<n) { ile=ile+i; } else if(ile>n) { cout<<" Ile? Tyle: "<<licznik<<"\n Albowiem "<<ile<<" jest większe od "<<n; } licznik++; //co obrót zwiększamy licznik o 1 punkt, czyli tak jakby o kolejną liczbę, jaka potrzebna jest... } //zakończenie for
Problem w tym, że mam jakieś błędy i się nie chce kompilować. Proszę o pomoc :)
assimar
Pomijając fakt, że Twój program jest nie poprawny logicznie - dawał by zły wynik, a metoda jest troszkę nie optymalna, przeanalizuj to: #include <iostream> using namespace std;
int main() { int ile, licznik,n; cin>>n; ile=0; for(licznik=1;ile<n;licznik++) { ile=ile+licznik; cout<<"<"<<ile<<">"; } cout<<" Ile? Tyle: "<<licznik-1<<"\n Albowiem "<<ile<<" jest większe od "<<n; system("pause"); }
#include <iostream>
using namespace std;
int main()
{
int ile, licznik,n;
cin>>n;
ile=0;
for(licznik=1;ile<n;licznik++)
{
ile=ile+licznik;
cout<<"<"<<ile<<">";
}
cout<<" Ile? Tyle: "<<licznik-1<<"\n Albowiem "<<ile<<" jest większe od "<<n;
system("pause");
}