Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
FriendIk
1 / 1 / 1
Регистрация: 16.12.2012
Сообщений: 59
#1

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

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

Массив содержит 18 элементов вещественного типа. В этом массиве поменять местами максимальный элемент с последним.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2012, 17:08
Ответы с готовыми решениями:

Поменять местами минимальный элемент с первым элементом массива, а максимальный элемент с последним
Здравствуйте. Помогите пожалуйста написать программу: для поиска минимального и...

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

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

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

Найти максимальный и минимальный элемент в каждой строке массива и поменять местами с первым и последним элементом
Дана матрица M*N. Нужно найти максимальный и минимальный элемент в каждой...

6
JlightenDev_C++
63 / 63 / 33
Регистрация: 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 / 1
Регистрация: 16.12.2012
Сообщений: 59
16.12.2012, 19:49  [ТС] #3
Это не то...
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5116 / 1554 / 950
Регистрация: 23.01.2011
Сообщений: 3,183
Завершенные тесты: 1
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 / 1
Регистрация: 16.12.2012
Сообщений: 59
16.12.2012, 23:03  [ТС] #5
У меня StringGrid1 в который вводим элементы и StringGrid2 в котором после нажатия Button1 выводится задание...
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
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 / 1
Регистрация: 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
16.12.2012, 23:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2012, 23:18

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

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

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


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

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

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