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

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

21.01.2018, 17:00. Показов 4221. Ответов 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
-80 / 27 / 1
Регистрация: 14.03.2015
Сообщений: 811
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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru