Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
16 / 16 / 9
Регистрация: 16.03.2012
Сообщений: 437

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

31.12.2015, 14:03. Показов 2222. Ответов 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
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; #include &lt;alloc.h&gt; int...

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

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

6
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
31.12.2015, 14:14
положительные элементы переместить в начало ,отрицательные после после положительных
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
31.12.2015, 14:22
А дополнительные массивы использовать разрешено?
0
16 / 16 / 9
Регистрация: 16.03.2012
Сообщений: 437
31.12.2015, 14:23  [ТС]
Hikari, да, можно.
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
31.12.2015, 14:37
Тогда предлагаю такое:
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
16 / 16 / 9
Регистрация: 16.03.2012
Сообщений: 437
31.12.2015, 14:52  [ТС]
Hikari, спасибо, но немного не понятно как сделать так что-бы при перемещении элементов в какую-то одну другую часть массива они должны сохранять исходный порядок по отношению друг к другу?
Если массив был таким{-5.2, 3, -1.5, 10, 2}, а в итоге стал таким: {3, 10, 2, -5.2, -1.5}.
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
31.12.2015, 14:54
Ой! Маленькая ремарочка: В моем примере динмассивами еще не пахнет...
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.12.2015, 14:54
Помогаю со студенческими работами здесь

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

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

Создать динамический массив из вещественных чисел и написать функции, выполняющие операции с этими числами
Создать динамический массив, наполнить его вещественными числами и создать функции, выполняющие сортировку элементов массива (от...

Ввести в динамический массив 100 вещественных чисел, вывести их в обратном порядке, освободить память
Задание: Ввести в динамический массив 100 вещественных чисел, вывести их в обратном порядке, освободить память. набрал непойму почему...

Создать динамический массив из 15 вещественных
20.2 Создать динамический массив из 15 вещественных чисел. Удалить из него все элементы с четными значениями. Упорядочить оставшиеся...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru