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

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

02.06.2019, 19:27. Показов 3268. Ответов 7

Студворк — интернет-сервис помощи студентам
Вводятся элементы массива в столбик, после чего происходит их сортировка по убыванию. Выводятся элементы массива без пробелов, как одно число. Максимальное количество элементов 100. Возникла проблема с остановкой ввода. Имеется 2 варианта кода. В первом просто задаётся количество элементов и их сортировка. Его приведу при необходимости. Во втором варианте ввод происходит как по условию, но нельзя остановить пока не будет достигнуто 100 элементов массива.


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
#include <iostream>
#include <algorithm>
 
using namespace std;
 
int main() {
    int N, s, c, i, n;
    i = 0;
        int a[100];
        for (N = 1; i < 100; i++) {
            cin >> a[i];
                        N++;
        }
 
        for (int i = 1; i < n; i++) {
            for (int j = 1; j < n; j++) {
                if (a[j - 1] > a[j]) {
                    swap(a[j - 1], a[j]);
                }
            }
        }
 
    for (i = 0; i < N; i++) {
        cout << a[i];
    }
 
 
}
В коде могут присутствовать синтаксические ошибки. Часть переменных было введено для последующего использования. Помогите пожалуйста.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.06.2019, 19:27
Ответы с готовыми решениями:

Статический массив, в котором количество элементов задаётся неконстантной переменной
Почему такое вообще катит ? Что говорит стандарт на эту тему? #include &lt;iostream&gt; using namespace std; int main() { ...

не могу отсортировать массив методом обмена при котором просмотр нач с 1 элемента
Программа должна иметь как минимум три функции. Функции должны быть организованы так, чтобы выполнять обработку матриц любого размерности....

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

7
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
02.06.2019, 19:53
Влад Хорошавин,
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
    int arr[100];
    size_t actual_size{};
    std::cout << "enter 100 elements or non_number character to break:\n";
    for (size_t i{}; std::cin && i < 100; ++i)
    {
        actual_size = i;
        std::cout << "arr[" << i << "] = ";
        std::cin >> arr[i];
    }
}
1
0 / 0 / 0
Регистрация: 01.06.2019
Сообщений: 27
02.06.2019, 20:21  [ТС]
Наверное, я не совсем понял как его правильно добавить в основной код, т.к. после ввода \n выполнение программы останавливается.
0
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
02.06.2019, 23:18
zayats80888 Указал код верно чтобы остановить ввод требуется 100 введённых символа или написать текст.
В его коде указан чисто ввод после которого программа должна остановиться, а сортировку вам надо сделать самому



Или если вы очень ленивый можете создать отдельную тему с сортировкой
1
0 / 0 / 0
Регистрация: 01.06.2019
Сообщений: 27
03.06.2019, 10:06  [ТС]
Сортировку я и сам сделать могу. Я просто не сразу понял что вводить, чтобы продолжиь выполнение программы с количеством элементов меньшим, чем 100.
0
0 / 0 / 0
Регистрация: 01.06.2019
Сообщений: 27
06.06.2019, 15:23  [ТС]
Помогите пожалуйста, программа просто закрывается.
Это последний вариант кода. Как не пробовал, всегда просто программа закрывалась. Возможно ошибка в сортировке.
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
#include <iostream>
#include <algorithm>
 
using namespace std;
bool success = false;
 
int main()
{
    int n, N;
    int arr[100];
    int x = 1;
    int i = 0;
    
 
    while (!success) {
        if (i < x) {
            cin >> arr[i];
            if (cin.good()) {
                x++;
                success = false;
 
            }
 
            if (arr[i] = ' ') success = true;
 
        }
        else {
            success = true;
        }
 
    }
    
        for (int i = 1; i < n; i++) {
            for (int j = 1; j < n; j++) {
                if (arr[j - 1] < arr[j]) {
                    swap(arr[j - 1], arr[j]);
                }
            }
        }
 
    for (i = 0; i < N; i++) {
        cout << arr[i];
    }
 
 
}
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
06.06.2019, 17:25
Влад Хорошавин, в строки 44-45 поставьте
C++
1
2
system("pause");
return 0;
Цитата Сообщение от Влад Хорошавин Посмотреть сообщение
Вводятся элементы массива
задан размер массива или признак окончания ввода элементов ? напишите оригинал условия задачи
0
0 / 0 / 0
Регистрация: 01.06.2019
Сообщений: 27
06.06.2019, 19:37  [ТС]
Максимум 100 элементов, а размер определяется количеством введённых элементов. Система сама отловит момент окончания ввода, каким образом я не знаю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.06.2019, 19:37
Помогаю со студенческими работами здесь

Необходимо поменять размер шрифта элемента, в котором пользователь пишет запросы к БД
Доброго времени суток! Помогите, плиз, разобраться с синтаксисом... Есть бд соединенная с самой прогой. Необходимо поменять размер...

Дан одномерный массив целых чисел размерностью до 20 элементов Необходимо первую половину массива отсортировать по возрастанию, а вторую по убыванию
Дан одномерный массив целых чисел размерностью до 20 элементов Необходимо первую половину массива отсортировать по возрастанию, а вторую по...

В одномерном массиве, размер которого задаётся пользователем, найти сумму первых K минимальных элементов
Для одномерного массива С найти сумму К минимальных элементов, где 0&lt;n&lt;45. К ввести с клавиатуры. не могу понять как сделать это..

Как отсортировать массив с известным количеством слов по алфавиту
Как отсортировать массив с известным количеством слов по алфавиту. Пример: aebcd = abcde deabce =abcdee cazbe =abcez пытался...

Определить количество чисел, введенных за последним простым числом в последовательности с неопределенным количеством элементов.
&lt;P class=MsoNormal style=&quot;MARGIN: 0cm 0cm 0pt &lt;B&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face=&quot;Times New Roman Помогите, если не трудно! ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru