Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
2 / 2 / 4
Регистрация: 28.09.2013
Сообщений: 407

Массивы. Количество элементов в диапазоне, сумму после максимального, упорядочить по убыванию модулей

27.12.2013, 00:00. Показов 973. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые программисты. Нужно срочно сдавать лабораторные. Очень благодарен за любую помощь.



Методические указания

Ввод и вывод массива, а также три пункта задания оформить в виде функций, глобальные переменные не использовать. Размерности массивов вводить в основной функции. Первый массив описать статически (размерность задать константой), второй динамически Все результаты данных функций выводятся в основной функции.

Задание

Ввести и обработать два одномерных массива, содержащие соответственно п целых и m вещественных компонентов. Вычислить:

1) количество элементов массива, лежащих в диапазоне от А до В;

2) сумму элементов массива, расположенных после максимального элемента.

3) Упорядочить элементы массива по убыванию модулей элементов.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.12.2013, 00:00
Ответы с готовыми решениями:

Найти количество элементов массива, лежащих в диапазоне и сумму модулей, после максимального элемента.
Задание 1. Дан массив из N элементов (вещественные числа). Вычислить: 1) количество элементов массива, лежащих в диапазоне от A до B; 2)...

Упорядочить элементы массива по убыванию модулей элементов
2)Упорядочить элементы массива по спаданию модулей элементов. (Visual studio)

Упорядочить элементы массива по убыванию модулей элементов
в 1мерном массиве состоящем из n эл. вычислить: 1 колич эл массива лежащих от А до В 2 сумму эл массива расположенных после макс...

6
1 / 1 / 1
Регистрация: 26.12.2013
Сообщений: 13
27.12.2013, 01:12
Криво, но работает вроде.
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include <iostream>
using namespace std;
void read(int* arr,float* arr1,int count1,int count2)
{
    for (int i=0;i<count1;i++)
        cin>>arr[i];
    for(int i =0;i<count2;i++)
        cin>>arr1[i];
}
void write(int* arr,float* arr1,int count1,int count2)
{
    for (int i=0;i<count1;i++)
        cout<<arr[i]<<"; ";
    cout<<'\n';
    for(int i =0;i<count2;i++)
        cout<<arr1[i]<<"; ";
    cout<<'\n';
}
float* toFloat(int* arr,int count)
{
    float* a = new float[count];
    for (int i=0;i<count;i++)
        a[i] = (float)arr[i];
    return a;
}
int diaposon(float a, float b,float* arr,int count)
{
    int rez = 0;
    for (int i=0;i<count;i++)
        if (arr[i]>a&arr[i]<b)
            rez++;
    return rez;
}
int diaposon(float a, float b,int* arr,int count)
{
    return diaposon(a,b,toFloat(arr,count),count);
}
float afterMax(float* arr,int count)
{
    float rez = 0;
    int max = 0;
    for (int i = 1;i<count;i++)
        if(arr[i]>arr[max]) max = i;
    for (int i = max+1;i<count;i++)
        rez+=arr[i];
    return rez;
}
float afterMax(int* arr,int count)
{
    return afterMax(toFloat(arr,count),count);
}
void absSort(float *arr,int count)
{
    float t;
    for (int i=0; i+1<count;i++)
    {
        if (abs(arr[i])<abs(arr[i+1])) 
        {
            t = arr[i];
            arr[i] = arr[i+1];
            arr[i+1] = t;
            if (i<=0) i=-1; else i-=2;
        }
    }
}
void absSort(int *arr,int count)
{
    int t;
    for (int i=0; i+1<count;i++)
    {
        if (abs(arr[i])<abs(arr[i+1])) 
        {
            t = arr[i];
            arr[i] = arr[i+1];
            arr[i+1] = t;
            if (i<=0) i=-1; else i-=2;
        }
    }
}
int main()
{
    const int count1 = 3;   
 
    int arr1[count1];
    float *arr2 = new float [count1];
 
    read(arr1,arr2,count1,count1);
 
    cout<<"After max. (int)"<<(int)afterMax(arr1,count1)<<'\n';
    cout<<"After max. (float)"<<afterMax(arr2,count1)<<'\n';
 
    float a,b;
    cout<<"in a,b for interval";
    cin>>a>>b;
 
    cout<<"on interval (int)"<<diaposon(a,b,arr1,count1)<<'\n';
    cout<<"on interval (float)"<<diaposon(a,b,arr2,count1)<<'\n';
 
    absSort(arr1,count1);
    absSort(arr2,count1);
    write(arr1,arr2,count1,count1);
 
    system("pause");
 
}
0
2 / 2 / 4
Регистрация: 28.09.2013
Сообщений: 407
27.12.2013, 10:59  [ТС]
Большое спасибо за помощь, но работает неправильно
Миниатюры
Массивы. Количество элементов в диапазоне, сумму после максимального, упорядочить по убыванию модулей  
0
1 / 1 / 1
Регистрация: 26.12.2013
Сообщений: 13
27.12.2013, 21:44
Что именно неправильно работает, и как вообще ввод, вывод должен быть оформлен? Должна длина массива читаться, или задается в тексте? Если неправильно вычисляет количество значений в диапазоне, попробуйте включить крайние точки (30 строка), я их исключил. В сортировке по убыванию модулей и сумме после максимального ошибок не вижу.
0
2 / 2 / 4
Регистрация: 28.09.2013
Сообщений: 407
28.12.2013, 20:04  [ТС]
Цитата Сообщение от ArtyrSvAn Посмотреть сообщение
Что именно неправильно работает, и как вообще ввод, вывод должен быть оформлен? Должна длина массива читаться, или задается в тексте? Если неправильно вычисляет количество значений в диапазоне, попробуйте включить крайние точки (30 строка), я их исключил. В сортировке по убыванию модулей и сумме после максимального ошибок не вижу.
Про ввод и вывод в задании ничего не сказано, поэтому думаю, что здесь это не особо важно. А вот про точки крайние понять не могу. И в сортировке меня смущает, что выводиться в две строки
0
1 / 1 / 1
Регистрация: 26.12.2013
Сообщений: 13
30.12.2013, 02:12
Выводится результат для каждого из массивов, а массива всего два, потому и строки две.
Крайние точки - поменяйте > и < на >= и <=, если в задании сказано, что возвращаемое множество, количество элементов которого мы считаем и выводим, должно включать a и b при наличии их в массиве.
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
30.12.2013, 09:56
Цитата Сообщение от avatar1870 Посмотреть сообщение
Размерности массивов вводить в основной функции.
Размерность массива — количество индексов, необходимое для однозначного доступа к элементу массива
http://ru.wikipedia.org/wiki/М... ммирование)
А вы точно уверены?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.12.2013, 09:56
Помогаю со студенческими работами здесь

Упорядочить элементы векторов по убыванию модулей элементов
Задайте два вектора А(n) и B(m). выполните задания: 1)найдите вектора С(n+m) с элементов векторо А и Б, сначала парных в порядке...

Упорядочить столбцы матрицы по убыванию модулей элементов в столбцах
Дана действительная матрица. Упорядочить ее столбцы по убыванию модулей элементов в столбцах

Упорядочить элементы одномерного массива по убыванию модулей элементов
Упорядочить элементы одномерного массива по убыванию модулей элементов.

В одномерном массиве вычислить количество отрицательных элементов и сумму модулей элементов, расположенных после минимального по модулю элемента
/* В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) количество отриц. элементов массива; 2) сумму модулей...

Найти количество элементов, меньших заданного числа и сумму элементов, расположенных после максимального
1.количество элементов массива,меньших С; 2.сумму элементов массива,расположенных после максимального элемента. упорядочить элементы...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru