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

Массивы. найти индексы тех элементов массива , которые больше своего правого соседа и количество таких элементов (почему то не работает корректно) - C++

Восстановить пароль Регистрация
 
Exercise
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 5
20.03.2013, 16:04     Массивы. найти индексы тех элементов массива , которые больше своего правого соседа и количество таких элементов (почему то не работает корректно) #1
Задание :
Дан одномерный массив b, найти индексы тех элементов массива , которые больше своего правого соседа и количество таких элементов .
Кто поможет , заранее благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2013, 16:04     Массивы. найти индексы тех элементов массива , которые больше своего правого соседа и количество таких элементов (почему то не работает корректно)
Посмотрите здесь:

Составьте программу, которая выводит индексы тех элементов массива (состоящего из В целых чисел), значение которых больше заданного числа А C++
C++ Дано целое число N и набор из N целых чисел. Определить номера тех чисел наборе, которые меньше своего правого соседа, и количество К таких чисел.
C++ Найти номера тех элементов массива, которые больше своего правого соседа, и количество таких элементов
C++ Многомерные массивы. Поиск количества тех элементов матрицы,которые больше суммы остальных элементов своего столбца
Вычислить индексы и минимальное значение только тех сумм элементов массива, которые являются простыми числами. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Triall
 Аватар для Triall
3 / 3 / 1
Регистрация: 16.02.2011
Сообщений: 68
20.03.2013, 17:13     Массивы. найти индексы тех элементов массива , которые больше своего правого соседа и количество таких элементов (почему то не работает корректно) #2
Что именно не работает ?
Exercise
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 5
20.03.2013, 23:32  [ТС]     Массивы. найти индексы тех элементов массива , которые больше своего правого соседа и количество таких элементов (почему то не работает корректно) #3
Точно не знаю, выводит пустую
Exercise
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 5
27.03.2013, 16:43  [ТС]     Массивы. найти индексы тех элементов массива , которые больше своего правого соседа и количество таких элементов (почему то не работает корректно) #4
у меня получается вот такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int main ()
{
int b [] = { 3,2,18,-4,10,-5,0);
int size = ( sizeof b / sizeof b[0] );
int i,n;
for ( n=0, i=0; i < size -1 ; i++)
if ( b[i] > b [i+1])
n++;
cout << n << endl;
int* p =new int [n];
for ( i=0, int j =0; i< size-1; i++)
if (b[i] > b [i+1])
дальше идет неверный фрагмент , вот как закончить что бы через заданный массив считалось???
SummerRain
 Аватар для SummerRain
325 / 324 / 17
Регистрация: 16.12.2012
Сообщений: 544
27.03.2013, 17:05     Массивы. найти индексы тех элементов массива , которые больше своего правого соседа и количество таких элементов (почему то не работает корректно) #5
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
#include <iostream>
using namespace std;
int main ()
{
    int b [] = {3, 2, 18, -4, 10, -5, 0};  // исправленна скобка 
    int size = sizeof b / sizeof b[0];
    int i, n;
    for (n = 0, i = 0; i < size - 1; i++)
        if ( b[i] > b [i+1])
            n++;
    cout << n << endl;
    int j = 0;
    int* p =new int [n];
    for (i = 0; i < size - 1; i++) {
        if (b[i] > b[i+1]) {
            p[j] = i;
            //cout << p[j] << " ";
            ++j;
        }
    }
    for (i = 0; i < n; i++) {
        cout << p[i] << " ";
    }
    system("pause");
    return 0;
}
Exercise
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 5
09.04.2013, 23:01  [ТС]     Массивы. найти индексы тех элементов массива , которые больше своего правого соседа и количество таких элементов (почему то не работает корректно) #6
Цитата Сообщение от SummerRain Посмотреть сообщение
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
#include <iostream>
using namespace std;
int main ()
{
    int b [] = {3, 2, 18, -4, 10, -5, 0};  // исправленна скобка 
    int size = sizeof b / sizeof b[0];
    int i, n;
    for (n = 0, i = 0; i < size - 1; i++)
        if ( b[i] > b [i+1])
            n++;
    cout << n << endl;
    int j = 0;
    int* p =new int [n];
    for (i = 0; i < size - 1; i++) {
        if (b[i] > b[i+1]) {
            p[j] = i;
            //cout << p[j] << " ";
            ++j;
        }
    }
    for (i = 0; i < n; i++) {
        cout << p[i] << " ";
    }
    system("pause");
    return 0;
}
Ребят а какая будет у этой программы функция , которая возвращает значения , если писать с прототипом ?
Yandex
Объявления
09.04.2013, 23:01     Массивы. найти индексы тех элементов массива , которые больше своего правого соседа и количество таких элементов (почему то не работает корректно)
Ответ Создать тему
Опции темы

Текущее время: 01:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru