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

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

19.12.2016, 21:09. Просмотров 1420. Ответов 2
Метки нет (Все метки)

Добрый вечер, есть программа она меняет минимальный и максимальный элемент массива.
Нужно еще сделать программку которая меняет местами последний элемент массива и максимальный, то есть
{1,5,3,7,6,4,9,2} - исходной массив
{1,5,3,7,6,4,2,9} - массив после смены.
И если максимальных элементов несколько то взять первый из них.
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
48
49
50
51
#include "stdafx.h"
#include <stdio.h>
#include<conio.h>
#include <time.h>
#include <Windows.h>
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int a[100], buf;
    int i, n, max, min, n_max, n_min;
    printf("Введите число n:");
    scanf_s("%d", &n);
    if (n <= 5) {
        printf("Массив должен состоять из 6 и больше чисел.\n");
        scanf_s("%d", &n);
    }
    srand(time(NULL));
    printf("Массив до смены:\n");
    for (i = 0; i<n; i++)
    {
        a[i] = rand() % 10000;
        printf("%d\t", a[i]);
    }
    printf("\n");
    max = a[0];
    min = a[0];
    for (i = 1; i<n; i++)
    {
        if (a[i]>max)
        {
            max = a[i];
            n_max = i;
        }
        if (a[i]<min)
        {
            min = a[i];
            n_min = i;
            
        }
        
 
    }
    buf = a[n_max];
    a[n_max] = a[n_min];
    a[n_min] = buf;
    printf("\nМассив после смены:\n");
    for (i = 0; i < n; i++)
    printf("%d\t", a[i]);
    _getch();
}
Добавлено через 3 часа 26 минут
Дописал правильное условие задачи.

Добавлено через 10 часов 56 минут
Помогите)

Добавлено через 5 часов 33 минуты
ап!!!
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2016, 21:09
Ответы с готовыми решениями:

Как поменять местами последний нулевой элемент и первый максимальный элементы?
Как поменять местами последний нулевой элемент и первый максимальный элементы?

Поменять местами максимальный и последний отрицательный элементы массива А (40)
1. Поменять местами максимальный и последний отрицательный элементы массива А (40).

Поменять местами первый и последний элемент массива
Здравствуйте!! В одномерном массиве поменять местами i и j элементы, например, было: 1 2 3 4 5,...

В матрице поменять местами строку, содержащую минимальный элемент, со строкой, содержащей максимальный элемент массива
Помогите пожалуйста поправить код... Задание:В двумерном N*K массиве целых чисел поменять местами...

2
pakanpak
48 / 48 / 46
Регистрация: 18.11.2016
Сообщений: 107
19.12.2016, 21:23 2
Лучший ответ Сообщение было отмечено diego123 как решение

Решение

diego123,
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
#include <stdio.h>
#include<conio.h>
#include <time.h>
#include <Windows.h>
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int a[100], buf;
    int i, n, max, min, n_max, n_min;
    printf("Введите число n:");
    scanf("%d", &n);
    if (n <= 5) {
        printf("Массив должен состоять из 6 и больше чисел.\n");
        scanf("%d", &n);
    }
    srand(time(NULL));
    printf("Массив до смены:\n");
    for (i = 0; i<n; i++)
    {
        a[i] = rand() % 100;
        printf("%d\t", a[i]);
    }
    printf("\n");
 
    for (i = n-1,max=0; i>=0; i--)
    {
        if (a[i]>max)
        {
            max = a[i];
            n_max = i;
        }
 
 
 
    }
    buf = a[n_max];
    a[n_max] = a[n-1];
    a[n-1] = buf;
    printf("\nМассив после смены:\n");
    for (i = 0; i < n; i++)
    printf("%d\t", a[i]);
    _getch();
}
1
diego123
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 15
19.12.2016, 21:47  [ТС] 3
Спасибо большое, выручили. Удачи)
0
19.12.2016, 21:47
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2016, 21:47

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

Поменять местами максимальный и минимальный элемент массива
Помогите поменять местами максимальный и минимальный элемент массива. Кол-во элементов = 10....

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

Поменять местами последний элемент массива с элементом, который ближе всего находится к среднему значению
1.Дан массив целых чисел, состоящий из N элементов(N=20). Поменять местами последний элемент с...

Поменять местами максимальный отрицательный и первый положительный элемент массива В(18)
поменять местами максимальный отрицательный и первый положительный элемент массива В(18)


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

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

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