Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Zhandos01
1 / 1 / 0
Регистрация: 27.10.2015
Сообщений: 92
1

В массив В перенести все элементы массива А, стоящие левее минимального элемента

01.11.2015, 12:05. Просмотров 612. Ответов 15
Метки нет (Все метки)

Ввести массив А. В массив В

перенести все элементы массива А,

стоящие левее минимального элемента, и имеющие нечетный индекс.

Массив В отсортировать по убыванию, используя быструю сортировку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2015, 12:05
Ответы с готовыми решениями:

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать
Добрый Вечер! Написал первую часть программы по этому заданию"Ввести массив А....

Все четные элементы, стоящие левее минимального, уменьшить в 2 раза
Здравствуйте, написала код к задаче "В массиве все четные элементы, стоящие...

Все элементы массива, стоящие после минимального, заменить нулями
Все элементы массива, стоящие после минимального, заменить нулями Написал...

Массив. Удалить все положительные элементы, имеющие четный порядковый номер, идущие после минимального элемента массива
11. В массиве A=(a1, а2, ..., аn) удалить все положительные элементы, имеющие...

Сформировать массив из элементов расположенных левее минимального элемента
Из отрицательных элементов массива массив X из n элементов, расположенных левее...

15
GbaLog-
Любитель чаепитий
3167 / 1473 / 465
Регистрация: 24.08.2014
Сообщений: 5,207
Записей в блоге: 1
Завершенные тесты: 2
01.11.2015, 16:51 2
Zhandos01, Массивы какого типа? int?
0
Zhandos01
1 / 1 / 0
Регистрация: 27.10.2015
Сообщений: 92
01.11.2015, 16:54  [ТС] 3
да, можно решить без указателей и прочих операторов, только циклы
0
GbaLog-
Любитель чаепитий
3167 / 1473 / 465
Регистрация: 24.08.2014
Сообщений: 5,207
Записей в блоге: 1
Завершенные тесты: 2
01.11.2015, 17:14 4
Zhandos01, Вы сами сделали что-то?
0
Zhandos01
1 / 1 / 0
Регистрация: 27.10.2015
Сообщений: 92
01.11.2015, 17:28  [ТС] 5
кроме циклов толком ничего не сделал, не получается
0
Zhandos01
1 / 1 / 0
Регистрация: 27.10.2015
Сообщений: 92
02.11.2015, 11:17  [ТС] 6
Ввести массив А. В массив В

перенести все элементы массива А,

стоящие левее минимального элемента, и имеющие нечетный индекс.

Массив В отсортировать по убыванию, используя быструю сортировку.
0
GbaLog-
Любитель чаепитий
3167 / 1473 / 465
Регистрация: 24.08.2014
Сообщений: 5,207
Записей в блоге: 1
Завершенные тесты: 2
02.11.2015, 11:54 7
Zhandos01,
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main() {
    const int size = 10;
    int a[size], min = 0, Min = 0;
    for( int i = 0; i < 10; i++ )
        cin >> a[i];
    min = a[0];
    for( int i = 1; i < 10; i++ )
        if( a[i] < min ) {
            min = a[i];
            Min = i;
        }
    cout << "Min == " << Min << "\n";
    min = 0;
    for( int i = 0; i < Min; i++ )
        if( i % 2 != 0 ) min++;
    int b[min];
    cout << "[Debug mode]\n" << "min == " << min << "\n";
    for( int i = 0, j = 0; i < Min || j < min; i++ )
        if( i % 2 != 0 ) {
            cout << "a[" << i << "] == " << a[i] << "\n";
            b[j] = a[i];
            j++;
        }
    cout << "[/Debug mode]\n";
    for( int i = 0; i < min; i++ ) cout << "b[" << i << "] == " << b[i] << "\n";
    getch();
    return 0;
}
Вот что получилось, а что такое "быстрая сортировка" я, к сожалению не знаю. Из всех сортировок знаю только пузырьком, да и то только название.

Добавлено через 7 минут
На выводы не обращайте внимания, я просто тестил, правильно ли все.
0
Zhandos01
1 / 1 / 0
Регистрация: 27.10.2015
Сообщений: 92
02.11.2015, 20:03  [ТС] 8
как будет код?
Ввести массив А. В массив В

перенести все элементы массива А,

стоящие левее минимального элемента, и имеющие нечетный индекс.
0
Ouroboros-SK
60 / 60 / 47
Регистрация: 08.09.2013
Сообщений: 187
Записей в блоге: 1
02.11.2015, 22:08 9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <vector>
#include <algorithm>
 
int main()
{
    std::vector<int> a = {1, 5, -3, 8, 19, 4};
    std::vector<int> b;
    auto min = std::distance(std::begin(a), std::min_element(std::begin(a), std::end(a)));
    for (auto i = 0; i < min; i++)
        if (i % 2)
            b.push_back(a[i]);
    for (auto next : b)
        std::cout << next << " ";
    return 0;
}
0
Zhandos01
1 / 1 / 0
Регистрация: 27.10.2015
Сообщений: 92
02.11.2015, 22:11  [ТС] 10
спасибо большое, но можешь написать для новичков, без <вектора> и <алгоритма>
0
Ouroboros-SK
60 / 60 / 47
Регистрация: 08.09.2013
Сообщений: 187
Записей в блоге: 1
02.11.2015, 22:33 11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cmath>
 
int main()
{
    const int N = 7;
    int a[N] = {1, 5, 7, -3, 8, 19, 4};
    unsigned int min = 0;
    for (unsigned int i = 1; i < N; i++)
        if (a[i] < a[min]) min = i;
    unsigned int M = (int)std::floor(min / 2.);
    int* b = new int[M];
    for (unsigned int i = 0; i < min; i++)
        if (i % 2)
            b[(int)(i / 2.)] = a[i];
    for (unsigned int i = 0; i < M; i++)
        std::cout << b[i] << " ";
    return 0;
}
1
Zhandos01
1 / 1 / 0
Регистрация: 27.10.2015
Сообщений: 92
02.11.2015, 22:38  [ТС] 12
в место указателей что можно написать, указателей еще не освоил )) можете без указателей
0
Ouroboros-SK
60 / 60 / 47
Регистрация: 08.09.2013
Сообщений: 187
Записей в блоге: 1
02.11.2015, 22:40 13
Замените
C++
1
int* b = new int[M];
на
C++
1
int b[M];
0
Zhandos01
1 / 1 / 0
Регистрация: 27.10.2015
Сообщений: 92
03.11.2015, 06:44  [ТС] 14
без указателей, обычным массивом, каким будет код?как будет код?

Ввести массив А. В массив В перенести все элементы массива А, стоящие левее минимального элемента, и имеющие нечетный индекс.
0
GbaLog-
Любитель чаепитий
3167 / 1473 / 465
Регистрация: 24.08.2014
Сообщений: 5,207
Записей в блоге: 1
Завершенные тесты: 2
03.11.2015, 10:42 15
Zhandos01,
C++
1
int b[M];
Это и есть обычный массив.

Не по теме:

Хорошо, что вам помогли, я с массивами вообще обычно не работаю просто. :)

0
avilive
2 / 2 / 4
Регистрация: 20.10.2015
Сообщений: 16
03.11.2015, 12:58 16
C++
1
2
unsigned int M = (int)std::floor(min / 2.);
int b[M];
Это не работает. Ошибка :
C2057: требуется константное выражение
C2466: невозможно выделить память для массива постоянного нулевого размера
C2133: b: неизвестный размер
0
03.11.2015, 12:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2015, 12:58

Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец массива - все нечетные
Помогите, пожалуйста. &gt;&gt;&quot;Дан одномерный массив А, состоящий из N элементов....

Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец массива - все нечетные
Помогите, пожалуйста. &gt;&gt;&quot;Дан одномерный массив А, состоящий из N элементов....

Заменить все положительные элементы массива на значение минимального элемента
Заменить все положительные элементы целочисленного массива размера 10 на...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

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