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

Как вставить индекс после максимального элемента массива со смещением остальных элементов? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Строка,подщёт вхождения каждого слова http://www.cyberforum.ru/cpp-beginners/thread247788.html
Строки,подщёт вхождения каждого слова и вывод слова и сколько рас оно там встречялось, помогите пожалуста с этим заданием,ато понятия не имею что и как тут делать.
C++ списки Привет!Помогите...у меня такое задание по спискам "11. Написать программу, содержащую подпрограмму, которая проверяет на равенство списки М1 и М2."....как я понимаю нужно создать два списка и... http://www.cyberforum.ru/cpp-beginners/thread247783.html
Определить сколько раз массив меняет знак на противоположный C++
Решите пожалуйста 2 задачки =) 1)Дан одномерный массив А, состоящий из целых чисел. Определить сколько раз массив меняет знак на противоположный. 2)Даны два целочисленных массива, состоящие из...
Возвести в квадрат три действительных числа C++
Даны три действительных числа. Возвести в квадрат те из них, значения которых неотрицательны. Только надо на старом компиляторе.
C++ Найти среднее арифметическое значений функции http://www.cyberforum.ru/cpp-beginners/thread247765.html
Найти среднее арифметическое значений функции f(x) в точках a,b,(a+b)/2, используя обращение к функции. f(x) f= (e^x-e^(-x))/2+〖tg〗^2 x; a=3; b=5 Только у меня старый компилятор. Добавлено...
C++ Создать класс, описывающий объект "Трапеция" У меня есть задача: создать класс, описывающий объект ТРАПЕЦИЯ. Свойства класса должны быть минимальны по количеству, но функционально полно описывать объект. Перегрузить стандартные операторы, в... подробнее

Показать сообщение отдельно
kenasa

Как вставить индекс после максимального элемента массива со смещением остальных элементов? - C++

24.02.2011, 16:20. Просмотров 950. Ответов 2
Метки (Все метки)

После первого максимального (минимального) элемента массива вставьте его номер, передвинув все элементы массива, сле¬дующие за ним, вправо на одну позицию. При этом значение последнего элемента теряется.

то есть если дан массив 23 5 9 245 8 7
то должно на выходе получиться 23 5 9 245 4(индекс максимального элемента) 8

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
#include "conio.h"
#include  "stdio.h"
#include "iostream"
using namespace std;
#define N 6 // определение размера массива
#include "locale.h"
 
void main()
{
    setlocale(LC_ALL,"Russian");
    int mass[N];//исходный массив
    int max,imax; //максимальный элемент и его индекс
    int min,imin; // минимальный элемент и его индекс
    int i; //счетчики
 
    cout<<"Введите элементы массива ,не более "<<N <<endl;
    for (i = 0; i < N; i++) // цикл ввода элементов массива
    cin >>mass[i]; // ввод
    max=0;
    min=0;// обнуляем максимальный и минимальный элемент
    min = mass[0]; // мин и макс равны первому элементу
    max = mass[0];
    for (int i = 1; i < N; i++)
   {
   if (mass[i] < min) // если текущий элемент меньше мин
   {min = mass[i]; // то мин = текущий элемент
   imin=i;}
   if (mass[i] > max) // если текущий элемент больше макс
   { max = mass[i]; // то макс = текущий элемент
   imax=i;}
   }
    
//вот с этого места проблема!!! вместо сдвига получаеться просто замена максимального элемента
for(i=N;i>imax;i--)
{  mass[i]=mass[i-1]; 
 mass[imax] = imax;
}
for (i=0;i<N;i++)
{    cout<<"mass="<<mass[i]<<endl;}
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru