Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 27.01.2014
Сообщений: 7
1

В массиве определить наибольшие из первых десяти элементов и последних десяти элементов и поменять их местами

10.02.2014, 18:05. Просмотров 463. Ответов 7
Метки нет (Все метки)


В массиве A из 20 элементов определить наибольшие из первых десяти элементов и последних десяти элементов и поменять их местами.
Элементы массива A должны быть случайными числами в диапазоне от 0 до 100.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.02.2014, 18:05
Ответы с готовыми решениями:

В массиве A из 20 элементов определить наибольшие из первых десяти элементов и последних десяти элементов и поменять их местами.
В массиве A из 20 элементов определить наибольшие из первых десяти элементов и последних десяти...

Поменять местами максимальные элементы из первых 10 и последних десяти элементов вектора
Program vec; Uses crt; const m = 25; var Vector: array of integer; i, max, min,...

Поменять местами больший из десяти первых элементов массива и меньший из оставшихся
помогите пожалуйста! Задан массив A и нужно в нем поменять местами больший из десяти первых...

В массиве Р подсчитать сумму первых десяти элементов и количество отрицательных элементов с четными индексами
1)Сформировать и вывести на печать массив Р(20), элементы которого принадлежат интервалу . В...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
7
Знаток
156 / 156 / 185
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
10.02.2014, 18:27 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
30
31
32
33
#include<iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
 
int main()
{
int max1,max2,i1=0,i2=10,buf,a[21];
 
for(int i=0;i<20;i++)
    {
        a[i]=rand()%200;
    }
 
max1=a[0];max2=a[10];
for(int i=0;i<10;i++)
if(max1<a[i]) 
      {
        max1=a[i];i1=i;
      }
 
for(int i=10;i<20;i++)
if(max2<a[i]) 
     {
       max2=a[i];i2=i;
     }
 
a[i1]=max2;
a[i2]=max1;
 
for(int i=0;i<20;i++)
cout<<a[i]<<' ';
return 0;}
0
569 / 537 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
10.02.2014, 18:44 3
Fanat35,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include<cstdlib>
#include<ctime>
#include<iomanip>
int main()
{
        srand(time(NULL));
    const size_t arraySize = 20;
    int *array = new int [arraySize];
    for(size_t i=0; i<arraySize; i++)
        std::cout<<std::setw(4)<<(array[i] = rand()%100);
    size_t MaxFirst = 0,MaxLast = 9;
    for(size_t i=1;i<arraySize;i++)
    {
        MaxFirst = (array[i]>array[MaxFirst] && i < 10)? i :MaxFirst;
        MaxLast = (array[i]>array[MaxLast] && i > 10)? i :MaxLast;
    }
    std::cout<<"\nNew array:\n";
    std::swap(array[MaxFirst],array[MaxLast]);
    for(size_t i=0; i<arraySize; i++)
        std::cout<<std::setw(4)<<array[i];
}
0
243 / 244 / 38
Регистрация: 08.04.2013
Сообщений: 927
10.02.2014, 18:55 4
Fanat35,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdafx.h"
#include <iostream>
#include <algorithm>
#include <vector>
#include <ctime>
 
using namespace std;
 
int main()
{
    srand(time(NULL));
    vector<int> vec(20);
    for_each(vec.begin(), vec.end(), [](int &a){a = rand()%100;});
    iter_swap(max_element(vec.begin(), vec.begin()+10), max_element(vec.begin()+10, vec.end()));
    system("pause");
    return 0;
}

Не по теме:

наконец-то я вкусил с++11

0
0 / 0 / 0
Регистрация: 27.01.2014
Сообщений: 7
10.02.2014, 19:06  [ТС] 5
Спасибо большое, кто откликнулся.
Но какой правильной код то?
))
0
243 / 244 / 38
Регистрация: 08.04.2013
Сообщений: 927
10.02.2014, 19:09 6
Цитата Сообщение от Fanat35 Посмотреть сообщение
Но какой правильной код то?
мой работает. могу предположить, что другие тоже компилировали перед тем, как выложить)
0
569 / 537 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
10.02.2014, 19:10 7
metaluga145, Твой код то рабочий, но пользователь этого явно не заметит, имхо.
Для приличия сделай вывод массива
0
243 / 244 / 38
Регистрация: 08.04.2013
Сообщений: 927
10.02.2014, 19:15 8
по просьбам пользователей, обновленный код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <iostream>
#include <algorithm>
#include <vector>
#include <ctime>
#include <iterator>
 
using namespace std;
 
int main()
{
    srand(time(NULL));
    vector<int> vec(20);
    for_each(vec.begin(), vec.end(), [](int &a){a = rand()%100;});
    copy(vec.begin(), vec.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
    iter_swap(max_element(vec.begin(), vec.begin()+10), max_element(vec.begin()+10, vec.end()));
    copy(vec.begin(), vec.end(), ostream_iterator<int>(cout, " "));
    cout << endl;
    system("pause");
    return 0;
}
кст, если кто-то подскажет как избавиться от
C++
1
cout << endl;
в таком выводе, буду благодарен
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.02.2014, 19:15

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Задан действительный массив Х из 20 элементов. Определить количество отрицательных элементов в первых десяти элементах
Здравствуйте, первый день на форуме, но уже столкнулся с проблемой в простой задачке на Java. Если...

Определить сумму первых десяти нечетных по номеру элементов
{f}_{1}=1, {f}_{2}=2, {f}_{k}={f}_{k-1}*{f}_{k-2}, если k&gt;2. Определить сумму первых десяти...

Выбрать все записи кроме первых и последних десяти
Каквыбрать все записи кроме первых 10 и последних 10?

Вычислить суму первых десяти элементов ряда 1+1/2 + 1/3+
Сказали нужно написать программу на листочке.


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

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

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