Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
qwen1234
0 / 0 / 1
Регистрация: 29.09.2014
Сообщений: 97
1

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

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

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

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

Добавлено через 47 минут
http://www.cyberforum.ru/c/thread1284737.html#post6769835

Добавлено через 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2014, 14:23
Ответы с готовыми решениями:

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

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

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

Найти максимальный и минимальный элементы массива
Найти максимальный и минимальный элементы массива. Помогите, пожалуйста

Найти максимальный и минимальный элементы массива
Дан одномерный массив. Значения элементов генерируются случайным образом. Найти...

6
Гоблин-инженер
113 / 110 / 65
Регистрация: 18.09.2014
Сообщений: 337
26.10.2014, 15:19 2
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
qwen1234
0 / 0 / 1
Регистрация: 29.09.2014
Сообщений: 97
26.10.2014, 17:04  [ТС] 3
Гоблин-инженер,
Цитата Сообщение от Гоблин-инженер Посмотреть сообщение
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
Гоблин-инженер
113 / 110 / 65
Регистрация: 18.09.2014
Сообщений: 337
26.10.2014, 21:34 4
qwen1234, если массивы у вас вводит пользователь (т.е. размерность массива не определена), то пользуйтесь динамическим массивом или вектором. Если вам не нравится const, можете не делать её константой. i = 0 потому, что в цикле происходит не только поиск минимального и максимального, но и вывод массива на экран
0
qwen1234
0 / 0 / 1
Регистрация: 29.09.2014
Сообщений: 97
29.10.2014, 10:04  [ТС] 5
Гоблин-инженер, а можете показать пример динамического и векторного массива?
0
Гоблин-инженер
113 / 110 / 65
Регистрация: 18.09.2014
Сообщений: 337
29.10.2014, 17:33 6
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
qwen1234
0 / 0 / 1
Регистрация: 29.09.2014
Сообщений: 97
30.10.2014, 00:06  [ТС] 7
Гоблин-инженер, спасибо! А можете, пожалуйста, мне объяснить несколько задачек, только там уже двумерные массивы?
0
30.10.2014, 00:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2014, 00:06

Найти минимальный и максимальный элементы массива
Прошу проверить код. #include &lt;iostream&gt; // Вводит массив с клавиатуры...

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

Найти минимальный и максимальный элементы массива и упорядочить элементы по убыванию, стоящие между ними, методом «пузырька».
Привет ВСЕМ!!! Обратите вниминие на эту задачку, ПЛЗ!!! =) Можно и без метода &quot;...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru