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

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

Войти
Регистрация
Восстановить пароль
 
FriendIk
1 / 1 / 0
Регистрация: 16.12.2012
Сообщений: 59
#1

В массиве поменять местами максимальный элемент с последним - C++

16.12.2012, 17:08. Просмотров 565. Ответов 6
Метки нет (Все метки)

Массив содержит 18 элементов вещественного типа. В этом массиве поменять местами максимальный элемент с последним.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2012, 17:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В массиве поменять местами максимальный элемент с последним (C++):

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

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

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

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

В двумерном массиве поменять местами максимальный и минимальный элемент местами - C++
Написать фрагмент программы для решения следующей задачи.В двумерном массиве поменять местами максимальный и минимальный элемент местами....

В массиве из 10 чисел найти наименьший элемент и поменять его местами с последним элементом - C++
В массиве из 10 чисел найти наименьший элемент и поменять его местами с последним элементом Помогите, пожалуйста #include <iostream> ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
JlightenDev_C++
61 / 61 / 7
Регистрация: 12.08.2012
Сообщений: 150
16.12.2012, 18:45 #2
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
#include <iostream>
#include <conio.h>
#include <time.h>
 
int main(){
    srand(time(0));
    int save(0), index(0);
    setlocale(LC_ALL, "RUS");
    int array[18] = {};
    for(int i = 0; i < 18; i++){
            array[i] = rand()%9+1;
            std::cout << array[i] << " ";
            }
    for(int i = 0, max = 0; i < 18; i++){
            if(max < array[i]){
                   max = array[i];
                   index = i;
                   }
            }
    save = array[index];
    array[index] = array[17];
    array[17] = save;
    std::cout << "\n";
    for(int i = 0; i < 18; i++){
            std::cout << array[i] << " ";
            }
    _getch();
    return 0;
}
0
FriendIk
1 / 1 / 0
Регистрация: 16.12.2012
Сообщений: 59
16.12.2012, 19:49  [ТС] #3
Это не то...
0
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
16.12.2012, 22:52 #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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
int main () {
    srand(time(NULL));
    const int size = 18;
    int max = 0;
    double arr[size];
    
    std::cout << "Array: " << std::endl;
    for (int i = 0; i < size; i++) {
        std::cout << std::setw(9) << (arr[i] = double(rand()) / double(15)) << " ";
        max = arr[i] > arr[max] ? i : max;
    }
    std::cout << "\nMaximal element: " << arr[max] << "; Last element: " << arr[size - 1] << std::endl;
    
    double tmp = arr[max];
    arr[max] = arr[size - 1];
    arr[size - 1] = tmp;
    
    std::cout << "New array: " << std::endl;
    for (int i = 0; i < size; i++)
        std::cout << std::setw(9) << arr[i];
    std::cout << std::endl;
    
    system("pause");
    return 0;
}
0
FriendIk
1 / 1 / 0
Регистрация: 16.12.2012
Сообщений: 59
16.12.2012, 23:03  [ТС] #5
У меня StringGrid1 в который вводим элементы и StringGrid2 в котором после нажатия Button1 выводится задание...
0
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
16.12.2012, 23:11 #6
В одну строчку
C++
1
 std::swap(*std::max_element(std::begin(v), std::end(v)), *v.rbegin());
Добавлено через 44 секунды
Полный листинг программы
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
 
int main()
{
   std::vector<int> v = { 1, 2, 4, 3, 3, 0 };
   std::swap(*std::max_element(std::begin(v), std::end(v)), *v.rbegin());
   std::copy(std::begin(v), std::end(v), std::ostream_iterator<int> (std::cout, " "));
   std::cout << std::endl;
}
http://liveworkspace.org/code/2IKgMc
0
FriendIk
1 / 1 / 0
Регистрация: 16.12.2012
Сообщений: 59
16.12.2012, 23:18  [ТС] #7
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
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float a[18];int i,max=0,imax;
for(i=0;i<18;i++)a[i]=StrToFloat(Memo1->Lines->Strings[i]);
max=a[0];imax=0;
for(i=1;i<18;i++)
if(a[i]>max){max=a[i];imax=i;}
a[imax]=a[17];
a[17]=max;
Memo2->Clear();
for(i=0;i<18;i++)Memo2->Lines->Add(FloatToStr(a[i]));
}
вот так надо только у меня не Мемо а Stringrid
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2012, 23:18
Привет! Вот еще темы с ответами:

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

Поменять местами максимальный и минимальный элемент в массиве - C++
дан массив 4 на 4 в каждой строке поменять местами максимальный и минимальный элемент

В двумерном массиве поменять местами максимальный и минимальный элемент - C++
Всем доброго времени суток! Помогите пожалуйста с заданием, найти наибольший и наименьший элементы прямоугольной матрицы и поменять их...

Поменять минимальный и максимальный элемент местами в одномерном массиве - C++
Чёта туплю, не выводит второй массив: Нужно поменять минимальный и максимальный элемент местами в одномерном :jokingly: массиве . Не могу...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.12.2012, 23:18
Ответ Создать тему
Опции темы

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