Форум программистов, компьютерный форум CyberForum.ru

В одномерном массиве целых чисел заменить минимальное значение максимальным. - C++

Восстановить пароль Регистрация
 
-GSS-
0 / 0 / 0
Регистрация: 23.11.2010
Сообщений: 16
12.12.2010, 08:26     В одномерном массиве целых чисел заменить минимальное значение максимальным. #1
Как делать, подскажите ( Только можно по простенькому, без cin и cout? А с функциями scanf и printf
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2010, 08:26     В одномерном массиве целых чисел заменить минимальное значение максимальным.
Посмотрите здесь:

В одномерном массиве целых чисел содержится два нулевых значения. Подсчитать сумму чисел, заключённых между двумя нулями. C++
В одномерном массиве целых чисел заменить минимальное значение максимальным. C++
C++ В одномерном массиве, состоящем из n целых вещественных чисел, вычислить:
перегруженые функции для вычисления суммы произведений двух соседних чисел для трех целых чисел и в одномерном массиве целых чисел C++
C++ Написать шаблоны функций для для вычисления суммы произведений двух соседних чисел для трех целых чисел и в одномерном массиве целых чисел
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
12.12.2010, 08:33     В одномерном массиве целых чисел заменить минимальное значение максимальным. #2
Найти максимум - найти минимум - заменить.
-GSS-
0 / 0 / 0
Регистрация: 23.11.2010
Сообщений: 16
12.12.2010, 08:34  [ТС]     В одномерном массиве целых чисел заменить минимальное значение максимальным. #3
Вот знать бы как это делается
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
12.12.2010, 08:41     В одномерном массиве целых чисел заменить минимальное значение максимальным. #4
Ну что же тут сложного то?

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
#include <stdio.h>
#include <malloc.h>
 
int find_max_idx(int* Arr, int n)
{
    int max=Arr[0];
    int max_idx=0;
    int i;
    for(i=0; i<n; ++i)
    {
        if(max < Arr[i])
        {
            max=Arr[i];
            max_idx=i;
        }
     }
     return max_idx;
}
 
int find_min_idx(int* Arr, int n)
{
    int min=Arr[0];
    int min_idx=0;
    int i;
    for(i=0; i<n; ++i)
    {
        if(min > Arr[i])
        {
            min=Arr[i];
            min_idx=i;
         }
     }
     return min_idx;
}
 
int main()
{
    int* Arr;
    int n;
    printf("Enter n: ");
    scanf("%d", &n);
    Arr=(int*) malloc(n*sizeof(int));
    int i;
    for(i=0; i<n; ++i)
       scanf("%d", &Arr[i]);
    int min_idx=find_min_idx(Arr, n);
    int max_idx=find_max_idx(Arr, n);
    Arr[min_idx]=Arr[max_idx];
    for(i=0; i<n; ++i)
       printf("%d\n", Arr[i]);
    free(Arr);
    return 0;
}
-GSS-
0 / 0 / 0
Регистрация: 23.11.2010
Сообщений: 16
12.12.2010, 08:43  [ТС]     В одномерном массиве целых чисел заменить минимальное значение максимальным. #5
Это С, у меня С++ =((((
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
12.12.2010, 08:44     В одномерном массиве целых чисел заменить минимальное значение максимальным. #6
-GSS-, Тогда пишите нормально через cout/cin раз С++ и не пытайтесь издеваться над языком.
-GSS-
0 / 0 / 0
Регистрация: 23.11.2010
Сообщений: 16
12.12.2010, 08:46  [ТС]     В одномерном массиве целых чисел заменить минимальное значение максимальным. #7
А почему издеваться ? Print и scanf это плохо ? Что в них такого, что издевается над языком?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
12.12.2010, 08:50     В одномерном массиве целых чисел заменить минимальное значение максимальным. #8
printf/scanf - Си.
В cpp крайне рекомендуется использовать потоки.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <algorithm>
 
int main()
{
    int* Arr;
    int n;
    std::cin>>n;
    Arr=new int[n];
    for(int i=0; i<n; ++i)
       std::cin>>Arr[i];
    int* max=std::max_element(Arr, Arr+n);
    int* min=std::min_element(Arr, Arr+n);
    int max_idx=std::distance(Arr, max);
    int min_idx=std::distance(Arr, min);
    Arr[min_idx]=Arr[max_idx];
    for(int i=0; i<n; ++i)
       std::cout<<Arr[i]<<'\n';
    return 0;
}
-GSS-
0 / 0 / 0
Регистрация: 23.11.2010
Сообщений: 16
12.12.2010, 08:53  [ТС]     В одномерном массиве целых чисел заменить минимальное значение максимальным. #9
Просто нас учили на С++ использовать сканф и принтф, син и коут я мы не изучали
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
12.12.2010, 08:56     В одномерном массиве целых чисел заменить минимальное значение максимальным. #10
-GSS-, Раз обучали - измените на притф, сканф. Я этого не буду делать по морально-этическим соображениям.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2010, 12:58     В одномерном массиве целых чисел заменить минимальное значение максимальным.
Еще ссылки по теме:

В одномерном массиве целых чисел заменить минимум на максимум C++
C++ В одномерном массиве целых чисел заменить минимальное значение средним арифметическим его элементов, находящихся на четных позициях
В массиве из целых чисел найти минимальное простое число C++

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

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
12.12.2010, 12:58     В одномерном массиве целых чисел заменить минимальное значение максимальным. #11
Цитата Сообщение от ForEveR Посмотреть сообщение
Я этого не буду делать по морально-этическим соображениям
Браво!
Yandex
Объявления
12.12.2010, 12:58     В одномерном массиве целых чисел заменить минимальное значение максимальным.
Ответ Создать тему
Опции темы

Текущее время: 23:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru