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

Расположить в начале массива элементы, отличающиеся от максимального не более, чем на 20%

27.10.2016, 23:04. Показов 1637. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального не более, чем на 20%, а потом – все остальные.
Если можно ввод-вывод через printf и scanf, буду очень благодарен!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.10.2016, 23:04
Ответы с готовыми решениями:

Расположить в начале массива все элементы, отличающиеся от максимального не более, чем на 20%
Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального не более, чем на 20% а потом –...

Сначала расположить все элементы, отличающиеся от максимального не более чем на 20%, потом — остальные
В общем, вот задание: В одномерном массиве, состоящем из N вещественных элементов, вычислить: 1) количество элементов массива, меньших...

Преобразовать массив, чтобы сначала располагались все элементы, отличающиеся от максимального не более чем на 20%
"Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального не более чем на 20%, а потом –...

5
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,631
28.10.2016, 10:10
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
#include "stdafx.h"
#include <iostream>
#include <time.h>
 
using namespace std;
 
int main()
{
    srand(time(NULL));
    const int m = 10;
    double dif = 0.2;
    int arr[m]; 
 
    int max = INT_MIN;
    for(int i = 0; i < m; ++i)
    {
        arr[i] = rand() % 10 + 1;
        cout << arr[i] << " ";
        if(arr[i] > max)
           max = arr[i];
    }
    cout << endl;
    double tmp = max - (max * dif);
    cout << "Max = " << max <<endl;
    for(int i = 0; i < m; i++)
        if( arr[i] >= tmp)
            cout << arr[i] << " ";
    for(int i = 0; i < m; i++)
        if( !(arr[i] >= tmp))
            cout << arr[i] << " ";
    cout <<  endl;
    system("pause");
    return 0;
}
0
0 / 0 / 0
Регистрация: 20.09.2016
Сообщений: 23
29.10.2016, 11:33  [ТС]
Условие задачи: Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального не более, чем на 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
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <limits.h>
#pragma argsused
int main()
{  int i,n,A[30],max,imax;
   double dif=0.2;
// Vvod
    printf("Vvedite razmernost vektora:" );
    scanf("%d",&n);
    printf("Vvedite elementy vektora:\n");
    for (i=0;i<n;i++)
    {
        printf("A[%d]=",i);
        scanf("%d",&A[i]);
    }
//Vivod
    printf("Ishodnii vektor:  ");
    for (i=0;i<n;i++)
        printf("%d  ",A[i]);
 
//Max element i ego mesto
    max = INT_MIN;
        imax=0;
    for(i = 0; i < n; i++)
      if(A[i]>max)
        {
        max = A[i];
        imax=i;
        }
 
    double tmp=max-(max*dif);
 
    for(i=0;i<n;i++);
     if (A[i]>=tmp)
      printf("\nPolucheniy: %d ",A[i]);
 
    for(i=0;i<n;i++)
     if (!(A[i]>=tmp))
      printf("%d ",A[i]);
 
        getch ();
        return 0;
}
0
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,631
29.10.2016, 14:36
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
#include "stdafx.h"
#include <iostream>
#include <time.h>
 
using namespace std;
 
int main()
{
    srand(time(NULL));
    const int m = 10;
    double dif = 0.2;
    int arr[m];
    int darr[m]; 
 
    int max = INT_MIN;
    for(int i = 0; i < m; ++i)
    {
        arr[i] = rand() % 10 + 1;
        cout << arr[i] << " ";
        if(arr[i] > max)
           max = arr[i];
    }
    cout << endl;
    
    cout << "Max = " << max <<endl;
 
    int k = 0;
    double tmp = max - (max * dif);
    for(int i = 0; i < m; i++)
        if( arr[i] >= tmp)
        {
            darr[k] = arr[i];
            k++;
        }
 
    for(int i = 0; i < m; i++)
        if( !(arr[i] >= tmp))
        {
            darr[k] = arr[i];
            k++;
        }
    for(int i = 0; i < m; i++)
       cout << darr[i] << " ";
    cout <<  endl;
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 20.09.2016
Сообщений: 23
30.10.2016, 20:36  [ТС]
afront, arr[i] = rand() % 10 + 1; это просто заполнение случайными числами массива? для чего %10+1?
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
30.10.2016, 21:16
Цитата Сообщение от Makarenok Посмотреть сообщение
для чего %10+1?
"Задание диапазона".
Функция rand() возвращает "случайное" число от 0 до RAND_MAX( 32767 ). А остаток от деления на 10 возвращает значение от 0 до 9, т.к. там стоит +1, то будет сгенерировано значение от 0 до 9 + 1, то есть от 1 до 10.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.10.2016, 21:16
Помогаю со студенческими работами здесь

Преобразовать массив так, чтобы сначала располагались все элементы, отличающиеся от максимального не более 20%
Задача звучит так: Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального не более...

Отсортировать массив, расположив впереди элементы, отличающиеся от максимального не больше чем на 20%
Нужно этот массив переделать так, чтобы с начала шли все элементы, которые отличаются от максимального не больше чем на 20%, а после них...

Удалить из вещественного массива все элементы, отличающиеся от его максимального элемента не более чем на Е
Удалить из вещественного массива все элементы, отличающиеся от его максимального элемента не более чем на E , кроме самого максимального...

Преобразовать массив так, чтобы сначала располагались все элементы, отличающиеся от максимального не более чем на 20%
Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального не более чем на 20%, а потом...

Преобразовать массив так, чтобы сначала располагались все элементы, отличающиеся от максимального не более чем на 20%
Доброго времени суток! Помогите плиз с одним из пунктов задачи! Преобразовать массив таким образом, чтобы сначала располагались все...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru