C/C++

Не работает код

вот задача Последовательность состоит из натуральных чисел и завершается числом 0
. Определите, сколько элементов этой последовательности больше предыдущего элемента.
вот код

#include <iostream>

using namespace std;

int main()
{
int c = 0;
int num = 1;
int last = num;
while (num!=0){
num = 0;
cin >> num;
if (last<num){
last = num;
c=c+1;
}
cout << c;
}

}
 unsigned cnt = 0, n = UINT_MAX, prev;
do {
prev = n;
cin >> n;
cnt += n > prev;
} while (n);
cout
Акмал Ибрагимов
Акмал Ибрагимов
87 645
Лучший ответ
Так проверь:

 #include  

using namespace std;

int main()
{
int c = 0;
int num = 1;
int last = num;

while (num != 0) {
cin >> num;
if (last < num) {
last = num;
c = c + 1;
}
}

cout
#include <iostream>
#include <vector>

using namespace std;

int main()
{
double num;
vector<double> numbers;
cout<<"Введите последовательность натуральных чисел, с нулём на конце:";
while (true) {
cin >> num;
if (num == 0) {
cout << "Введён 0" << endl;
break;
}
int count = 0;
for (vector<double>::const_iterator it = numbers.begin(); it != numbers.end(); ++it)
if (*it > num)
++count;
cout << "Чисел больше " << num << ": " << count << endl;
numbers.push_back(num);
}
return 0;
}
Николай Гуреев
Николай Гуреев
69 825
Попробуй так

#include <iostream>

using namespace std;

int main()
{
int c = 0;
int num = 1;
int last = num;
while (num != 0){
num = 0;
cin >> num;
if (num != 0 && last < num){
last = num;
c = c + 1;
}
cout << c << "\n";
}
return 0;
}