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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2013, 00:39   #1
camel5
Пользователь
 
Аватар для camel5
 
Регистрация: 10.11.2013
Сообщений: 28
По умолчанию Проверьте код

Дана целочисленная матрица размером 7*4. Переставляя ее строки и столбцы, добиться того, чтобы наибольший элемент (один из них ) оказался в верхнем левом углу.
Код:
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#define M 7
#define N 4
#define NL printf("\n")
using namespace std;

int main()
{
	int i,j,imax,jmax,temp;
	int a[M][N],b[M][N];
	srand(unsigned(time(NULL)));  /*Строим массив а*/

	for(i=0;i<M;i++)
		for(j=0;j<N;j++)
			a[i][j]=rand()%2;  /*Выводим массив а*/

	for(i=0;i<M;i++)
	{
		for(j=0;j<N;j++)
			printf("%2d", a[i][j]);
		NL;
	}
	/*ищем место первого max элемента а*/
	imax=0; jmax=0;
	for(i=0;i<M;i++)
		for(j=0;j<N;j++)
			if(a[imax][jmax]<a[i][j])
			{
				imax=i;
				jmax=j;
			}
			a[imax][jmax]=temp;
			printf("Первый max. элемент находится в %2d строке и в %2d столбце!\n", imax,jmax);
	/* Перестановка элементов, так чтобы максимальный элемент оказался в левом верхнем углу*/
			/*imax,jmax строки и столбца максимального элемента,M-кол-во столбцов*/
for(int i=0,temp=0;i<M;i++)
{
    temp=a[0][i];
    a[0][i]=a[imax][i];
    a[imax][i]=temp;
}
/* перестановка столбца,N-кол-во строк*/
for(int i=0,temp=0;i<N;i++)
{

    temp=a[i][0];
    a[i][0]=a[i][jmax];
    a[i][jmax]=temp;
}
for(i=0;i<M;i++)
	for(j=0;j<M;j++)
		printf("%2d", b[i][j]);
		NL;
	return 0;
}
camel5 вне форума Ответить с цитированием
Старый 02.12.2013, 05:23   #2
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

Код:
a[i][j]=rand()%2;
мде...трудно наверно искать ошибку перестановки при генерации матрицы из 0 и 1
Код:
for(int i=0,temp=0;i<M;i++)
{
    temp=a[0][i];
    a[0][i]=a[imax][i];
    a[imax][i]=temp;
}
что это? a[0][i]; при i от 1 до 7? когда столбца 4?

порадовала строчка
Код:
a[imax][jmax]=temp;
нашли адрес максимального и положили туда 0! шикарно!
Мне кажется код не ваш...
Код:
//#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#define M 7
#define N 4
#define NL printf("\n")
using namespace std;

int main()
{
	int i,j,imax,jmax,temp;
	int a[M][N],b[M][N];
	srand(unsigned(time(NULL)));  

	for(i=0;i<M;i++)
		for(j=0;j<N;j++)
			a[i][j]=rand()%10;  /*генерируем массив случайных чисел А */

        for(i=0;i<M;i++)
	{
		for(j=0;j<N;j++)
			printf("%2d", a[i][j]);/*Выводим массив а*/
		NL;
	}
	/*ищем место первого max элемента а*/
	imax=0; jmax=0;
	for(i=0;i<M;i++)
		for(j=0;j<N;j++)
			if(a[imax][jmax]<a[i][j])
			{
				imax=i;
				jmax=j;
			}
	
			printf("Первый max. элемент находится в %2d строке и в %2d столбце!\n", imax+1,jmax+1);
	/* Перестановка элементов, так чтобы максимальный элемент оказался в левом верхнем углу*/
			/*imax,jmax строки и столбца максимального элемента,M-кол-во столбцов*/
for(j=0;j<N;j++) // переставили строки
{
    temp=a[0][j];
    a[0][j]=a[imax][j];
    a[imax][j]=temp;
}
for(i=0;i<N;i++) // переставили столбцы
{
    temp=a[i][0];
    a[i][0]=a[i][jmax];
    a[i][jmax]=temp;
}

	for(i=0;i<M;i++)
	{
		for(j=0;j<N;j++)
			printf("%2d", a[i][j]);/*Выводим массив а*/
		NL;
	}

	return 0;
}
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!

Последний раз редактировалось SaLoKiN; 02.12.2013 в 05:43.
SaLoKiN вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверьте код camel5 Общие вопросы C/C++ 0 25.11.2013 19:55
Проверьте код с++ Tatyana64 Помощь студентам 9 04.11.2012 12:33
Проверьте код Ko$ Помощь студентам 4 17.03.2011 14:29
Проверьте код neomax38 Помощь студентам 2 27.12.2010 16:53
Проверьте код ! Михаил Юрьевич Общие вопросы Delphi 7 08.02.2008 09:32