Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Prog_Kosmos
1 / 1 / 0
Регистрация: 17.03.2016
Сообщений: 33
1

Заменить статические массивы на динамические; размер массива запрашивать у пользователя

17.03.2016, 20:00. Просмотров 1153. Ответов 26
Метки нет (Все метки)

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 <ctime>
using namespace std;
const int n=10;
int first, last;
//функция сортировки
void quicksort(int *mas, int first, int last)
{
int mid, count;
int f=first, l=last;
mid=mas[(f+l) / 2]; //вычисление опорного элемента
do
{
while (mas[f]<mid) f++;
while (mas[l]>mid) l--;
if (f<=l) //перестановка элементов
{
count=mas[f];
mas[f]=mas[l];
mas[l]=count;
f++;
l--;
}
} while (f<l);
if (first<l) quicksort(mas, first, l);
if (f<last) quicksort(mas, f, last);
}
//главная функция
void main()
{
setlocale(LC_ALL,"Rus");
int *A=new int[n];
srand(time(NULL));
cout<<"Исходный массив: ";
for (int i=0; i<n; i++)
{
A[i]=rand()%10;
cout<<A[i]<<" ";
}
first=0; last=n-1;
quicksort(A, first, last);
cout<<endl<<"Результирующий массив: ";
for (int i=0; i<n; i++) cout<<A[i]<<" ";
delete []A;
system("pause>>void");
}
Есть замечательный код, но размер массива здесь задается в самом коде. Помогите реализовать код так, чтобы пользователь сам задавал размер массива (не шарясь по коду). То есть, чтобы приложение выдавало запрос по типу "Введите размер массива", а потом уже делало расчет.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2016, 20:00
Ответы с готовыми решениями:

Взять статические строки заменить на динамические массивы и распечатать
нужно решить задачу Взять статические строки заменить на динамические массивы...

Статические и динамические массивы
Здравствуйте. Является ли массив статическим, когда количество ячеек (размеры)...

Массивы. Статические и динамические
Объясните, пожалуйста, что такое статические массивы и что такое динамические?...

Динамические и статические массивы
Главное отличие динамических массивов от статических состоит в том, что они...

Заменить статические массивы на глобальные и heapalloc на new.WinApi
Есть программа,перемножающие два многочлена с помощью потоков. Коэффиценты...

26
hoggy
Заблокирован
Эксперт С++
17.03.2016, 20:07 2
Цитата Сообщение от Prog_Kosmos Посмотреть сообщение
Помогите
отформатируйте код по-человечачьи, или идите нахер.
4
Prog_Kosmos
1 / 1 / 0
Регистрация: 17.03.2016
Сообщений: 33
17.03.2016, 20:10  [ТС] 3
Да я бы с радостью, только у меня задание такое для курсовой, а знаний по с++ мало. Паскаль
0
eagl69
5 / 10 / 7
Регистрация: 12.10.2011
Сообщений: 506
17.03.2016, 20:10 4
Могу предложить вектор, там размер можно задать переменной, или вообще в принципе не задавать.. это динамический массив... почитай про
C++
1
std::vekctor<int> mas(a)
где
C++
1
2
 int a;
cin >> a;
0
nd2
2838 / 2405 / 1057
Регистрация: 29.01.2016
Сообщений: 8,046
17.03.2016, 20:14 5
Цитата Сообщение от Prog_Kosmos Посмотреть сообщение
То есть, чтобы приложение выдавало запрос по типу "Введите размер массива", а потом уже делало расчет.
C++
1
2
3
4
5
6
7
8
int main()
{
    setlocale(LC_ALL,"Rus");
    cout << "Введите размер массива: ";
    size_t n;
    cin >> n;
    int *A = new int[n];
    //...
0
eagl69
5 / 10 / 7
Регистрация: 12.10.2011
Сообщений: 506
17.03.2016, 20:17 6
Цитата Сообщение от nd2 Посмотреть сообщение
То есть, чтобы приложение выдавало запрос по типу "Введите размер массива", а потом уже делало расчет.
посмотри в сторону динамических массивов.....
0
Prog_Kosmos
1 / 1 / 0
Регистрация: 17.03.2016
Сообщений: 33
17.03.2016, 20:22  [ТС] 7
Началось

1>c:\users\kosmos\documents\visual studio 2010\projects\ап\ап\оло.cpp(7): error C2065: cout: необъявленный идентификатор
1>c:\users\kosmos\documents\visual studio 2010\projects\ап\ап\оло.cpp(9): error C2065: cin: необъявленный идентификатор
1>c:\users\kosmos\documents\visual studio 2010\projects\ап\ап\оло.cpp(11): error C2065: n: необъявленный идентификатор

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

1>c:\users\kosmos\documents\visual studio 2010\projects\ап\ап\оло.cpp(1): fatal error C1083: Не удается открыть файл включение: stdafx.h: No such file or directory
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
eagl69
5 / 10 / 7
Регистрация: 12.10.2011
Сообщений: 506
17.03.2016, 20:22 8
подключай инклудфы гугл в помощь
0
skipaq
17.03.2016, 20:23
  #9

Не по теме:

Цитата Сообщение от Prog_Kosmos Посмотреть сообщение
\ап\ап\оло.cpp
типичная папка и название для курсового

0
eagl69
5 / 10 / 7
Регистрация: 12.10.2011
Сообщений: 506
17.03.2016, 20:24 10
Цитата Сообщение от nd2 Посмотреть сообщение
size_t n;
Это вообще что значит?
0
Prog_Kosmos
1 / 1 / 0
Регистрация: 17.03.2016
Сообщений: 33
17.03.2016, 20:25  [ТС] 11
Там подключить ровно один, который у меня не распознает. Обычно при введении include выводились подсказки, которые сейчас исчезли.
0
nd2
2838 / 2405 / 1057
Регистрация: 29.01.2016
Сообщений: 8,046
17.03.2016, 20:25 12
Цитата Сообщение от Prog_Kosmos Посмотреть сообщение
Началось
Ты какой код компилируешь?
0
Prog_Kosmos
1 / 1 / 0
Регистрация: 17.03.2016
Сообщений: 33
17.03.2016, 20:26  [ТС] 13
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
55
#include <stdafx.h>
#include <iostream>
#include <ctime>
int main()
{
    setlocale(LC_ALL,"Rus");
    cout << "Введите размер массива: ";
    size_t n;
    cin >> n;
}
int *A = new int[n];
using namespace std;
const int n=10;
int first, last;
//функция сортировки
void quicksort(int *mas, int first, int last)
{
int mid, count;
int f=first, l=last;
mid=mas[(f+l) / 2]; //вычисление опорного элемента
do
{
while (mas[f]<mid) f++;
while (mas[l]>mid) l--;
if (f<=l) //перестановка элементов
{
count=mas[f];
mas[f]=mas[l];
mas[l]=count;
f++;
l--;
}
} while (f<l);
if (first<l) quicksort(mas, first, l);
if (f<last) quicksort(mas, f, last);
}
//главная функция
void main()
{
setlocale(LC_ALL,"Rus");
int *A=new int[n];
srand(time(NULL));
cout<<"Исходный массив: ";
for (int i=0; i<n; i++)
{
A[i]=rand()%10;
cout<<A[i]<<" ";
}
first=0; last=n-1;
quicksort(A, first, last);
cout<<endl<<"Результирующий массив: ";
for (int i=0; i<n; i++) cout<<A[i]<<" ";
delete []A;
system("pause>>void");
}
0
nd2
2838 / 2405 / 1057
Регистрация: 29.01.2016
Сообщений: 8,046
17.03.2016, 20:27 14
Цитата Сообщение от eagl69 Посмотреть сообщение
Это вообще что значит?
Наведи курсор, в среде, узнаешь.
0
Prog_Kosmos
1 / 1 / 0
Регистрация: 17.03.2016
Сообщений: 33
17.03.2016, 20:27  [ТС] 15
skipaq, важно не название, а содержание. Научиться хочу, как оно бы не называлось.
0
nd2
2838 / 2405 / 1057
Регистрация: 29.01.2016
Сообщений: 8,046
17.03.2016, 20:28 16
Prog_Kosmos, ты мозги не пудри... То один код покажешь (1 пост), то другой (13 пост).
0
eagl69
5 / 10 / 7
Регистрация: 12.10.2011
Сообщений: 506
17.03.2016, 20:29 17
https://ru.wikipedia.org/wiki/Iostream

Добавлено через 40 секунд
Цитата Сообщение от Prog_Kosmos Посмотреть сообщение
важно не название, а содержание. Научиться хочу, как оно бы не называлось.
Учить надо все по порядку а не перед сесией.....
0
Prog_Kosmos
1 / 1 / 0
Регистрация: 17.03.2016
Сообщений: 33
17.03.2016, 20:32  [ТС] 18
nd2, ну блин.Я этот код нашел - компилятор проглотил, результат верный. Но для задания нужно еще запрос на размер массива
0
eagl69
5 / 10 / 7
Регистрация: 12.10.2011
Сообщений: 506
17.03.2016, 20:34 19
объясни каждую строчку? что ты хочешь от нее добиться?
0
nd2
2838 / 2405 / 1057
Регистрация: 29.01.2016
Сообщений: 8,046
17.03.2016, 20:36 20
Вернёмся к коду из первого поста, и к вопросу темы:
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 <iostream>
#include <ctime>
using namespace std;
const int n=10;
int first, last;
//функция сортировки
void quicksort(int *mas, int first, int last)
{
int mid, count;
int f=first, l=last;
mid=mas[(f+l) / 2]; //вычисление опорного элемента
do
{
while (mas[f]<mid) f++;
while (mas[l]>mid) l--;
if (f<=l) //перестановка элементов
{
count=mas[f];
mas[f]=mas[l];
mas[l]=count;
f++;
l--;
}
} while (f<l);
if (first<l) quicksort(mas, first, l);
if (f<last) quicksort(mas, f, last);
}
//главная функция
int main()
{
setlocale(LC_ALL,"Rus");
cout << "Введите размер массива: ";
size_t n;
cin >> n;
int *A = new int[n];
srand(time(NULL));
cout<<"Исходный массив: ";
for (int i=0; i<n; i++)
{
A[i]=rand()%10;
cout<<A[i]<<" ";
}
first=0; last=n-1;
quicksort(A, first, last);
cout<<endl<<"Результирующий массив: ";
for (int i=0; i<n; i++) cout<<A[i]<<" ";
delete []A;
system("pause>>void");
}
Добавлено через 1 минуту
Цитата Сообщение от Prog_Kosmos Посмотреть сообщение
ну блин.Я этот код нашел - компилятор проглотил, результат верный. Но для задания нужно еще запрос на размер массива
Мозги не пудри: не выкладывай ошибки по коду, который не показывал.
0
17.03.2016, 20:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2016, 20:36

Статические и динамические объекты
Используя объекты, классы, конструкторы и деструкторы необходимо разработать...

Статические и динамические библиотеки
Здравствуйте! Возник вопрос в понимании задания, подскажите пожалуйста То...

Запрашивать у пользователя числа, пока их сумма не превысит 1000
Запрашивать у пользователя числа, пока их сумма не превысит 1000. Добавлено...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru