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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2013, 00:32   #1
огр
Новичок
Джуниор
 
Регистрация: 04.06.2013
Сообщений: 1
Восклицание найти ошибку!

Должно в матрице 2*N переставлять таким образом блоки
Было
1 1
2 2
Должно стать
2 2
1 1
Но оно не получается((( помогите найти ошибку
Код:
#include<iostream.h>
#include<conio.h>
#include<time.h>
#include<string.h>
#include<iomanip.h>
#include<stdlib.h>
int n,m;
int** mas=new int* [m];
void create()
{
	int i,j;
	srand((unsigned)time( NULL));
	cout<<"Input n"<<endl;
	cin>>n;
	m=2*n;
 for (i=0; i<m; i++)
			mas[i]=new int[m];
	for (i=0; i<m; i++)
		{
			for (j=0; j<m; j++)
				{
					mas[i][j]=rand()%100;
					cout<<setw(3)<<mas[i][j];
				}
			cout<<endl;
		}
	getche();
}
void sort()
{
	int i,j;
	int** tmp1=new int* [n];
	for (i=0; i<n; i++)
		tmp1[i]=new int[m];
	for (i=0; i<n; i++)
		for (j=0; j<m; j++)
			tmp1[i][j]=mas[i][j];
	for (i=n; i<m; i++)
		for (j=0; j<m; j++)
		{

	      //		mas[i-n][j]=mas[i][j];
	    mas[i][j]=tmp1[i-n][j];
		}
	for (i=0; i<m; i++)
		{
		for (j=0; j<m; j++)
			cout<<setw(3)<<mas[i][j];
		cout<<endl;
		}
	/*for (i=0; i<m; i++)
		delete []mas[i];
	delete []mas;
	for (i=0; i<n; i++)
		delete []tmp1[i];
	delete []tmp1;
	getche();*/
}
int main()
{
	int i,j;
	create();
        cout<<endl;
	sort();
       	getch();
	return 0;
}

Последний раз редактировалось Stilet; 04.06.2013 в 08:13.
огр вне форума Ответить с цитированием
Старый 04.06.2013, 07:56   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
найти ошибку!
Вам все ошибки или достаточно одной?
Цитата:
Сообщение от огр Посмотреть сообщение
Должно в матрице 2*N переставлять таким образом
}
Неправильный порядок слов в предложении.
s-andriano вне форума Ответить с цитированием
Старый 04.06.2013, 10:24   #3
revizor
Форумчанин
 
Аватар для revizor
 
Регистрация: 20.01.2013
Сообщений: 146
По умолчанию

Цитата:
#include<stdlib.h>
int n,m;
int** mas=new int* [m];
Вот здесь ошибка. m - глобальная переменная и она равна нулю. Потом пытаешься создать массив нулевого размера? Это нада бы в функции делать
revizor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти ошибку Lenty Общие вопросы C/C++ 7 15.06.2012 09:44
С++ Найти ошибку! sir.andrey Помощь студентам 5 20.10.2010 13:06
найти ошибку sergio11 Паскаль, Turbo Pascal, PascalABC.NET 2 19.05.2010 01:22
найти ошибку rUs_LAN Общие вопросы C/C++ 8 14.05.2009 12:02