0 / 0 / 1
Регистрация: 03.11.2013
Сообщений: 101
1

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

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

Author24 — интернет-сервис помощи студентам
В массиве из 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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.09.2014, 20:20
Ответы с готовыми решениями:

В массиве из 10 целых чисел найти наименьший элемент и поменять его местами с последним элементом
В массиве из 10 целых чисел найти наименьший элемент и поменять его местами с последним элементом

В массиве из 10 целых чисел найти наименьший элемент и поменять его местами с последним элементом
В массиве из 10 целых чисел найти наименьший элемент и поменять его местами с последним элементом....

В массиве из целых чисел найти наименьший элемент и поменять его местами с последним элементом
в массиве из целых чисел найти наименьший элемент и поменять его местами с последним элементом

В массиве из 10 целых чисел найти наименьший элемент и поменять его местами с последним элементом
в массиве из 10 целых чисел найти наименьший элемент и поменять его местами с последним элементом ...

9
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
31 / 35 / 11
Регистрация: 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
0 / 0 / 1
Регистрация: 03.11.2013
Сообщений: 101
06.09.2014, 21:14  [ТС] 4
Спасибо, но не работает.
0
34 / 34 / 8
Регистрация: 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
31 / 35 / 11
Регистрация: 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
0 / 0 / 1
Регистрация: 03.11.2013
Сообщений: 101
06.09.2014, 21:47  [ТС] 7
Вот
Миниатюры
В массиве из 10 чисел найти наименьший элемент и поменять его местами с последним элементом  
0
Модератор
Эксперт С++
13496 / 10751 / 6406
Регистрация: 18.12.2011
Сообщений: 28,687
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
31 / 35 / 11
Регистрация: 14.07.2013
Сообщений: 146
06.09.2014, 22:14 9
Лучший ответ Сообщение было отмечено dkii как решение

Решение

dkii, в каком случае это выдает? Попробуй всем переменным присвоить 0.
C++
1
int min = 0, tmp = 0, index = 0;
1
0 / 0 / 1
Регистрация: 03.11.2013
Сообщений: 101
06.09.2014, 22:20  [ТС] 10
Спасибо dima55501, теперь все работает.
0
06.09.2014, 22:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.09.2014, 22:20
Помогаю со студенческими работами здесь

В массиве из 10 целых чисел найти наименьший элемент и поменять его местами с последним элементом
. В массиве из 10 целых чисел найти наименьший элемент и поменять его местами с последним элементом.

В массиве из 10 целых чисел найти наименьший элемент и поменять его местами с последним элементом
В массиве из 10 целых чисел найти наименьший элемент и поменять его местами с последним элементом

В массиве из 10 целых чисел найти наименьший элемент и поменять его местами с последним элементом.
В массиве из 10 целых чисел найти наименьший элемент и поменять его местами с последним...

В массиве найти наименьший элемент и поменять его местами с последним элементом.
В массиве найти наименьший элемент и поменять его местами с последним элементом.


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru