7. Вводится последовательность из n вещественных чисел. Определить,
сколько из них больше своих соседей, т. е. предыдущего и последующего.
C/C++
Работа с циклами с++
Ну хватит ????
#include <iostream>
using namespace std;
int main() {
cout << "n: ";
int n;
cin >> n;
auto count = 0U;
double previous, current, next;
cout << ">>> ";
cin >> previous >> current;
--n;
while (--n > 0) {
cin >> next;
if (current > previous && current > next) ++count;
previous = current;
current = next;
}
cout << "<<< " << count << '\n';
system("pause > nul");
}
using namespace std;
int main() {
cout << "n: ";
int n;
cin >> n;
auto count = 0U;
double previous, current, next;
cout << ">>> ";
cin >> previous >> current;
--n;
while (--n > 0) {
cin >> next;
if (current > previous && current > next) ++count;
previous = current;
current = next;
}
cout << "<<< " << count << '\n';
system("pause > nul");
}
Владимир Ивановkarluxxd))
Прекрасно! Вот решение без массива, но именно с последовательностью.
#include
using namespace std;
int main()
{
int size, j = 0, cols = 0;
cin >> size;
int* arr = new int[size+1];
for (int i = 0; i < size; i++)
{
cin >> arr[i];
}
for (int i = 1; i <= size; i++)
{
int oneelement = arr[j];
if (oneelement < arr[i])
{
cout << oneelement << " " << arr[i]<<endl;
cols++;
}
j++;
}
cout << cols;
delete[] arr;
return 0;
}
using namespace std;
int main()
{
int size, j = 0, cols = 0;
cin >> size;
int* arr = new int[size+1];
for (int i = 0; i < size; i++)
{
cin >> arr[i];
}
for (int i = 1; i <= size; i++)
{
int oneelement = arr[j];
if (oneelement < arr[i])
{
cout << oneelement << " " << arr[i]<<endl;
cols++;
}
j++;
}
cout << cols;
delete[] arr;
return 0;
}
Завадский Сергей
И первый if стоит просто так ;|
не знаю как на си это будет
но я бы так реализовал:
Запрос: введите n
Дальше инициация цикла for n
в теле которого будет созданы и введены инпутом переменные в диапазон n+1
дальше инициация цикла сравнения чисел для множества введённых чисел n+-1. создаем переменную для счетчика. Если n1>n0>n2 то добавляем на счетчик 1
Вывод счестчика
но я бы так реализовал:
Запрос: введите n
Дальше инициация цикла for n
в теле которого будет созданы и введены инпутом переменные в диапазон n+1
дальше инициация цикла сравнения чисел для множества введённых чисел n+-1. создаем переменную для счетчика. Если n1>n0>n2 то добавляем на счетчик 1
Вывод счестчика
Завадский Сергей
ух-ты, так всё просто! Спасибо тебе!
Владимир Ивановkarluxxd))
Только первые три числа следует рассмотреть сразу (а при n < 3 ответ ноль).
Как есть — это вариант задачи подсчёта локальных максимумов.
Как есть — это вариант задачи подсчёта локальных максимумов.
Владимир Ивановkarluxxd))
И, кстати, число после найденного локального максимума само локальным максимумом быть не может, т. к. оно НЕ больше предыдущего.
Похожие вопросы
- Объясните мне принцип работы циклов
- Учу с++, можете объяснить на пальцах? не понимаю работу условия в теле цикла... if ((i+1)%3 != 0)
- Объясните работу цикла for в c++
- Помогите С++ с цикла for нужно сделать while цикл и do while цикл точнее у меня вышла только с циклом for
- Циклы C++. Создание программ с циклическими конструкциями.
- Нужно написать программу с вложенным циклом
- Программа на СИ. Циклы с постусловием и предусловием
- Написание цикла линий
- Университетская задача на циклы в языке С
- Не могу написать код на с++ нужно решать через циклы но если у вас другие варианты пишите тоже желательно циклы