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

Программа должна придумать числа (рандом) и упорядочить их в порядке возрастания

28.11.2015, 21:30. Показов 2786. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ситуация такая... Преподаватель дал задание и оговорил детали. Через поиск я искал - нашел. НО! там совсем другие команды (там не в консольном приложении делается). Поэтому создаю новую тему.

Итак... описание программы:
1) Программа спрашивает у пользователя о количестве рандомных чисел, которые компьютер должен придумать и записать их в массив данных.
2) После чего... через поиск наименьшего числа - данные записываются в новый массив.
3) после чего. В самом конце через цикл фор - должен выдать сразу все эти числа.

Моя логика говорит, что по другому этого не сделать, кроме как сделал я... Но! Программа не работает должным образом. Быть точнее - некорректно отображает эти числа. (отображает наименьшее и наибольшее числа, а в середине повтор одного и того же какого-то числа)... такое ощущение, что программе нужна задержка на корректное добавления новых данных в новый массив... Или комп не справляется=)) Или, я реально, где-то, допустил ошибку... Есть толковые люди тут, которые могут помочь разобраться?=)

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
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
 
int main()
{
    int n;
    printf("vvedite number:\n");
    scanf_s("%d", &n);
    int *a = new int[n];
    int *b = new int[n];
 
    srand(time(NULL));
    for (int i = 0; i < n; i++)
    {
        a[i] = rand() % 100;
        printf("%d,   ", a[i]);
        b[i] = 0;
    }
    
    printf("\n");
    printf("\n");
 
        
    
        for (int i = 0; i < n; i++)
 
        {
            int min = a[i];
            
            for (int j = i; j < n; j++)
            {
                if (a[j] < min)
 
                {
                    min = a[j];
                }
                
            }
            b[i] = min;
            
        }
        for (int i = 0; i < n; i++)
        {
            printf("%d\n", b[i]);
        }
delete[]a;
delete[]b;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.11.2015, 21:30
Ответы с готовыми решениями:

Ввести ряд цифр и программа должна отсортировать из в порядке возрастания
Помогите пожалуйста с возникшими трудностями... Суть: нужно ввести ряд цифр и программа должна отсортировать из в порядке возрастания...

Упорядочить 3 числа в порядке возрастания
даны три числа. Упорядочить их в порядке возрастания. перестановку двух чисел оформить в виде процедуры. благодарю

Даны 3 числа. Упорядочить их в порядке возрастания
Даны 3 числа.Упорядочить их в порядке возрастания.Перестановку двух чисел оформить в виде процедуры.

3
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,030
Записей в блоге: 1
28.11.2015, 22:11
Алгоритмы сортировок
1
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 69
29.11.2015, 01:36  [ТС]
Спасибо большое! Но! Я это находил... Тут нет моего варианта! Тут я не проходил всё!!!=) Разобраться не смогу. Прошу помощи в разборке моего кода! Спасибо заранее!

Добавлено через 3 часа 7 минут
Поразбирался! Сделал как в алгоритме этого форума. Все равно не пашет. Посмотрите плиз!
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
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
 
int main()
{
    int n;
    printf("vvedite number:\n");
    scanf_s("%d", &n);
    int *a = new int[n];
 
 
    srand(time(NULL));
    for (int i = 0; i < n; i++)
    {
        a[i] = rand() % 100;
        printf("%d,   ", a[i]);
 
    }
 
    printf("\n");
    printf("\n");
 
 
 
    for (int i = 0; i < n; i++)
 
    {
        int min = a[i];
        int pos = i;
 
        for (int j = i++; j < n; j++)
        {
            if (a[j] < min)
 
            {
                pos = j;
                min = a[j];
            }
 
        }
 
        a[pos] = a[i];
        a[i] = min;
    }
    for (int i = 0; i < n; i++)
    {
        printf("%d\n", a[i]);
    }
    delete[]a;
 
}
0
2 / 2 / 5
Регистрация: 27.11.2015
Сообщений: 23
29.11.2015, 02:45
Ошибка в 32 строке:
C++
1
for (int j = i++; j < n; j++)
унарная операция ++ увеличение значения на единицу, соответственно переменная i увеличивается на 1 из-за чего основной цикл (строка 26) использует нечетные значения i (1,3,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
27
28
29
30
31
32
33
34
35
36
37
38
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
 
int main()
{
    int n;
    printf("vvedite number:\n");
    scanf("%d", &n);
    int *a = new int[n];
    srand(time(NULL));
    for (int i = 0; i < n; i++)
    {
        a[i] = rand() % 100;
        printf("%d\t", a[i]);
    }
    printf("\n\n");
    for (int i = 0; i < n; i++)
    {
        int min = a[i];
        int pos = i;
        for (int j = i+1; j < n; j++)
        {
            if (a[j] < min)
            {
                pos = j;
                min = a[j];
            }
        }
        a[pos] = a[i];
        a[i] = min;
    }
    for (int i = 0; i < n; i++)
    {
        printf("%d\t", a[i]);
    }
    delete[]a;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.11.2015, 02:45
Помогаю со студенческими работами здесь

Найти самое меньшее и большее числа, а все числа, стоящие между ними упорядочить в порядке возрастания
Стоит задача: Есть некий текстовый файл, в котором записаны 30 чисел. Необходимо найти самое меньшее и большее числа, а все числа,...

Написать программу, которая позволяет упорядочить три целых числа в порядке возрастания
Написать программу, которая позволяет упорядочить три целых числа в порядке возрастания. Использовать оператор if и логические операции.

Дана матрица m*n. Необходимо упорядочить все числа в порядке возрастания в каждой строке.
Дана матрица m*n. Необходимо упорядочить все числа в порядке возрастания в каждой строке. Вывести результат до и после изменения.

Программа должна вывести одно натуральное число — N-e в порядке возрастания число-палиндром
Рассмотрим все натуральные числа, запись которых в десятичной системе счисления является палиндромом ( при этом запись не начинается с...

Упорядочить файл, содержащий записи из двух полей (числового и текстового), в порядке возрастания числа
Здраствуйте, ребят подскажите, пожалуйста, как примерно написать такие программы, хотя бы идею подскажите, что использовать: 1)Напишите...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
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
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru