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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2009, 17:56   #1
kas0n
Новичок
Джуниор
 
Регистрация: 13.12.2009
Сообщений: 1
По умолчанию (C++) Матрицы

Есть прога(код ниже), она делает сортировку строк матрицы в порядке не убывания сумм положительных элементов строк, но она это делает через файлы, а надо чтобы самому вводить при её запуске элементы матрицы, и потом она тут же выводила уже отсортированные значения. Помогите пожалуйста переделать или хотябы скажите как это лучше сделать.

Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int Max(int *Mas,int N)
{
	int j,maximum=0;
	for(j=0;j<N;j++)
		if(Mas[j]>0)
			maximum+=Mas[j];
	return maximum;
}

void per(int **Mas,int M,int N)
{
	int i,fl=1;
	int *ptr;
	ptr=new int[N];

	while(fl)
	{
		fl=0;
		for(i=0;i<M-1;i++)
		{
			if(Max(Mas[i],N)>Max(Mas[i+1],N))
			{
				ptr=Mas[i];
				Mas[i]=Mas[i+1];
				Mas[i+1]=ptr;
				fl=1;
			}
		}
	}
}

void main()
{
	int M=0,N=0,i,j;
	char c;
	int **Mas;
	FILE *in,*out;

	if((in=fopen("Lb7_03_1.in","r"))!=NULL)
	{
		out=fopen("Lb7_03_1.out","w");
		fscanf(in,"%d",&M);
		fscanf(in,"%c",&c);
		if(c==' ')
			fscanf(in,"%d",&N);
		else
			N=M;


		Mas=new int*[M];
		for(i=0;i<M;i++)
			Mas[i]=new int[N];

		for(i=0;i<M;i++)
			for(j=0;j<N;j++)
			{
				fscanf(in,"%d",&Mas[i][j]);
			}

		per(Mas,M,N);
		for(i=0;i<M;i++)
		{
			for(j=0;j<N;j++)
			{
				fprintf(out,"%d",Mas[i][j]);
				if(j!=N-1)
					fprintf(out," ");
			}
			if(i!=M-1)
				fprintf(out,"\n");
		}
		for(i=0;i<M;i++)
			delete Mas[i];
		delete []Mas;
		fclose(in);
		fclose(out);
	}
}
kas0n вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение матрицы методом союзной матрицы dofmat Помощь студентам 6 03.10.2011 15:01
TurboPascal: графы, матрицы смежности и матрицы инцидентности. ulala Помощь студентам 1 03.03.2011 19:28
C++ и матрицы qed Помощь студентам 2 11.10.2009 15:58
Сумма четных элементов матрицы. Произведение элементов 3-го столбца. Минимальный элемент матрицы. renovare Помощь студентам 2 03.07.2009 21:13