С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 06.01.2018
Сообщений: 28

Найти количество элементов массива значения которых больше своих соседей

21.01.2018, 17:00. Показов 4190. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Одномерный массив задается с клавиатуры.Вывести на экран кол-во значений которые больше своих соседей.
Моё убожество в студию...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int main()
 {
    int N,i;
    cout << "Vvedi kol-vo elementov: ";
    cin >> N;
    int arr[N];
     for(i=0;i<N;i++)
     {
        cout << "Vvod " << i << " elementa: ";
        cin >> arr[i];
     }
     for(i=0;i<N;i++)
     {  
    if(arr[i-1]&&arr[i+1]<arr[i]) 
       {
        cout << arr[i] << endl ;
        }
     }
return 0 ;
}
Миниатюры
Найти количество элементов массива значения которых больше своих соседей  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.01.2018, 17:00
Ответы с готовыми решениями:

Посчитать количество элементов массива, которые больше своих соседей
Дан массив. Посчитайте, сколько в нем элементов, которые больше своих соседей. ВХОДНЫЕ ДАННЫЕ Программа получает на вход число N....

Определить количество элементов массива, которые больше своих соседей
Дан массив из n элементов. Необходимо вывести количество элементов, которые больше своих «соседей» (следующего и предыдущего элементов). ...

Найти число элементов массива, которые больше своих “соседей”
Найти число элементов массива, которые больше своих “соседей”, т.е. предшествующего и последующего элементов.

9
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
21.01.2018, 17:04
Цитата Сообщение от AnAlCH Посмотреть сообщение
в студию...
Чуток подправить... Вы зачем-то выводите эти локальные максимумы, а надо из просто посчитать.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int main()
 {
    int N,i, count=0;
    cout << "Vvedi kol-vo elementov: ";
    cin >> N;
    int arr[N];
     for(i=0;i<N;i++)
     {
        cout << "Vvod " << i << " elementa: ";
        cin >> arr[i];
     }
     for(i=0;i<N;i++)
     {  
    if(arr[i-1]<arr[i] && arr[i+1]<arr[i])  // тут тоже была ощибочка
       {
        count++;
        }
     }
   cout << count << endl;
return 0 ;
}
0
0 / 0 / 0
Регистрация: 06.01.2018
Сообщений: 28
21.01.2018, 17:08  [ТС]
Так вот вопрос,как их посчитать?
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
21.01.2018, 17:11
Цитата Сообщение от AnAlCH Посмотреть сообщение
Так вот вопрос,как их посчитать?
А что, код приведенный в посте 2, этого не объясняет?

Добавлено через 1 минуту
Да, еще одна ошибочка. Скопипастил, не посмотрев. В строчке 12
C++
1
 for(i=1 ; i < N-1; i++)
0
0 / 0 / 0
Регистрация: 06.01.2018
Сообщений: 28
21.01.2018, 17:15  [ТС]
Туплю.Спасибо большое!)
0
-30 / 27 / 1
Регистрация: 14.03.2015
Сообщений: 805
21.01.2018, 17:18
C++
1
 int arr[N];
наверное здесь надо устанавливать динамический массив
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
21.01.2018, 17:31
Цитата Сообщение от gogaloh Посмотреть сообщение
наверное здесь надо устанавливать динамический массив
С++ допускает такие конструкции. Современные варианты чистого С - тоже. Но можно, да, динамически. И лично мне это больше нравится...
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
21.01.2018, 18:19
Байт, случаи a[0]>a[1] и a[N]>a[N-1] учитываются?

Добавлено через 10 минут
вопрос снимается (задачу прочёл как пишет ТС) - по оригиналу задания это не требуется. но требуется ввод действительных чисел.
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
21.01.2018, 18:31
Цитата Сообщение от Yetty Посмотреть сообщение
случаи a[0]>a[1] и a[N]>a[N-1] учитываются?
Нет, в моем коде не учитываются. Но модифицировать код не сложно. Например так
C++
1
2
3
4
5
6
7
for(i=0;i<N;i++) {
    bool r = false;
    if((i>0 && i<N-1 && arr[i-1]<arr[i] && arr[i+1} < arr[i]) r = true;
    if (i==0 && arr[0] > arr[1]) r = true;
    if (i==N-1 && arr[N-1] > arr[N-2]) r = true;
    if (r) count++;
}
Добавлено через 3 минуты
Цитата Сообщение от Yetty Посмотреть сообщение
вопрос снимается
В самом деле снимать его не надо. А надо уточнить понятие соседства. Впрочем, по общепринятому смыслу arr[0] имеет соседа arr[1] и ваше замечание действительно разумно.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
21.01.2018, 18:45
AnAlCH, если не учитываются случаи когда первый элемент больше второго или последний больше предпоследнего - так как в оригинале условия элемент должен быть больше обоих (т.е. двух) - тогда так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main()
 {
    int N, i, kol=0;
    cout << "Enter N: ";
    cin >> N;
    double arr[N];
     for(i=0; i<N; i++)
     {
        cout << "arr["<< i <<"]="; cin >> arr[i];
     }
     for(i=1; i<N-1; i++)      
    if(arr[i-1]<arr[i] && arr[i+1]<arr[i]) kol++;      
    cout <<"kol="<<kol;  
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.01.2018, 18:45
Помогаю со студенческими работами здесь

Вывести количество элементов массива, которые строго больше обоих своих соседей (исправить)
Сначала задано число N — количество элементов в массиве (1N100). Далее через пробел записаны N чисел — элементы массива. Формат...

Найти количество элементов массива, значения которых положительны, и не больше заданного числа
6.Найти количество тех элементов, значения которых положительны и не больше заданного числа, введённого с клавиатуры помогите плиз...

Найти сумму элементов массива, которые больше своих "соседей" справа и слева
В массиве из N элементов найти сумму тех элементов, которые больше своих &quot;соседей&quot; справа и слева.

Перегруженные функции вычисляющие количество элементов, которые больше своих соседей
Написать реализации перегруженных функций: int func(double* arr, int length); int func(char* str); Функция func возвращает количество...

Сформировать вектор М из элементов массива А, которые больше своих соседей
Дан массив А(n), n &lt;= 15, целого типа. Сформировать вектор М из элементов А, которые больше своих соседей, то есть ai &gt; ai-1 и ai &gt;...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru