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

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

17.03.2016, 20:00. Просмотров 577. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Заменить статические массивы на динамические; размер массива запрашивать у пользователя (C++):

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

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

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

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

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

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

26
hoggy
Заблокирован
17.03.2016, 20:07 #2
Цитата Сообщение от Prog_Kosmos Посмотреть сообщение
Помогите
отформатируйте код по-человечачьи, или идите нахер.
4
Prog_Kosmos
1 / 1 / 2
Регистрация: 17.03.2016
Сообщений: 33
17.03.2016, 20:10  [ТС] #3
Да я бы с радостью, только у меня задание такое для курсовой, а знаний по с++ мало. Паскаль
0
eagl69
5 / 10 / 7
Регистрация: 12.10.2011
Сообщений: 505
17.03.2016, 20:10 #4
Могу предложить вектор, там размер можно задать переменной, или вообще в принципе не задавать.. это динамический массив... почитай про
C++
1
std::vekctor<int> mas(a)
где
C++
1
2
 int a;
cin >> a;
0
nd2
2828 / 2398 / 1054
Регистрация: 29.01.2016
Сообщений: 8,022
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
Сообщений: 505
17.03.2016, 20:17 #6
Цитата Сообщение от nd2 Посмотреть сообщение
То есть, чтобы приложение выдавало запрос по типу "Введите размер массива", а потом уже делало расчет.
посмотри в сторону динамических массивов.....
0
Prog_Kosmos
1 / 1 / 2
Регистрация: 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
Сообщений: 505
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
Сообщений: 505
17.03.2016, 20:24 #10
Цитата Сообщение от nd2 Посмотреть сообщение
size_t n;
Это вообще что значит?
0
Prog_Kosmos
1 / 1 / 2
Регистрация: 17.03.2016
Сообщений: 33
17.03.2016, 20:25  [ТС] #11
Там подключить ровно один, который у меня не распознает. Обычно при введении include выводились подсказки, которые сейчас исчезли.
0
nd2
2828 / 2398 / 1054
Регистрация: 29.01.2016
Сообщений: 8,022
17.03.2016, 20:25 #12
Цитата Сообщение от Prog_Kosmos Посмотреть сообщение
Началось
Ты какой код компилируешь?
0
Prog_Kosmos
1 / 1 / 2
Регистрация: 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
2828 / 2398 / 1054
Регистрация: 29.01.2016
Сообщений: 8,022
17.03.2016, 20:27 #14
Цитата Сообщение от eagl69 Посмотреть сообщение
Это вообще что значит?
Наведи курсор, в среде, узнаешь.
0
Prog_Kosmos
1 / 1 / 2
Регистрация: 17.03.2016
Сообщений: 33
17.03.2016, 20:27  [ТС] #15
skipaq, важно не название, а содержание. Научиться хочу, как оно бы не называлось.
0
nd2
2828 / 2398 / 1054
Регистрация: 29.01.2016
Сообщений: 8,022
17.03.2016, 20:28 #16
Prog_Kosmos, ты мозги не пудри... То один код покажешь (1 пост), то другой (13 пост).
0
eagl69
5 / 10 / 7
Регистрация: 12.10.2011
Сообщений: 505
17.03.2016, 20:29 #17
https://ru.wikipedia.org/wiki/Iostream

Добавлено через 40 секунд
Цитата Сообщение от Prog_Kosmos Посмотреть сообщение
важно не название, а содержание. Научиться хочу, как оно бы не называлось.
Учить надо все по порядку а не перед сесией.....
0
Prog_Kosmos
1 / 1 / 2
Регистрация: 17.03.2016
Сообщений: 33
17.03.2016, 20:32  [ТС] #18
nd2, ну блин.Я этот код нашел - компилятор проглотил, результат верный. Но для задания нужно еще запрос на размер массива
0
eagl69
5 / 10 / 7
Регистрация: 12.10.2011
Сообщений: 505
17.03.2016, 20:34 #19
объясни каждую строчку? что ты хочешь от нее добиться?
0
nd2
2828 / 2398 / 1054
Регистрация: 29.01.2016
Сообщений: 8,022
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