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

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

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2010, 07:28   #1
sekator
Заблокирован
 
Регистрация: 27.07.2010
Сообщений: 11
Смущение Задачка с перестановкой значений в двумерном масиве

Ребята делаю лабу! Значит в задании номер 1 я реализовал ПО в котором вводим значение в 10 ячеек масива, потом указываем на сколько сдивнуть значения вперед и выводится уже измененый масив на экран!

А во втором задании требуется :

В двумерном массиве порядка 5x7 осуществите сдвиг строки на одну вниз, начиная с 0. При этом 0 строка становится первой вторая третьей, а последняя - 0. Диалог с пользователем реализовать при помощи меню.

Вот я так подумал и использовал код первого задания только нужно его модифицировать под второе задание... Думал-думал гадал-гадал по идее все сделал по уму, и ошибок нет! Но при запуске ошибка Break использую Visual Studio 2008 Standart

Задание #1 :

Код:
#include <iostream>
using namespace std;

void main()
{
	setlocale(LC_ALL, "rus");
	system ("color 0a");
	int const a = 9;
	int mas[a];
	int mas_sdv[a];
	for(int z = 0;z < 10;z++)
	{
		cout<<"Введите значение в ячейку № : "<<(z+1)<<" ";
		cin>>mas[z];
		system ("cls");
	}
	system ("cls");
	for(int z = 0;z < 10;z++)
	{
		cout<<"Ячейка № "<<(z+1)<<" равна : "<<mas[z]<<"\n";
	}
	int sdv = 0;
	cout<<"\nВведите на сколько ячеек будем сдвигать массив : ";
	cin>>sdv;
	int h = 0;
	h = 10 - sdv;
	system ("cls");
	for(int a = 0;a < 10;)
	{
		int y;
		y = mas[a];
		a++;
		mas_sdv[sdv] = y;
		if(a == h)
			sdv = 0;
		else
			sdv++;
	}
	for(int z = 0;z < 10;z++)
	{
		cout<<"Ячейка № "<<(z+1)<<" равна : "<<mas_sdv[z]<<"\n";
	}
	system("pause");
}
Задание #2 :

Код:
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;

void main()
{
	setlocale(LC_ALL, "rus");
	system ("color 0a");
	int const x = 5;
	int const y = 7;
	int mas[x][y];
	int mas_sdv[x][y];
	for(int i=0; i<x; i++)
	{
		for(int j=0; j<y;j++)
		{
			mas[i][j]=rand()%100;
			cout<<mas[i][j]<<" ";
		}
		cout<<"\n\n";
    }
	int sdv = 0;
	cout<<"\nВведите на сколько ячеек будем сдвигать массив : ";
	cin>>sdv;
	int h = 0;
	h = 10 - sdv;
	system ("cls");
	for(int n = 0;n < 7;n++)
	{
		for(int a = 0;a < 5;)
		{
			int y;
			y = mas[a][n];
			a++;
			mas_sdv[sdv][n] = y;
			if(a == h)
				sdv = 0;
			else
				sdv++;
		}
	}
	for(int i=0; i<x; i++)
	{
		for(int j=0; j<y;j++)
		{
			cout<<mas_sdv[i][j]<<" ";
		}
		cout<<"\n\n";
    }
	system("pause");
}
sekator вне форума Ответить с цитированием
Старый 27.07.2010, 07:51   #2
sekator
Заблокирован
 
Регистрация: 27.07.2010
Сообщений: 11
Радость Решение

Все,все ребят! Я сам додумался! Вот код может кому интересно :

Код:
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;

void main()
{
	setlocale(LC_ALL, "rus");
	system ("color 0a");
	int const x = 5;
	int const y = 7;
	int mas[x][y];
	int mas_sdv[x][y];
	for(int i=0; i<x; i++)
	{
		for(int j=0; j<y;j++)
		{
			mas[i][j]=rand()%100;
			cout<<mas[i][j]<<" ";
		}
		cout<<"\n\n";
    }
	int sdv = 0;
	cout<<"\nВведите на сколько ячеек будем сдвигать массив : ";
	cin>>sdv;
	int h = 0;
	h = 5 - sdv;
	system ("cls");
	for(int n = 0;n < 7;n++)
	{
		for(int a = 0;a < 5;)
		{
			int y = 0;
			y = mas[a][n];
			a++;
			mas_sdv[sdv][n] = y;
			if(a == h)
				sdv = 0;
			else
				sdv++;
		}
	}
	for(int i=0; i<x; i++)
	{
		for(int j=0; j<y;j++)
		{
			cout<<mas_sdv[i][j]<<" ";
		}
		cout<<"\n\n";
    }
	system("pause");
}
sekator вне форума Ответить с цитированием
Старый 28.07.2010, 14:33   #3
Tema_Crazzzy
Форумчанин
 
Регистрация: 29.04.2010
Сообщений: 114
По умолчанию

Sekator, мой тебе маленький совет: учись писать программы для массивов n*m, а не для заданного размера, если и дальше будешь изучать Си то тебе это пригодиться)) А так молодец, неплохо)
Tema_Crazzzy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шифрование просто перестановкой SnowSin Помощь студентам 2 08.10.2015 20:47
поиск в масиве Apis Общие вопросы C/C++ 2 12.09.2011 05:51
поиск в масиве Apis Паскаль, Turbo Pascal, PascalABC.NET 1 25.04.2010 23:36
шифрование перестановкой Ketu Помощь студентам 1 28.03.2009 12:30
ПОВТОР ЗНАЧЕНИЯ В МАСИВЕ Slavik Microsoft Office Excel 11 27.01.2009 08:13