Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
SlashX6
16 / 16 / 9
Регистрация: 16.03.2012
Сообщений: 437
1

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

31.12.2015, 14:03. Просмотров 552. Ответов 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
Ответы с готовыми решениями:

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

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

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

Преобразовать одномерный массив вещественных случайных чисел в массив целых чисел
Преобразовать одномерный массив вещественных случайных чисел в массив целых чисел больших исходных...

Переделать массив целых чисел на массив вещественных чисел
помогите переделать этот код: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #define RANGE 20 int...

6
Dimension
Dimension
574 / 444 / 221
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
31.12.2015, 14:14 2
положительные элементы переместить в начало ,отрицательные после после положительных
0
Hikari
Хитрая блондиночка $)
1455 / 968 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
31.12.2015, 14:22 3
А дополнительные массивы использовать разрешено?
0
SlashX6
16 / 16 / 9
Регистрация: 16.03.2012
Сообщений: 437
31.12.2015, 14:23  [ТС] 4
Hikari, да, можно.
0
Hikari
Хитрая блондиночка $)
1455 / 968 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
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 / 9
Регистрация: 16.03.2012
Сообщений: 437
31.12.2015, 14:52  [ТС] 6
Hikari, спасибо, но немного не понятно как сделать так что-бы при перемещении элементов в какую-то одну другую часть массива они должны сохранять исходный порядок по отношению друг к другу?
Если массив был таким{-5.2, 3, -1.5, 10, 2}, а в итоге стал таким: {3, 10, 2, -5.2, -1.5}.
0
Hikari
Хитрая блондиночка $)
1455 / 968 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
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
31.12.2015, 14:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2015, 14:54

Задать массив из 10 вещественных чисел используя датчик случайных чисел
Подсчитать количество четных значений. Найти минимальный и максимальный элементы массива, указать...

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

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


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

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

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