Cod sursa(job #75033)

Utilizator MikeysMihai Tiganus Mikeys Data 30 iulie 2007 14:13:56
Problema Elimin Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.8 kb
#include <fstream.h>

int main(){
	int rand,coloane,r,c,k=0,min,ind,t;
	ofstream out;
	fstream in ;
	out.open("elimin.out");
	in.open("elimin.in");
	in >>rand>>coloane>>r>>c;
	int numar[rand][coloane],tempr[rand],tempc[coloane];
	for(int i=0;i<rand;i++)
		tempr[i]=0;
	for(int i=0;i<coloane;i++)
		tempc[i]=0;
	for(int i=0;i<rand;i++)
		for(int p=0;p<coloane;p++)
			in >>numar[i][p];
    for(int i=0;i<rand;i++){
		for(int p=0;p<coloane;p++)
			tempr[i]=tempr[i]+numar[i][p];
	}
	t=rand;
	//**************************************************************************
	//randuri
	//**************************************************************************
	while(k<r){
		min=tempr[0];
		ind=0;
		for(int i=0;i<t;i++)
			if(min>tempr[i]){
				ind=i;
				min=tempr[i];
			}
		for(int i=ind;i<(t-1);i++)
			tempr[i]=tempr[i+1];
		t=t-1;
		//out <<min<<"\n";
	    k=k+1;
		//sectiune eliminare randuri
		for(int i=ind;i<rand;i++)
			for(int p=0;p<coloane;p++)
				numar[i][p]=numar[i+1][p];
	}
	rand=t;
	//**************************************************************************
	//coloane
	//**************************************************************************
	k=0;
	t=coloane;
	for(int i=0;i<coloane;i++){
		for(int p=0;p<rand;p++)
			tempc[i]=tempc[i]+numar[p][i];
	}
	while(k<c){
		min=tempc[0];
		ind=0;
		for(int i=0;i<t;i++)
			if(min>tempc[i]){
				ind=i;
				min=tempc[i];
			}
		for(int i=ind;i<(t-1);i++)
			tempc[i]=tempc[i+1];
		//out <<min<<"\n";
	    k=k+1;
		//sectiune eliminare coloane
		for(int i=ind;i<t;i++)
			for(int p=0;p<rand;p++)
				numar[p][i]=numar[p][i+1];
		t=t-1;
	}
	coloane=t;
	//**************************************************************************
	//adunarea finala
	k=0;
	for(int i=0;i<rand;i++)
		for(int p=0;p<coloane;p++)
			k=k+numar[i][p];
	out <<k;
	out.close();
	in.close();
	return 0;
}