Решить в dev c++ и желательно блок-схему Дан массив размера N. Вывести массив на экран в строчку.
Найти номер его первого локального максимума. Локальный максимум – это элемент, который больше любого из своих соседей. Входные данные размерность массива: 5 0 5 89 10 100 Выходные данные 0 5 89 10 100 Номер элемента массива, первого локального минимума - 3Ответы на вопрос
#include <iostream>
#include <ctime>
using namespace std;
int main() {
srand(time(0));
int N;
setlocale (LC_ALL, "Russian");
cout << "Размер массива: ";
cin >> N;
int a[N];
for(int i = 0; i<N; ++i) {
cin >> a[i];
cout << " ";
}
for(int i = 0; i<N; ++i) {
cout << a[i];
cout << " ";
}
for(int i = 0; i<N; ++i) {
if(i==0) {
if(a[0]>a[1]) {
cout << endl << "Первый локальный максимум: " << a[i] << " под индексом " << i;
break;
}
}
if(i==N) {
if(a[N]>a[N-1]) {
cout << endl << "Первый локальный максимум: " << a[i] << " под индексом " << i;
break;
}
}
if(i!=0&&i!=N) {
if(a[i]>a[i-1]&&a[i]>a[i+1]) {
cout << endl << "Первый локальный максимум: " << a[i] << " под индексом " << i;
break;
}
}
}
}
Приведу пример решения задачи на C++ и включу блок-схему для наглядности.
cpp#include <iostream>
int main() {
const int N = 5; // Размер массива
int arr[N];
// Ввод элементов массива
std::cout << "Введите " << N << " элементов массива:\n";
for (int i = 0; i < N; ++i) {
std::cin >> arr[i];
}
// Вывод массива на экран
std::cout << "Массив: ";
for (int i = 0; i < N; ++i) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
int local_max_index = -1; // Индекс первого локального максимума
// Поиск первого локального максимума
for (int i = 1; i < N - 1; ++i) {
if (arr[i] > arr[i - 1] && arr[i] > arr[i + 1]) {
local_max_index = i;
break;
}
}
if (local_max_index != -1) {
std::cout << "Номер элемента первого локального максимума: " << local_max_index << std::endl;
} else {
std::cout << "Локальный максимум не найден." << std::endl;
}
return 0;
}
И вот блок-схема для этого решения:
lua+--------------------------+
| Ввод размерности N |
| Создание массива arr |
| |
| +------------------+ |
| | Ввод элементов | |
| | массива | |
| +------------------+ |
| |
| +------------------+ |
| | Вывод массива | |
| | на экран | |
| +------------------+ |
| |
| Инициализация |
| local_max_index = -1 |
| |
| +------------------+ |
| | Поиск первого | |
| | локального | |
| | максимума | |
| +------------------+ |
| |
| +------------------+ |
| | Вывод номера | |
| | локального | |
| | максимума (если | |
| | найден) | |
| +------------------+ |
| |
+--------------------------+
Обратите внимание, что в данном коде предполагается, что размер массива N равен 5. Вы можете адаптировать код для работы с массивами других размеров, при необходимости.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
