Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/41: Рейтинг темы: голосов - 41, средняя оценка - 4.61
wlad565

Поменять местами первый элемент массива с максимальным, другой с минимальным, остальное оставить без изменения

13.06.2013, 11:18. Показов 7760. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан массив С, состоящий из N элементов (N <10). Поменять местами первый элемент массива с максимальным, другой с минимальным, остальное оставить без изменения. Вывести на печать заданий и новообразованный массивы.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.06.2013, 11:18
Ответы с готовыми решениями:

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

Поменять местами первый элемент массива с максимальным
Требуется поменять местами первый элемент массива с максимальным.

Поменять местами первый элемент массива с минимальным элементом
3.массив из 12 элементов,заполнен рандомно числами от -50 до 50.поменять местами первый элемент массива с минимальным элементом. даня...

7
 Аватар для Мимино
191 / 161 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
13.06.2013, 11:52
Цитата Сообщение от wlad565 Посмотреть сообщение
другой с минимальным
Какой такой "другой"?
Я правильно понимаю, задание переведено с украинского? Дайте оригинал, я помогу.

Добавлено через 17 минут
Если я правильно понял, и
другой с минимальным
означает перестановку второго элемента с минимальным, то вот код:
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    const int size = 9;
    int arr[size], min, max, temp;
 
    srand(time(NULL));
    cout << "Исходный массив: ";
    for (int i = 0; i < size; i++)
    {
        arr[i] = 1 + rand() % 99;
        if (!i)
        {
            max = i;
            min = i;
        }
 
        if (arr[i] > arr[max])
            max = i;
        if (arr[i] < arr[min])
            min = i;
 
        cout << arr[i] << "  ";
    }
 
    cout << endl;
    temp = arr[0];          // меняем местами 1-й элемент и максимальный;
    arr[0] = arr[max];
    arr[max] = temp;
 
    temp = arr[1];          // меняем местами 2-й элемент и миниальный;
    arr[1] = arr[min];
    arr[min] = temp;
 
    cout << "Итоговый массив: ";
    for (int i = 0; i < size; i++)
        cout << arr[i] << "  ";
    cout << endl;
 
    system("pause");
    return 0;
}
Код для VS10. Если не будет работать, вместо
C++
1
2
3
#include "stdafx.h"
#include <iostream>
#include <iomanip>
нужно сделать
C++
1
2
3
#include <iostream>
#include <stdlib>
#include <time.h>
0
 Аватар для Пaтрик
442 / 410 / 132
Регистрация: 21.01.2012
Сообщений: 976
13.06.2013, 11:56
C++
1
std::swap(*std::min_element, *std::max_element)
0
 Аватар для Мимино
191 / 161 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
13.06.2013, 11:57
Есть только одна неопределенность. Вторую замену делать в уже "новом" массиве, или ориентироваться на старый? Мой код ориентируется на старый.
0
0 / 0 / 2
Регистрация: 25.04.2013
Сообщений: 11
13.06.2013, 13:45
Пытаюсь решить эту задачку просто для себя, и не получается суть все таже поменять местами максимальный элемент с первым. Ткните меня носом где не верно((

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
34
35
36
37
38
39
40
41
#include "stdafx.h"
#include <iostream>
 
using namespace std;
int main()
{
   setlocale(LC_ALL, "rus");
   int mas[9],i,max,maxi,trum;
//------------------------------------------------------
   for (i=0; i<9; i++)
   {
     mas[i]=1+rand () %99;   
   };
//-----------------------------------------------------
   for (i=0; i<9; i++)
   {
     cout << mas[i] << " ";  
   };
   cout << "\n";
//------------------------------------------------------
   for (i=0; i<9; i++)
   {
    if (mas[i]>=mas[i++])
 
        max=mas[i];
        maxi=i;  
   };
 
   trum=mas[0];
   mas[0]=max;
   mas[maxi]=trum;
   
   for (i=0; i<9; i++)
   {
   cout << mas[i] << " ";
   }
   cout << "\n";
 
    system("pause");
    return 0;
}
Добавлено через 26 минут
Одну ошибочку у себя нашел
C++
1
if (mas[i]>=mas[[U]i+1[/U]])
Добавлено через 1 минуту
if (mas[i]>=mas[i+1])
0
 Аватар для Мимино
191 / 161 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
13.06.2013, 15:06
C++
1
2
3
4
5
6
7
for (i=0; i<9; i++)
   {
    if (mas[i]>=mas[i++])
 
        max=mas[i];
        maxi=i;  
   };
1. Это выйдет за пределы массива на последнем проходе.
2. Если максимальный элемент самый последний, ничего оно не найдет.
1
16 / 16 / 20
Регистрация: 15.03.2012
Сообщений: 106
13.06.2013, 15:08
Amedal, ошибка в строках с 21 по 27) у вас
C++
1
if (mas[i]>=mas[i++])
а нужно
C++
1
if (mas[i]>=max)
и еще забыли фигурные скобки
у вас
C++
1
2
3
4
5
6
7
for (i=0; i<9; i++)
   {
    if (mas[i]>=mas[i++])
 
        max=mas[i];
        maxi=i;  
   };
а нужно
C++
1
2
3
4
5
6
7
8
for (i=0; i<9; i++)
   {
    if (mas[i]>=max){
 
        max=mas[i];
        maxi=i;  
    }
   };
1
0 / 0 / 2
Регистрация: 25.04.2013
Сообщений: 11
14.06.2013, 06:20
Nikolai699 и Мимино, большое спасибо!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.06.2013, 06:20
Помогаю со студенческими работами здесь

Требуется поменять местами первый элемент массива с максимальным
Требуется поменять местами первый элемент массива с максимальным. ВХОДНЫЕ ДАННЫЕ В первой строке вводится одно натуральное число, не...

Требуется поменять местами первый элемент массива с максимальным
Задача следующая: Требуется поменять местами первый элемент массива с максимальным. Входные данные В первой строке вводится одно...

Первый элемент массива поменять местами с максимальным элементом
Составить программу, которая заполняет массив a случайными числами в диапазоне от 0 до 10, затем первый элемент меняет местами с...

Поменять местами первый элемент массива с самым левым минимальным элементом
Поменять местами первый элемент массива с самым левым минимальным элементом, а затем поделить все элементы массива на минимальное значение.

Написать программу,поменять местами первый элемент и минимальный, оставив остальные элементы без изменения
Напишите программу, которая запрашивает натуральное число N (не более 100), далее последовательность из N различных чисел, меняет местами...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru