Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Lollipo
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 36
#1

Найти число локальных максимумов массива - C++

03.10.2010, 17:39. Просмотров 1009. Ответов 8
Метки нет (Все метки)

12.Напишите программу, которая вводит с клавиатуры непустой массив целых чисел, и печатает число локальных максимумов (элемент является локальным максимумом, если он не имеет соседей, больших, чем он сам).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2010, 17:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти число локальных максимумов массива (C++):

Найти минимальный из локальных максимумов массива - C++
// Array 35.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" #include <iomanip> #include <Windows.h> ...

Определить число локальных максимумов матрицы - C++
Кто чем поможет? ? Хотя бы как искать локальный максимум. Определить число локальных максимумов заданной матрицы Элемент матрицы...

Найдите количество абсолютных и локальных минимумов и максимумов среди элементов одномерного массива - C++
Найдите количество абсолютных и локальных минимумов и максимумов среди элементов одномерного массива.

Найти общее количество локальных максимумов в строках заданной матрицы - C++
Добрый вечер, пользователи данного форума! Мне дали задание, но я никак не могу его сделать, не знаю с чего начать. Прошу вашей помощи ) ...

В массиве найти и напечатать номера (индексы) локальных максимумов (Прокомментировать код) - C++
#include <iostream> #include <conio.h> using namespace std; int main () { int n, i; cin >> n; int *a =...

Определить количество строгих локальных максимумов в последовательности - C++
Элемент последовательности называется локальным максимумом, если он строго больше предыдущего и последующего элемента последовательности....

8
asics
Freelance
Эксперт С++
2847 / 1782 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
03.10.2010, 19:24 #2
Елементарно,Ватссон
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
int main()
{
    std::cout << "Vedite pazmepHoct macuva: ";
    int n = 0;
    std::cin >> n;
    int arr[n];
    for(int i = 0; i < n; i++)
    {
       std::cout << "arr[" << i << "] = ";
       std::cin >> arr[i];
    }
    for(int i = 0; i < n; i++)
    {
            if(arr[i] < arr[i+1] && arr[i] < arr[i-1])
               std::cout << arr[i] << " ";
    }
    std::cin.get();   
    std::cin.get(); 
}
0
Хохол
Эксперт С++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
03.10.2010, 19:34 #3
Холмс, у тебя дважды выход за границы массива происходит.
1
asics
Freelance
Эксперт С++
2847 / 1782 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
03.10.2010, 19:35 #4
Так пусть ТС совершенствует код,я навёл на путь.
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
03.10.2010, 19:36 #5
Asics^, Не. Ну все же нехорошо так наводить на путь...
0
asics
Freelance
Эксперт С++
2847 / 1782 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
03.10.2010, 19:39 #6
Lavroff, Если чесно то я так и не понял где мой промах
0
neske
1498 / 865 / 84
Регистрация: 26.03.2010
Сообщений: 2,966
03.10.2010, 19:45 #7
Asics^, такой забавный)

Если первый элемент, то arr [i-1] - выход за границу.
Если последний элемент, то arr [i+1] - выход за границу.
1
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
03.10.2010, 19:47 #8
может так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
int main()
{
    int n=10;
    int arr[10];
    for(int i = 0; i < n; i++)
    {
       std::cout << "arr[" << i << "] = ";
       std::cin >> arr[i];
    }
    for(int i = 0; i < n; i++)
    {
            if(i!=0 && i!=n-1 && arr[i] > arr[i+1] && arr[i] > arr[i-1])
               std::cout << arr[i] << " ";
            if(i==0 && arr[i]<arr[i+1])
               std::cout << arr[i] << " ";
            if(i==n-1 && arr[i]<arr[i-1])
               std::cout << arr[i] << " ";
    }
    std::cin.get();   
    std::cin.get(); 
}
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
03.10.2010, 20:09 #9
Малясь индокод получился.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
int main()
{
    std::cout << "Vedite pazmepHoct macuva: ";
    int n = 0;
    std::cin >> n;
    int arr[n];
    for(int i = 0; i < n; i++)
    {
       std::cout << "arr[" << i << "] = ";
       std::cin >> arr[i];
    }
    for(int i = 0; i < n; i++)
    {
            if(i==0)
            {
                if(arr[i]>arr[i+1])
                {
                   std::cout<<arr[i]<<'\n';
                }
             }
            else if(i==n-1)
            {
                if(arr[i]>arr[i-1])
                {
                   std::cout<<arr[i]<<'\n';
                }
            }
            else
            {               
               if(arr[i] > arr[i+1] && arr[i] > arr[i-1])
                  std::cout << arr[i] << " ";
             }
    }
    std::cin.get();   
    std::cin.get(); 
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2010, 20:09
Привет! Вот еще темы с ответами:

Поменять знак всех локальных максимумов данной матрицы на противоположный. - C++
Дана матрица размера M × N. Элемент матрицы называется ее ло-кальным максимумом, если он больше всех окружающих его элементов. Поменять...

Поменять знак всех локальных максимумов данной матрицы на противоположный - C++
Matrix75. Дана матрица размера M × N. Элемент матрицы называется ее ло-кальным максимумом, если он больше всех окружающих его элементов....

При нахождении количества локальных максимумов в последовательности for_each возвращает ноль - C++
Задание: Найти количество локальных максимумов в последовательности с помощью for_each. #include &lt;iostream&gt; #include &lt;algorithm&gt; ...

Разработать шаблонный класс для нахождения локальных максимумов и минимумов в массиве - C++
Помогите пожалуйста. Необходимо найти количество абсолютных и локальных минимумов и максимумов среди элементов одномерного массива. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Yandex
Объявления
03.10.2010, 20:09
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru