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

Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подключение arageli http://www.cyberforum.ru/cpp-beginners/thread816314.html
Необходимо подключить arageli, для работы со сверх-большими числами. Например, необходимо ввести большое число, возвести в большую степень и поделить на другое число. Я скачал arageli, в папке...
C++ Перенести первую букву в конец слова Напечатать все слова, отличающиеся от последнего слова, перед печатью перенеся первую букву в конец слова. Вот мой код, я уже вывожу слова без первой буквы и не равные последнему. Вопрос, как... http://www.cyberforum.ru/cpp-beginners/thread816311.html
C++ Цех вводится в строй постепенно, выдавая в первый день
Цех вводится в строй постепенно, выдавая в первый день (%) про-дукции от нормы, во второй день – (%), а в третий день – (%), …, в -й день – (%). Составить алгоритм и программу расчета...
C++ нет декларации to_string
Программа сочетает 2 ф-ии: Если есть второй аргумент (пришлось данное условие задавать статично =\) то сравниваем str1 с str2, если второй аргумент не задан (не удовлетворяет статичному условию), то...
C++ PlugIns.dll визуализации aimp http://www.cyberforum.ru/cpp-beginners/thread816274.html
Нужно всеголиш поменять параметр отображения плагина в фулскрене. STRINGTABLE LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL { 65328, "The new size provided for image resizing is invalid." 65329,...
C++ Разбить на два файла .h и .cpp Ребят, подскажите, как правильно разбить эту программу на два файла .h и .cpp #include <math.h> #include <iostream> class square { private: double x,y,l; public: подробнее

Показать сообщение отдельно
Roguen
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 7

Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами - C++

23.03.2013, 15:11. Просмотров 1106. Ответов 1
Метки (Все метки)

Дан массив размера 10. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами. Осуществить циклический сдвиг элементов элементов влево на k позиций, где k – число элементов расположенных между его минимальным и максимальным значением.

Нужно это сделать с помощью указателей и индексов, с помощью индексов я сделал, а с помощью указателей не получается

Код
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream>
#define n 10

int main()
{
srand(time(NULL));
int mass[n],i,*min,*max,nmin,nmax,temp,x,j ;

	for (i=0;i<n;i++)
	{mass[i]=20+rand()%100-6;}

min=&mass[0];
max=&mass[9];

printf("\n\nishodnyi massi\n\n");

	for (i=0;i<n;i++)
	{printf(" [%d] ",*min++);}
	printf("\n\n");
min=&mass[0];

	for(i=0;i<n;i++)
    {
    min++;
    if(mass[i]<*min)
    {min=&mass[i];}
    else if (mass[i]>*max)
    {max=&mass[i];}
    }

printf("max=%d, min=%d",nmax,nmin);

if (max>min)
{x=max-min;
	for(i=0;i<(x/2);i++)
		{temp=*max;
		*max=*min;
		*min=temp;
		min++;
		max--;
		}
}


else
{
    x=min-max;
	for (i=0;i<(x/2);i++)
		{temp=*min;
		*min=*max;
		*max=temp;
		min--;
		max++;
		}
}

min=&mass[0];

printf("\n\nObrabotannyi massiv\n\n");
	for (i=0;i<n;i++)
	{printf(" [%d] ",*min++);}

printf("\n\nSdvig massiva vlevo na %d pozicii\n\n",x);

for(i=0;i<x;i++)
	{temp=*min;
		for(j=0;j<n-1;j++)
		{*min=*min++;
		*min++=temp;
		}
	}

for (i=0;i<n;i++)
{printf(" [%d] ",*min++);}

getch();
return(0);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru