// Lab7.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

struct Value{
	int a;
	int b;
	int i;
	int j;
	int sum;
};
int _tmain(int argc, _TCHAR* argv[])
{
	setlocale(0,"");//чтоб консоль писала по русски
	const int N = 5;
	const int M = 5;
	char mas[N][M]={
					{'A', 'B', 'C', 'D', 'V'},
					{'F', 'Q', 'C', 'C', 'V'},
					{'F', 'B', 'C', 'D', 'H'},
					{'S', 'S', 'D', 'V', 'H'},
					{'S', 'X', 'D', 'B', 'H'},
				   };

	Value value[N][M];
	memset(value,0x00,sizeof(value));
	char x0;
	for(int i=0;i<N;i++){
		for(int j=0;j<M;j++){
			
			x0 = mas[i][j];
			for(int k=0;k<N;k++){
				if(mas[i][k]==x0)
					value[i][j].a++;
			}
			for(int n=0;n<M;n++){
				if(mas[n][j]==x0)
					value[i][j].b++;
			}
			value[i][j].i = i;
			value[i][j].j = j;
			value[i][j].sum = value[i][j].a + value[i][j].b;
		}
	}
	const int str=5;    
	const int stolb=5;  
	int i,j,a,c,e=1,d=100,x,z;
	Value temp;
	printf("До сортировки""\n\n");
	for(i=0;i<str;i++)   
	{                      
		for(j=0;j<stolb;j++)
		{
			printf("%i\t",value[i][j].sum);
		}
		printf("\n\n\n\n");
	}
	printf("\n\n");
	//Сортируем массив
	//_______________________________________________________________________________
	for(c=0;c<=(str*stolb);c++)//колличество проходов
	{
		//в строках упорядочиваем
		//____________________________________________
		for(i=0;i<str;i++)
		{
			for(j=0;j<stolb-1;j++)
			{
				if(value[i][j].sum>value[i][j+1].sum)
				{
					temp=value[i][j];
					value[i][j]=value[i][j+1];
					value[i][j+1]=temp;
				}
			}
		}
		//в столбах упорядочиваем
		//_____________________________________________
		for(x=0;x<stolb;x++)
		{
			for(z=0;z<str-1;z++)
			{
				if(value[z][x].sum>value[z][x+1].sum)
				{
					temp=value[z][x];
					value[z][x]=value[z][x+1];
					value[z][x+1]=temp;
				}
			}
		}
	}
	//вывод на экран после сортировки
	//__________________________________________________________

	printf("После сортировки по возрастанию""\n\n\n\n");
	for(i=0;i<str;i++)
	{
		for(j=0;j<stolb;j++)
		{
			printf("%i\t",value[i][j].sum);
		}
		printf("\n\n\n\n");
	}
	printf("i = %i, j = %i, sum = %i",value[4][4].i,value[4][4].j,value[4][4].sum);
	return 0;
}