0 / 0 / 1
Регистрация: 22.04.2017
Сообщений: 53
1

Ввод массива пользователем во время работы программы

24.12.2017, 22:59. Показов 3118. Ответов 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
#include <iostream> 
#include <set> 
#include <cassert> 
#include <algorithm> 
#include <iterator> 
 
int main(){
    const int SIZE = 10;
    int arr[SIZE] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };  // вводим данные здесь
 
    std::cout << "Unsorted: ";
    std::copy(arr, arr + SIZE, std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
    std::multiset<int> set;
    std::copy(arr, arr + SIZE, std::inserter(set, set.begin()));
    assert(set.size() == SIZE);
 
    bool flag = true;
    int * pHead = arr;
    int * pTail = arr + SIZE - 1;
    for (std::multiset<int>::const_iterator i = set.begin(); i != set.end(); ++i){
        if (flag)
            *pHead++ = *i;
        else
            *pTail-- = *i;
        flag = !flag;
    }
 
    std::cout << "Sorted: ";
    std::copy(arr, arr + SIZE, std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    system("pause");
    return 0;
}
Задача программы: В массиве действительных чисел наименьший элемент поместить на первое место, наименьший из оставшихся – на последнее место, следующий по величине – на второе место, следующий – на предпоследнее место и так далее – до середины массива.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2017, 22:59
Ответы с готовыми решениями:

Выбор типа данных пользователем во время работы программы
Работаю с формами, хочется сделать выбор пользователем типа данных во время работы. Собственно...

Как измерить время работы программы по сортировке массива?
Общая схема программы Х выглядит следующим образом. а. Выбрать очередной размер массива исходных...

Как динамически изменять размерность массива во время работы программы
Подскажите, пожалуйста, как динамически изменять размерность массива во время работы программы?...

Массив: Нужно во время работы программы изменять размер массива и добавлять в начало или в конец какие-либо значения.
Возникла проблема в работе с массивом. Нужно во время работы программы изменять размер массива и...

5
93 / 91 / 62
Регистрация: 23.11.2013
Сообщений: 242
24.12.2017, 23:45 2
Лучший ответ Сообщение было отмечено Rogue2106 как решение

Решение

В смысле с клавиатуры? Тогда 9 строку замените на:
C++
1
2
3
4
5
6
7
int arr[SIZE];
 
std::cout << "Input arr[" << SIZE << "]:\n";
for (int i = 0; i < SIZE; ++i) {
    std::cout << '[' << i << "] = ";
    std::cin >> arr[i];
}
1
0 / 0 / 1
Регистрация: 22.04.2017
Сообщений: 53
25.12.2017, 00:41  [ТС] 3
Спасибо, очень помогли
0
0 / 0 / 1
Регистрация: 22.04.2017
Сообщений: 53
27.12.2017, 22:22  [ТС] 4
А можете изменить так, чтобы задавать массив с клавиатуры?
0
93 / 91 / 62
Регистрация: 23.11.2013
Сообщений: 242
27.12.2017, 22:36 5
Лучший ответ Сообщение было отмечено Rogue2106 как решение

Решение

Цитата Сообщение от Rogue2106 Посмотреть сообщение
чтобы задавать массив с клавиатуры?
Так значения и так с клавиатуры задаются.
Или вы в смысле задать размер массива?
C++
1
2
3
4
5
6
7
8
9
10
11
12
size_t SIZE;
 
std::cout << "Input size: ";
std::cin >> SIZE;
 
int *arr = new int[SIZE];
 
std::cout << "Input arr[" << SIZE << "]:\n";
for (int i = 0; i < SIZE; ++i) {
    std::cout << '[' << i << "] = ";
    std::cin >> arr[i];
}
Не забудьте в конце где-нибудь тогда добавить для приличия:
C++
1
delete[] arr;
1
0 / 0 / 1
Регистрация: 22.04.2017
Сообщений: 53
28.12.2017, 15:07  [ТС] 6
Спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.12.2017, 15:07
Помогаю со студенческими работами здесь

Как вывести время работы программы ПОСЛЕ завершения работы progressBar?
У меня почему-то сначала выводится время в MessageBox, а затем уже завершает свою работу...

Вычисление функции, заданной пользователем во время выполнения программы
Подскажите как сделать чтобы вместо функции , которая задана после первого &quot;begin&quot;, можно было...

Организация работы программы до её завершения пользователем
есть вот такой код на паскале Program p1; Label gb; Var i,n,state,v:integer; ...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru