Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SlashX6
16 / 16 / 1
Регистрация: 16.03.2012
Сообщений: 430
#1

Динамический массив из вещественных чисел - C++

31.12.2015, 14:03. Просмотров 225. Ответов 6
Метки нет (Все метки)

Добрый день!

Как заполнить динамический массив вещственными числами, учитывая что пользователь должен вводить их сам или по выбору автоматически заполнить массив, а затем нужно массив преобразовать (!) (а не упорядочить) массив, то при перемещении элементов в какую-то одну другую часть массива они должны сохранять исходный порядок по отношению друг к другу. Т.е., если массив, например, был такой: {-5.2, 3, -1.5, 10, 2} в итоге должен выглядеть так: {3, 10, 2, -5.2, -1.5}. "

C++
1
2
3
4
5
6
7
cout << "Random number array is: ";
            
    srand(time(NULL));
    for (int i = 0; i < n; i++) {
        arr[i] = rand() / float(RAND_MAX)*24.f + 1.f;
        cout << arr[i] << " ";
    }
А вывожу массив так, но он упорядочен получается. Как сделать по заданию, не понятно.
C++
1
2
3
4
5
6
cout << endl << "Sorted array: ";
        for (int i = 0; i<n; i++)
        {
            cout << arr[i] << " ";
        }
        cout << endl;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.12.2015, 14:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамический массив из вещественных чисел (C++):

Двумерный динамический массив вещественных чисел - C++
Набросал код: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;time.h&gt; #include &lt;stdlib.h&gt; #include &lt;alloc.h&gt; int...

Создать динамический массив вещественных чисел. - C++
Создать динамический массив вещественных чисел. (С++) На каждый вопрос создавайте по одной теме - это помогает избежать путаницы в...

Одномерный массив (Ввести массив из 10 вещественных чисел.Найти сумму чисел,стоящих на чётных местах) - C++
Ввести массив из 10 вещественных чисел.Найти сумму чисел,стоящих на чётных местах. Обьясните что делать?

Преобразовать одномерный массив вещественных случайных чисел в массив целых чисел - C++
Преобразовать одномерный массив вещественных случайных чисел в массив целых чисел больших исходных на два порядка. Напечатать массивы в два...

Переделать массив целых чисел на массив вещественных чисел - C++
помогите переделать этот код: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #define RANGE 20 int main() { int ARRAY_SIZE=100; ...

Задать массив вещественных чисел и вставить в исходный массив число - C++
вот такая программка Задать массив вещественных чисел с помощью датчика случайных чисел. Вставить в исходный массив число. С...

6
Dimension
Dimension
556 / 437 / 135
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
31.12.2015, 14:14 #2
положительные элементы переместить в начало ,отрицательные после после положительных
0
Hikari
Хитрая блондиночка $)
1447 / 954 / 285
Регистрация: 21.12.2015
Сообщений: 3,798
31.12.2015, 14:22 #3
А дополнительные массивы использовать разрешено?
0
SlashX6
16 / 16 / 1
Регистрация: 16.03.2012
Сообщений: 430
31.12.2015, 14:23  [ТС] #4
Hikari, да, можно.
0
Hikari
Хитрая блондиночка $)
1447 / 954 / 285
Регистрация: 21.12.2015
Сообщений: 3,798
31.12.2015, 14:37 #5
Тогда предлагаю такое:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
cout << "Random number array is: ";
int neg[n]={0},pos[n]={0},nNeg=0,nPos=0;            
    srand(time(NULL));
    for (int i = 0; i < n; i++) {
        arr[i] = rand() / float(RAND_MAX)*24.f + 1.f;
        if(arr[i]>=0) pos[nPos++]=arr[i]; else
         if(arr[i]<0) neg[nNeg++]=arr[i]; else
        cout << arr[i] << " ";
    }
 
    for(i=0;i<nPos;i++) arr[i]=pos[i];
    for(j=0;j<nNeg;j++,i++) arr[i]=neg[j];
 
    for (int i = 0; i < n; i++)        cout << arr[i] << " ";
1
SlashX6
16 / 16 / 1
Регистрация: 16.03.2012
Сообщений: 430
31.12.2015, 14:52  [ТС] #6
Hikari, спасибо, но немного не понятно как сделать так что-бы при перемещении элементов в какую-то одну другую часть массива они должны сохранять исходный порядок по отношению друг к другу?
Если массив был таким{-5.2, 3, -1.5, 10, 2}, а в итоге стал таким: {3, 10, 2, -5.2, -1.5}.
0
Hikari
Хитрая блондиночка $)
1447 / 954 / 285
Регистрация: 21.12.2015
Сообщений: 3,798
31.12.2015, 14:54 #7
Ой! Маленькая ремарочка: В моем примере динмассивами еще не пахнет...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
cout << "Random number array is: ";
int *neg,*pos,nNeg=0,nPos=0;            
    srand(time(NULL));
    for (int i = 0; i < n; i++) {
        arr[i] = rand() / float(RAND_MAX)*24.f + 1.f;
         if(arr[i]>=0) nPos++; else nNeg++;
        cout << arr[i] << " ";
    }
 
neg=new int[nNeg];  pos=new int[nPos];
for(i=0,j=0,p=0;i<n;i++) if(arr[i]<0) neg[j++]=arr[i]; else pos[k++]=arr[i];
 
    for(i=0;i<nPos;i++) arr[i]=pos[i];
    for(j=0;j<nNeg;j++,i++) arr[i]=neg[j];
 
delete[] neg; delete[] pos;
 
    for (int i = 0; i < n; i++)        cout << arr[i] << " ";
Цитата Сообщение от SlashX6 Посмотреть сообщение
как сделать так
а мой пример разве это не делает?
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2015, 14:54
Привет! Вот еще темы с ответами:

Ввести некоторую последовательность чисел и создать динамический массив из чисел, которые завершаются цифрой5 - C++
Ввести некоторую последовательность чисел и создать динамический массив из чисел, которые завершаются цифрой 5.

Создать динамический массив (Если чётных чисел больше, то массив должен быть укорочен на 2 элемента) - C++
Создать динамический массив из 8 случайных целых чисел из отрезка и вывести его на экран . Если в массиве чётных чисел оказалось...

Дан массив из 10 вещественных чисел на c++ - C++
Дан массив из 10 вещественных чисел вывести на экран только положительные числа заданного массива си плюс плюс

динамический массив чисел - C++
Целое число, представленное в виде динамического массива байтов. .Каждый байт хранит 2 цифры числа (часть числа в диапазоне 0..99). Знак...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
31.12.2015, 14:54
Ответ Создать тему
Опции темы

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