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

Переставить числа в последовательности , что бы сначала шли числа равные первому члену, затем равные второму и тд

04.05.2014, 10:59. Показов 1462. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста! Не могу решить задачу на перемещение элементов массива
Даны целые числа a1,....,an. Переставить числа в последовательности таким образом, что бы сначала шли все числа, равные первому члену, затем - равные второму и тд.
Мой код не работает
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
#include <iostream>
#include <clocale>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"rus");
    int i,j,k,help,poz=-1;
    const int n=9;
    int x[n];
    cout<<"Введите элементы массива: ";
    for(i=0;i<n;i++)
        cin>>x[i];
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            if((x[i]==x[j])&&(i!=j))
            {
                poz++;
                i++;
                help=x[j];
                for(k=j-1;k>=poz;k--)
                    x[k+1]=x[k];
                x[poz]=help;
            }
 
        }
    }
    cout<<'\n'<<"Новый массив: ";
    for(i=0;i<n;i++)
        cout<<x[i]<<' ';
    cout<<'\n';
    system("pause");
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.05.2014, 10:59
Ответы с готовыми решениями:

Переставить числа в массиве так, чтобы сначала шли элементы меньшие b, затем равные b, а лишь затем большие b
Дан массив a и число b. Переставить числа в массиве так, чтобы сначала шли элементы меньшие b, затем равные b, а лишь затем большие b

Переставить числа в массиве таким образом, чтобы сначала шли элементы меньше a[b], затем равные a[b], и потом большие
3) Дан массив a и число b. Переставить числа в массиве таким образом, чтобы сначала шли элементы меньше a, затем равные a, и потом большие...

Переставить числа в массиве так, чтобы сначала располагались числа, меньшие b, затем – равные b, а после – большие b.
Помогите Пожалуйста написать программу: Дан целочисленный массив a и число b. Переставить числа в массиве таким образом, чтобы сначала в...

4
 Аватар для zitxbit
96 / 748 / 279
Регистрация: 11.04.2012
Сообщений: 971
04.05.2014, 11:30
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
#define N 10
 
int main(int argc, char* argv[])
{
    int A[N] = { 7, 6, 4, 3, 6, 7, 6, 2, 5, 2 };
 
    printf("A = { ");
 
    for (int index = 0; index < N; index++)
        printf((index < N-1) ? "%d, " : "%d ", A[index]);
 
    printf("}\n\n");
 
    for (int index = 0; index < N; index++)
        for (int nindex = index + 1; nindex < N; nindex++)
        if (A[index] == A[nindex])
        {
            int r = N - 1;
            int t = nindex, val = A[nindex];
            while (t < N) A[t++] = A[t + 1];
            while (r >= index+1) A[r + 1] = A[r--];
            if (val > 0 ) A[index + 1] = val;
        }
 
    printf("Output = { ");
 
    for (int index = 0; index < N; index++)
        printf((index < N - 1) ? "%d, " : "%d ", A[index]);
 
    printf("}\n\n");
 
    _getch();
 
    return 0;
}
Миниатюры
Переставить числа в последовательности , что бы сначала шли числа равные первому члену, затем равные второму и тд  
0
 Аватар для MicM
840 / 498 / 325
Регистрация: 29.12.2009
Сообщений: 1,106
04.05.2014, 12:12
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
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
 
void show (int *mas, int size)
{
    for (int i=0; i<size; i++)
        cout <<mas[i] <<' ';
    cout <<endl;
}
 
int main()
{
    srand (time(0));
    const int size = 10;
    int a[size], tmp[size];
    for (int i=0; i<size; i++)
    {
        a[i] = rand()%10+1;
        tmp[i] = a[i];
    }
    show (a,size);
    int k = 0;
    for (int i=0; i<size; i++)
    {
        for (int j=k; j<size; j++)
        {
            if (tmp[i]==a[j])
            {
                int temp = a[j];
                a[j] = a[k];
                a[k] = temp;
                ++k;
            }
        }
    }
    show (a,size);
    return 0;
}
0
WorkLoad
09.05.2014, 07:33
zitxbit, помогите с комментариями.

Добавлено через 36 секунд
Не понятно как работает эта программа

Добавлено через 1 минуту
zitxbit, я напишу вам в личку
0 / 0 / 1
Регистрация: 21.03.2014
Сообщений: 4
14.05.2014, 13:51  [ТС]
На моем тесте валится (9 элементов)
Миниатюры
Переставить числа в последовательности , что бы сначала шли числа равные первому члену, затем равные второму и тд  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.05.2014, 13:51
Помогаю со студенческими работами здесь

Массив: Переставить числа в массиве так, чтобы сначала шли элементы, меньшие b, равные b, а потом большие b...
Дан массив a и число b. Переставить числа в массиве таким образом, чтобы сначала шли элементы, меньшие b, затем равные b, а лишь затем...

Переставить числа в массиве таким образом что бы слева от границы стояли числа меньшие или равные b
#include &lt;iostream&gt; using namespace std; int main() { int *a; int size,b,l,r; cin &gt;&gt; size; a=new int; ...

Переставить числа так, чтобы сначала шли только 0, затем только 1, затем только 2
Даны целые числа A,A,A,...,A, каждое из которых является либо 0, либо 1, либо 2. Переставить числа так, чтобы сначала шли только 0, затем...

Переставить числа в массиве, чтобы слева от границы стояли числа, меньшие или равные b, а справа большие
Дан массив a и число b. Переставить числа в массиве таким образом, чтобы слева от некоторой границы стояли числа, меньшие или равные b, а...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
[В процессе разработки] SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru