Witam,
Jest początkującym programistą uczącym się C++, uczęszczam na pewne warsztaty i jako zadanie domowe mamy napisać pewien program (tresci nie będę przytaczał). Do tego programu możemy uzyc takich komend jak while, for, if i else. Niestety mam problem z pętlą w pętli, a mianowicie kiedy zrobie to samo przez if-a to wszystko działa OK lecz jeśli zastąpie if-a dwoma pętlami while w nnej pętli while to po wpisaniu drugiej zmiennej nie moge wprowadzić kolejnych liczb. Tak jakby program coś robił albo nie czytał klawaitury... Czy moze mi ktos pomóc? Niżej załączam kodw c++:
Z while w while (nie działa):
```cpp
#include <iostream>
#include <cstdio>
using namespace std;
int n, w, s,k,ost;
int main ()
{
cin>>n;
k=1;
ost=0;
while (n>=k)
{cin>>w;
while (w<ost)
{s=ost-w;
}
while (w>ost)
{s=0;
}
ost=w;
k++;
}
cout<<s;
getchar ();
cin.ignore ();
return 0;
}
Z if (działa):
#include <iostream>
#include <cstdio>
using namespace std;
int n, w, s,k,ost;
int main ()
{
cin>>n;
k=1;
ost=0;
while (n>=k)
{
cin>>w;
if (w!=ost)
if (w<ost) s+=ost-w; else s=0;
ost=w;
k++;
}
cout<<s;
getchar ();
cin.ignore ();
return 0;
}
PS. Czy jest jakas mozliwosc, aby sprawić, żeby program działał szybciej, poniewaz gdy wprowadzam kod do sprawdzarki z warsztatów za każdym razem wyskakuje błąd "timelimit" tj. przekroczono czas sprawdzania wyników itp.