Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2014, 03:47   #1
CppForYou
Пользователь
 
Регистрация: 08.03.2013
Сообщений: 37
По умолчанию комментировать

комментировать процесс сдвигов вправо/влево
Код:
#include <iostream>
#include <stdlib.h>
#include <iomanip>
#include <conio.h>
using namespace std;
int n, array[100], temp;
void left();
void right();
int main()
{
	setlocale(LC_ALL, "rus"); 
	int key;
	cout << "1.Сдвиг влево." << endl;
	cout << "2.Сдвиг вправо." << endl;
	cout << "3.Выход" << endl;
	cout << "Выберите пункт: ";
	switch(key = _getch())
	{
	case '1': left();
		break;
	case '2': right();
		break;
	case '3': exit(0);
		break;
	default: cout << "Нет такого пункта. Повторите" << endl << endl;
		main();
	}
	cout << endl;
}
void left() 
{
	system("cls");
	cout << "Введите кол-во элементов массива: ";
	cin >> n; 
	cout << "Введите элементы массива:"<< endl;
	for(int i=0; i<n; i++)
	{
		cin >> array[i]; 
	}
	cout << "Исходный массив:" << endl;
	for(int i=0; i<n; i++)
	{
		cout << setw(5) << array[i]; 
	}
	cout << endl;
	cout << "Сдвиг массива влево" << endl;
	int temp = array[0];
	for(int i=0; i<n-1; i++)
	{
		array[i] = array[i+1];
	}
	array[n-1] = temp; 
	
	for(int i=0; i<n; i++)
		cout << setw(5) << array[i]; 
	cout << endl;
}
void right() 
{
	system("cls");
	cout << "Введите кол-во элементов массива: ";
	cin >> n; 
	cout << endl << "Введите элементы массива" << endl;
	for(int i=0; i<n; i++)
	{
		cin >> array[i];
	}
	cout << "Исходный массив:" << endl;
	for(int i=0; i<n; i++)
	{
		cout << setw(5) << array[i];
	}
	cout << endl;
	cout << "Сдвиг массива вправо" << endl;
	
	for (int i=0; i<n; i++)
		temp = array[i];
	{
		for(int i=n-1; i>0; i--)
		{
			array[i]= array[i-1];	
		}
		array[0]= temp;
	}
	for(int i=0; i<n; i++)
		cout << setw(5) << array[i]; 
	cout << endl;
}
CppForYou вне форума Ответить с цитированием
Старый 19.01.2014, 11:18   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
// Делаем проход по циклу
	for (int i=0; i<n; i++)
//Запоминаем граничную ячейку во временную переменку В данном случае перую
		temp = array[i];
	{
//Делаем проход по циклу, смещая элементы массива вправо
		for(int i=n-1; i>0; i--)
		{
//Т.е. В ячейку с последним массивом ложим значение из предпоследнего
//Потом пред-предпоследний ложим на его место, и т.д.
			array[i]= array[i-1];	
		}
// В конце сохраненный отдельно последний элемент ложим в первую ячекуй
		array[0]= temp;
	}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
комментировать строки CppForYou Помощь студентам 0 18.01.2014 20:11
pascal перенос матрицы в одномерный массив комментировать код Izobara Помощь студентам 5 21.01.2013 18:25
От комментировать задачу Valik93 Помощь студентам 2 20.09.2011 18:13
Комментировать код Delphi Uli9 БД в Delphi 3 31.05.2010 17:12
Комментировать код Delphi Uli9 Помощь студентам 1 30.05.2010 13:35