Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2012, 13:39   #1
1309
 
Регистрация: 05.03.2012
Сообщений: 4
По умолчанию В массиве из 15 вещественных чисел найти наибольший элемент и поменять его местами с последним элементом массива.

В массиве из 15 вещественных чисел найти наибольший элемент и поменять его местами с последним элементом массива.
1309 вне форума Ответить с цитированием
Старый 17.05.2012, 13:57   #2
mmd12
Новичок
Джуниор
 
Регистрация: 17.05.2012
Сообщений: 5
По умолчанию

Код:
#include <iostream>
using namespace std;

int main(int argc, char *argv[])
{
    int a[15];
    int max, maxind,t;

    for(int i=0; i<15; i++)
    {
        cin >> a[i];
    }
    max=a[0];
    for(int i=0; i<15; i++)
    {
        if(a[i]>=max)
        {
            maxind=i;
            max=a[i];
        }
    }

    t=a[14];
    a[14]=a[maxind];
    a[maxind]=t;

    cout << "Максимальный элемент: " << max << " \n";

    for (int i=0; i<15; i++)
    {
        cout << a[i] << " ";
    }

    return 0;
}
mmd12 вне форума Ответить с цитированием
Старый 17.05.2012, 14:02   #3
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

1 Формируем в цикле массив из 15 элементов, как задали: или вводом с клавиатуры, или с помощью функции случайных чисел, или задаем непосредственно в программе.
2 Предполагаем, что первый элемент массива =мах, поэтому переменной мах присваиваем значение первого элемента , а переменной индекса первый индекс массива.
3 В цикле начиная со второго элемента сравниваем каждый с мах, если он больше, то запоминаем его как мах и его индекс и так до конца массива.
4 Зная индекс мах элемента меняем местами с последним
5 В цикле выводим новый массив на экран.
Программу пишите на том языке, который задали.
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 17.05.2012, 14:20   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

mmd12, а зачем избыточность в виде переменной max ?

так не проще (и что характернее - надежнее и ПРАВИЛЬНЕЕ, ибо Вы переменную maxind забыли проиницилизировать!)?
Код:
    maxind=0;
    for(int i=0; i<15; i++)
    {
        if(a[i]>=a[maxind]) maxind=i;
    }

    t=a[14];
    a[14]=a[maxind];
    a[maxind]=t;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.05.2012, 14:25   #5
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

1309

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

float arr[15];
std::swap_iter(arr + sizeof(arr) / sizeof(arr[0]) - 1, std::max_element(arr, arr + sizeof(arr) / sizeof(arr[0])));
Rififi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти в каждой строке наибольший элемент и поменять с элементом побочной матрицы kaznachey1993 Помощь студентам 5 27.01.2012 19:04
В одномерном массиве найти наибольший элемент и поменять его местами с последним nawka Помощь студентам 3 15.01.2012 13:34
Найти мин и поменять его местами со следующим элементом в массиве netiv Паскаль, Turbo Pascal, PascalABC.NET 3 24.10.2011 16:41
В целочисленной квадратной матрице наибольший элемент каждой строки поменять местами с элементом главной диагонали DesignGenius C# (си шарп) 0 18.10.2011 20:22
В каджом столбце массива А поменять местами первый отрицательный элемент с последним элементом столбца. Carmen Помощь студентам 1 31.05.2011 19:41