Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 21.05.2019
Сообщений: 33

Элементы массива модуль которых не превышает 1 перенести в начало

31.03.2020, 12:26. Показов 1497. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан массив из N элементов (вещественные числа).Вычислить:
3.переобразвать масив так,чтобысначала расолагались все элементы, ммодуль которых не превышает 1,а потом-Элементы,все остальные.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.03.2020, 12:26
Ответы с готовыми решениями:

Элементы массива, модуль которых не превышает 1, перенести в начало
В чем ошибка ? #include <iostream> #include <math.h> using namespace std; int main() { setlocale(LC_ALL,...

Элементы массива целая часть которых не превышает 1 перенести в начало
в одномерном массиве, состоящем из п целых элементов, вычислить: Преобразовать массив таким образом, чтобы сначала располагались все...

Элементы массива, целая часть которых не превышает 1, перенести в начало
Помогите прекрутить к этому коду Эту функцию Преобразовать массив таким образом, чтобы сначала располагались все элементы, ...

6
199 / 155 / 45
Регистрация: 11.11.2019
Сообщений: 348
31.03.2020, 16:55
В этом варианте порядок следования оставшихся элементов не гарантируется
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
#include <iostream>
using namespace std;
 
int main()
{
    srand(1465);
 
    int N;
    cout << "Enter N: "; cin >> N;
 
    double* arr = new double[N];
 
    cout << "Original array: ";
    for (int i = 0; i < N; ++i)
    {
        arr[i] = .04 * (rand() % 100) - 2.;
        cout << arr[i] << " ";
    }
    
    for (int i = 0; i < N - 1; ++i)
    {
        if (fabs(arr[i]) < 1.) continue;        
        for (int j = i + 1; j < N; ++j)
        {
            if (fabs(arr[j]) < 1.)
            {
                swap(arr[i], arr[j]);               
                break;
            }
        }
    }
 
    cout << endl << "Resulted array: ";
    for (int i = 0; i < N; ++i)
    {       
        cout << arr[i] << " ";
    }
    delete[] arr;
    return 0;
}
0
 Аватар для Argus19
1433 / 450 / 78
Регистрация: 24.09.2017
Сообщений: 2,533
Записей в блоге: 23
31.03.2020, 17:27
fao, я уже неоднократно встречаю решения, где вместо функции abs() применяется рукопашный метод. Тут вопрос семантический. Надо ли в случае, если в задании указано слово "модуль", использовать функцию или допускается вольная трактовка?
Собственно, для положительных и отрицательных чисел всё решается простыми средствами. Как бы это воспринял преподаватель, например, zss?
0
Параллельный Кот
 Аватар для valen10
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
31.03.2020, 17:55
Цитата Сообщение от Argus19 Посмотреть сообщение
использовать функцию или допускается вольная трактовка?
Из соображения наглядности, по вашему, в каком случае проще и быстрее можно понять намерения программиста вычислить модуль: abs(x) или (x < 0) ? -x : x? ИМХО, в первом случае явно сказано, что тут происходит, не вдаваясь в подробности (сокрытие деталей реализации).

Не по теме:

Из студенческого опыта: у нас никогда не заостряли внимания на таких мелочах, можно было любым из этих способов пользоваться. <cmath> всегда был разрешен, чего нельзя сказать о <algorithm>, <vector> и подобных вещах. Все структуры и алгоритмы приходилось реализовывать самостоятельно.



Добавлено через 3 минуты
fao, main.cpp:22:13: error: use of undeclared identifier 'fabs'.
1
199 / 155 / 45
Регистрация: 11.11.2019
Сообщений: 348
31.03.2020, 18:15
Цитата Сообщение от valen10 Посмотреть сообщение
main.cpp:22:13: error: use of undeclared identifier 'fabs'
А, да, естественно. Эта забывчивость из-за MSVC, который неявно включает <cmath> при включении <iostream>.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
31.03.2020, 18:56
Лучший ответ Сообщение было отмечено Andriy777 как решение

Решение

так порядок перенесённых и оставшихся элементов сохранится:
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
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
    int N, k=0; 
    
    cout << "N="; cin >> N;
    
    double*a = new double[N];
 
    cout << "Enter " << N << " elements:\n";
    for (int i = 0; i < N; i++)
        cin >> a[i];             
      
    for (int i = 0; i < N; i++)
        if (fabs(a[i])<=1.)
        {
            for (int j = i; j > k; j--) 
            swap(a[j],a[j-1]);
            k++;
        }
        
    for (int i = 0; i < N; i++)
      cout << a[i] << " ";
      cout << "\n";
 
     delete[]a;
system("pause");
return 0;
}
1
31.03.2020, 19:06

Не по теме:

Цитата Сообщение от valen10 Посмотреть сообщение
Все структуры и алгоритмы приходилось реализовывать самостоятельно.
Спасибо. Понял. Для обучения. Чтобы развить навыки.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.03.2020, 19:06
Помогаю со студенческими работами здесь

Переместить в начало массива элементы модуль которых не превышает единицу
Преобразовать одномерный массив таким образом, чтобы сначала располагались элементы, модуль которых не превышает 1, потом все остальные.

Шаблон функции переставляющей в начало массива все элементы модуль которых не превышает 1
Доброго времени суток, дано задание: В одномерном массиве, который состоит из n действительных элементов, вычислить: 1. превратить...

Числа модуль которых меньше 1 перенести в начало массива
Отсортировать массив так, чтобы модуль чисел меньше 1 стояли вначале, а остальные - после. Вроде бы другое задание сделал по сортировке...

Элементы массива, модуль которых не превышает 1, заменить 0
Все элементы массива К размером n, модуль которых не превышает 1, заменить 0.

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru