Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
dkii
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 101
#1

В массиве из 10 чисел найти наименьший элемент и поменять его местами с последним элементом - C++

06.09.2014, 20:20. Просмотров 1799. Ответов 9
Метки нет (Все метки)

В массиве из 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
#include <iostream>
using namespace std;
 
int main ()
{
int const n = 10;
int a[n];
 
for (int i = 0; i < n; i++)
cin >> a[i];
int min = a[0];
 
for (int i = 0; i < n; i++)
if (a[i] < min)
min = i;
 
int tmp = a[min];
 
a[min]  = tmp;
 
  for (int i = 0; i < n; i++)
  {
      cout<<a[i]<<" ";
  }
cout <<"min element "<<min;
system("pause");
return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2014, 20:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В массиве из 10 чисел найти наименьший элемент и поменять его местами с последним элементом (C++):

В массиве из 25 действительных чисел найти наименьший элемент и поменять его местами с первым элементом(Borland C++) - C++
В массиве из 25 действительных чисел найти наименьший элемент и поменять его местами с первым элементом.

Задача (язык С + +). В массиве из 25 действительных чисел найти наименьший элемент и поменять его местами с первым элементом - C++
Помогите

В массиве из 10 чисел найти Наибольший элемент и поменять его местами с первого элементом - C++
В массиве из 10 чисел найти Наибольший элемент и поменять его местами с первого элементом. Через printf scanf пожалуйста.

В массиве из 6 целых чисел найти наибольший элемент и поменять его местами с первым элементом массива - C++
Очень прошу, помогите развязать: 1)В массиве из 6 целых чисел найти наибольший элемент и поменять его местами с первым элементом массива ...

Найти первый максимальный элемент и поменять его местами с последним элементом массива - C++
Задача: Сформируйте массив из 6 элементов, организовав ввод данных с консоли. Подсчитайте сумму элементов массива, стоящих на нечетных...

Найти максимальный по абсолютной величине элемент и поменять его местами с последним элементом матрицы - C++
&quot;Дан двумерный массив, который содержит не более 10 строк и не более 10 столбцов. Найти максимальный по абсолютной величине элемент и...

9
wrone
8 / 8 / 2
Регистрация: 19.12.2013
Сообщений: 87
06.09.2014, 21:03 #2
ошибка на 15 строчки, ты присваиваешь переменной min не число из массива, а индекс

ой забыл поменять местами с последним элементом

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
#include <iostream>
 
using namespace std;
 
int main ()
{
int const n = 10;
int a[n];
 
    cout << "Vvedi 10 4isel: " << endl;
    for(int i = 0; i < n; i++)
    {
         cin >> a[i];
    }
 
int min = a[0];
 
for (int i = 0; i < n; i++)
if (a[i] < min)
min = a[i];
 
 
  for (int i = 0; i < n; i++)
  {
      cout<<a[i]<<" ";
  }
cout <<"\n\nmin element "<<min;
 
return 0;
}
Добавлено через 6 минут
ой я все перепутал, не так понял код
0
dima55501
30 / 34 / 6
Регистрация: 14.07.2013
Сообщений: 146
06.09.2014, 21:10 #3
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
#include <iostream>
using namespace std;
 
int main()
{
    int const n = 10;
    int a[n];
 
    for (int i = 0; i < n; i++)
        cin >> a[i];
    int min = a[0];
 
    for (int i = 0; i < n; i++)
    {
        if (a[i] < min)
            min = i;
    }
 
    int tmp = a[min];
    a[min] = a[n];
    a[n] = tmp;
 
    for (int i = 0; i < n; i++)
    {
        cout << a[i] << " ";
    }
    cout << "min element " << min;
    system("pause");
    return 0;
}
1
dkii
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 101
06.09.2014, 21:14  [ТС] #4
Спасибо, но не работает.
0
orange_fox
34 / 34 / 6
Регистрация: 06.04.2014
Сообщений: 189
06.09.2014, 21:16 #5
C++
1
2
3
4
5
6
7
8
9
10
11
#include <algorithm>
 
int main()
{
    const int size = 10;
    int arr[size];
    std::generate(arr, arr + size, [](){
        static int n = 0; return n++;
    });
    std::swap(*(arr+size), *(std::min_element(arr, arr + size)));
}
0
dima55501
30 / 34 / 6
Регистрация: 14.07.2013
Сообщений: 146
06.09.2014, 21:35 #6
dkii, странно, попробуйте так.
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
#include <iostream>
 
using namespace std;
 
int main()
{
    const int n = 10;
    int a[n];
    int min, tmp, index;
    for (int i = 0; i < n; i++)
    {
        cin >> a[i];
    }
    min = a[0];
    for (int i = 0; i < n; i++)
    {
        if (a[i] < min)
        {
            min = a[i];
            index = i;
        }
    }
    tmp = a[index];
    a[index] = a[n-1];
    a[n-1] = tmp;
    for (int i = 0; i < n; i++)
    {
        cout << a[i] << " ";
    }
    cout << "\nmin: " << min << endl;
    system("pause");
    return 0;
}
0
dkii
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 101
06.09.2014, 21:47  [ТС] #7
Вот
0
Миниатюры
В массиве из 10 чисел найти наименьший элемент и поменять его местами с последним элементом  
zss
Модератор
Эксперт С++
6530 / 6092 / 2007
Регистрация: 18.12.2011
Сообщений: 15,843
Завершенные тесты: 1
06.09.2014, 22:12 #8
Если нулевой элемент окажется минимальным, то переменной index значение не присвоится.
Соответственно tmp = a[index];может вызвать вышеприведенное исключение.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
min = a[0];
index=0;
    for (int i = 1; i < n; i++) //  начинаем с 1  
    {
        if (a[i] < min)
        {
            min = a[i];
            index = i;
        }
    }
    //tmp = a[index]; //min уже равно a[index]
    a[index] = a[n-1];
    a[n-1] = min;
1
dima55501
30 / 34 / 6
Регистрация: 14.07.2013
Сообщений: 146
06.09.2014, 22:14 #9
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
dkii, в каком случае это выдает? Попробуй всем переменным присвоить 0.
C++
1
int min = 0, tmp = 0, index = 0;
1
dkii
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 101
06.09.2014, 22:20  [ТС] #10
Спасибо dima55501, теперь все работает.
0
06.09.2014, 22:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2014, 22:20
Привет! Вот еще темы с ответами:

Поменять местами максимальный элемент матрицы с его первым элементом а минимальный с последним - C++
ДВУМЕРНЫЙ МАССИВ: Поменять местами максимальный элемент матрицы F(k,p)в его первым элементом, а минимальный элемент – с последним. Найти...

Найти максимальный элемент и поменять его с последним элементом - C++
Дан многомерный массив. Найти максимальный элемент и поменять его с последним элементом. Помогите пожалуйста сделать через динамическое...

Найти самый отрицательный элемент массива и поменять его с последним элементом - C++
В произвольном массиве А из N элементов найти самый отрицательный элемент и поменять его с последним элементом

Массивы. Найти максимальный элемент и поменять его с последним элементом массива - C++
Задан двухмерный массив целых чисел A. Найти максимальный элемент и поменять его с последним элементом массива. Помогайте:(


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

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

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