Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 23.11.2018
Сообщений: 22
1

В рандомном массиве добавить мин. элемент перед всеми элементами, чьим делителем он будет

23.11.2018, 17:38. Показов 1013. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Сделал так , но немогу доделать никак . Диапазон массива (-50; -10).

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
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <string>
#include <iostream>
#include <vector>
#include <time.h>
#include <stdio.h> 
#include <math.h>
#include <fstream>
#include <conio.h>
using namespace std;
#define size 10
int main() {
    srand(time(NULL));
    int n3[size];
    for (int i = 0; i < size; i++)
    {
        n3[i] = -50 + rand() % 30;
    }
    cout << "  ";
    cout << "Massiv n3 rand:";
    for (int i = 0; i < size; i++)
    {
        cout << n3[i] << "";
    }
    cout << endl;
    //sort iznach massiva n3
    for (int i =  1; i < size; ++i)
        for (int l = 0; l < size - i; ++l)
        {
            if (n3[l] < n3[l + 1])
            {
                int foo = n3[l];
                n3[l] = n3[l + 1];
                n3[l + 1] = foo;
            }
        }
    cout << endl;
    for (int i = 0; i < size; ++i)
        cout << n3[i] << endl;
 
    int mini = n3[0];
    for (int i = 0; i < size; i++)
    {
        if (mini > n3[i])
            mini = n3[i];   
    }
 
    cout << "min=" << mini  << "\n";
return 0;
 
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2018, 17:38
Ответы с готовыми решениями:

Вставить новый элемент перед всеми четными элементами
Не работает,помогите исправить static void Main() { ...

Вставить новый элемент, перед всеми чётными элементами одномерного массива
3)В одномерном массив, элементы которого целые числа, произвести следующие действия: вставить новый...

Вставить новый элемент, перед всеми нечётными элементами одномерного массива
Вставить новый элемент, перед всеми нечётными элементами одномерного массива.

Используя класс-контейнер vector, вставить элемент х перед всеми минимальными элементами
Используя класс-контейнер vector, вставить элемент х перед всеми минимальными элементами Вход:...

3
1352 / 851 / 365
Регистрация: 26.02.2015
Сообщений: 3,799
23.11.2018, 17:44 2
Для данной задачи неэффективно использовать массивы или контейнер std::vector<>, т.к. вставка в середину массива - не самая лучшая идея. Для таких целей лучше использовать списки.
0
2456 / 1061 / 481
Регистрация: 17.11.2018
Сообщений: 2,740
23.11.2018, 23:37 3
Лучший ответ Сообщение было отмечено Demo_2012 как решение

Решение

Цитата Сообщение от Demo_2012 Посмотреть сообщение
В рандомном массиве добавить мин. элемент перед всеми элементами, чьим делителем он будет
Цитата Сообщение от Demo_2012 Посмотреть сообщение
Диапазон массива (-50; -10).
Как-то так:
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <string>
#include <iostream>
#include <vector>
#include <time.h>
#include <stdio.h> 
#include <math.h>
#include <fstream>
#include <conio.h>
 
using namespace std;
 
#define size 10
 
int main() 
{
    srand (( unsigned ) time ( NULL ));
    
    int n3[size * 2] = { 0 };
     
    for ( int i = 0; i < size; i++ )
        n3[i] = rand() % 40 - 50;
 
    cout << " Massiv n3 rand:\n";
    for ( int i = 0; i < size; i++ )
        cout << n3[i] << " ";
    
    cout << endl;
    
    int mini = n3[0];
    for ( int i = 1; i < size; i++ )
        if ( n3[i] < mini )
            mini = n3[i];   
   
    cout << "mini = " << mini  << endl; 
    
    int k = size;
    for ( int i = 0; i < k; i++ )
    {
        if (( n3[i] % mini ) == 0 )
        {
            for ( int j = k; j > i; j-- )
                n3[j] = n3[j - 1];
            
            n3[i] = mini;
            k++;
            i++;
        }
    }
   
    for ( int i = 0; i < k; ++i )
        cout << n3[i] << " ";
    
    return 0;
}
Странная задача, не правда ли? Ведь в этом диапазоне мин.элемент и будет делителем для самого себя и больше ни для кого. Так в чем фишка-то?
И потом, если ты делаешь сортировку по убыванию, то зачем потом искать мин. элемент? Последний же(или несколько) элемент и будет минимальным. Добавить столько же в хвост и всё( массивчик, кстати, нужен по-больше ). А если тебе просто нужно найти мин. элемент, то зачем сортировку делать? Тут, как говорится, или крестик сними или трусы надень.
Ну, да ладно, дело хозяйское...
1
0 / 0 / 0
Регистрация: 23.11.2018
Сообщений: 22
24.11.2018, 12:52  [ТС] 4
Спасибо за развернутый ответ.)
0
24.11.2018, 12:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2018, 12:52
Помогаю со студенческими работами здесь

Дана последовательность целых чисел. Вставить новый элемент перед всеми четными элементами
Дана последовательность целых чисел. Вставить новый элемент перед всеми четными элементами...

Создать список из целых чисел. Перед всеми минимальными элементами вставить новый элемент
Создать список из целых чисел. После всех максимальных элементов вставить новый элемент....

Вставить элемент со значением A перед всеми элементами,большими A,а элемент со значением B после всех элементов меньших B.
Вставить элемент со значением A перед всеми элементами,большими A,а элемент со значением B после...

Вставьте элемент, равный минимальному элементу всего массива, перед всеми элементами, равными максимальному элементу.
В консольном приложении реализуйте указанную задачу, используя одномерный массив целых чисел....

Перед всеми глаголами в инфинитиве оканчивающихся на ить,ять,ать.Добавить частицу не перед словом
Преобразовать исходный текст следующим образом:перед всеми глаголами в инфинитиве оканчивающихся на...

Вставить число А перед всеми элементами, большими А
7. Вставить число А перед всеми элементами, большими А, а число В - после всех элементов, меньших...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru