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

Массив. Найти максимальный и минимальный по модулю элементы массива

26.10.2014, 14:23. Показов 8217. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ввести одномерный массив А , вывести его. Найти максимальный и минимальный по модулю элементы массива. Если модуль максимального элемента превышает значение модуля минимального более чем на 10, то увеличить положительные элементы всего массива на значение модуля максимума, иначе уменьшить их на это значение.

Добавлено через 13 часов 9 минут
закройте тему, или переместите в другой раздел (С++)

Добавлено через 47 минут
https://www.cyberforum.ru/c/th... ost6769835

Добавлено через 18 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream.h>
int main()
{
    int n,i;
    // Ввод массива
    cout<<"\nVvod n";
    cin>>n;
    int a[n];
    for (i=0; i<n; i++)
    {
        cout<<"\na["<<i<<"]=";
        cin>>a[i];
    }
    // Вывод массива
    cout<<"\nMassiv a:";
    for (i=0; i<n; i++)
        cout<<"\t"<<a[i];
 
а дальше?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.10.2014, 14:23
Ответы с готовыми решениями:

Найти максимальный и минимальный по модулю элементы массива
Ввести одномерный массив , вывести его. Найти максимальный и минимальный по модулю элементы массива. Если модуль максимального элемента...

Найти максимальный и минимальный по модулю элементы массива
Ввести одномерный массив А , вывести его. Найти максимальный и минимальный по модулю элементы массива. Если модуль максимального элемента...

Найти и вывести минимальный по значению и максимальный по модулю элементы массива А
Прошу помочь с решением задачи, нужен текст программы на паскале. Дан одномерный целочисленный массив А из 10 элементов. Найти и вывести...

6
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
26.10.2014, 15:19
qwen1234,
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
const int n = 5;
 
int main(int argc, const char * argv[])
{
    int a[n];
    for (int i = 0; i < n; ++i)
    {
        cout << "A[" << i << "]:";
        cin >> a[i];
    }
    int minIndex = 0, maxIndex = 0;
    cout << "Array:";
    for (int i = 0; i < n; ++i)
    {
        cout << " " << a[i];
        if (abs(a[i]) < abs(a[minIndex])) minIndex = i;
        if (abs(a[i]) > abs(a[maxIndex])) maxIndex = i;
    }
    const int temp = (abs(a[maxIndex]) >= abs(a[minIndex])+10 ? abs(a[maxIndex]) : -1*abs(a[maxIndex]));
    for (int i = n-1; i >= 0; --i)
        a[i] += temp;
    cout << endl << "Array:";
    for (int i = 0; i < n; ++i)
        cout << " " << a[i];
    return 0;
}
Задавать значение статического массива неконстантными значениями не есть хорошо, поскольку не все компиляторы позволяют такое
0
0 / 0 / 1
Регистрация: 29.09.2014
Сообщений: 97
26.10.2014, 17:04  [ТС]
Гоблин-инженер,
Цитата Сообщение от Гоблин-инженер Посмотреть сообщение
qwen1234,
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
const int n = 5;
 
int main(int argc, const char * argv[])
{
    int a[n];
    for (int i = 0; i < n; ++i)
    {
        cout << "A[" << i << "]:";
        cin >> a[i];
    }
    int minIndex = 0, maxIndex = 0;
    cout << "Array:";
    for (int i = 0; i < n; ++i)
    {
        cout << " " << a[i];
        if (abs(a[i]) < abs(a[minIndex])) minIndex = i;
        if (abs(a[i]) > abs(a[maxIndex])) maxIndex = i;
    }
    const int temp = (abs(a[maxIndex]) >= abs(a[minIndex])+10 ? abs(a[maxIndex]) : -1*abs(a[maxIndex]));
    for (int i = n-1; i >= 0; --i)
        a[i] += temp;
    cout << endl << "Array:";
    for (int i = 0; i < n; ++i)
        cout << " " << a[i];
    return 0;
}
Задавать значение статического массива неконстантными значениями не есть хорошо, поскольку не все компиляторы позволяют такое
массивы у нас вводит пользователь
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 <iostream.h>
#include <math.h>
#include <cmath>
 
using namespace std;
 
 
int main()
{
    int n,i;
    cout<<"\nInput array n:";
    cin>>n;
    int a[n];
    for (i=0; i<n; i++)
    {
        cout<<"\na["<<i<<"]=";
        cin>>a[i];
    }
    int min = 0, max = 0;
    cout << "Array:";
    for (int i = 0; i < n; ++i)
    {
        cout << " " << a[i];
        if (abs(a[i]) < abs(a[min])) min = i;
        if (abs(a[i]) > abs(a[max])) max = i;
    }
    const int temp = (abs(a[max]) >= abs(a[min])+10 ? abs(a[max]) : -1*abs(a[max]));
    for (int i = n-1; i >= 0; --i)
        a[i] += temp;
    cout << endl << "Array:";
    for (int i = 0; i < n; ++i)
        cout << " " << a[i];
    return 0;
}
Гоблин-инженер,
Так же у меня вопрос на счет вот это строки:
C++
1
const int temp = (abs(a[max]) >= abs(a[min])+10 ? abs(a[max]) : -1*abs(a[max]));
для чего мы делаем ее константой?
И почему
C++
1
 for (int i = 0; i < n; ++i)
у нас i=0 а не 1?
0
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
26.10.2014, 21:34
qwen1234, если массивы у вас вводит пользователь (т.е. размерность массива не определена), то пользуйтесь динамическим массивом или вектором. Если вам не нравится const, можете не делать её константой. i = 0 потому, что в цикле происходит не только поиск минимального и максимального, но и вывод массива на экран
0
0 / 0 / 1
Регистрация: 29.09.2014
Сообщений: 97
29.10.2014, 10:04  [ТС]
Гоблин-инженер, а можете показать пример динамического и векторного массива?
0
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
29.10.2014, 17:33
qwen1234, динамический массив:
C++
1
2
3
4
int *a = new int[n]; // Выделяем память для массива целых чисел на n элементов
for (int i = 0; i < n; ++i) // Выписываем все элементы на экран (для примера)
    cout << a[i] << endl;
delete []a; // После использования освобождаем память
вектор:
C++
1
2
3
4
5
6
vector <int> a; // Объявили вектор
a.push_back(5); // Добавили в вектор число 5
a.push_back(2); // Добавили в вектор число 2
a[0]; // Вернет 5
a[1]; // Вернет 2
a[0] = 4; // Перезаписали первую ячейку
Для вектора понадобится подключить библиотеку vector. Но лучше вам использовать динамический массив, вектор целесообразно использовать в случаях, если размер массива не определён.
0
0 / 0 / 1
Регистрация: 29.09.2014
Сообщений: 97
30.10.2014, 00:06  [ТС]
Гоблин-инженер, спасибо! А можете, пожалуйста, мне объяснить несколько задачек, только там уже двумерные массивы?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.10.2014, 00:06
Помогаю со студенческими работами здесь

Массив А(50). Найти минимальный и максимальный элементы массива.
Здравствуйте. Помогите решить. Заранее спасибо. Дан массив А(50). Найти минимальный и максимальный элементы массива, а элементы,...

Найти минимальный и максимальный по модулю элементы матрицы
Найти минимальный и максимальный по модулю элементы матрицы А. Выделить в новый массив прямоугольную область,на концах диагонали которой...

6.1 Дан действительный массив А(п). Найти максимальный и минимальный элементы массива
6.1 Дан действительный массив А(п). Найти максимальный и минимальный элементы массива.

Дан массив А(20). Найти минимальный и максимальный элементы массива и их порядковые номера
Дан массив А(20). Найти минимальный и максимальный элементы массива и их порядковые номера.Добрые люди! Помогите пожалуйста! Срочно надо!...

Дан массив А(20). Найти минимальный и максимальный элементы массива, и их порядковые номера
Дан массив А(20). Найти минимальный и максимальный элементы массива, и их порядковые номера.


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru