All pastes #36505 Raw Edit

Untitled

public text v1 · immutable
#36505 ·published 2006-01-11 18:39 UTC
rendered paste body
#include <stdlib.h>		//
#include <fstream.h>	//|--> bibliotekos
#include <stdio.h>		//
#include <time.h>

int m, n, mas[100][100], mas2[100][100], mas3[100][100], d1, d2, re, im;//int tipo kintamieji, naudojami visose f-jose
char rez[] = "Rezultatai.txt";
int x, y;

//-------------------------------------
//Kadangi "cout" yra supaprastinta "printf" pamaina ir programoje bus dirbama tik
//su sveikaisiais skaiciais, tai "printf" paprasciausiai atsisakiau...
//-------------------------------------


//procedura, generuojanti matrica
void kuria()
{
	cout << "Kiek bus eiluciu?\n";
	cout << "Eiluciu bus: ";
	cin >> m;//uzklausa
	cout << "\nKiek bus stulpeliu?\n";
	cout << "Stulpeliu bus: ";
	cin >> n;//uzklausa
	srand ( time(NULL) );
	int i, j;
	for (i=0;i<m;i++)
		for (j=0;j<n;j++)
			mas[i][j] = rand()%10;//generuojami matricos elementai
};

//-------------------------------------


//procedura, ieskanti didziausiu reiksmiu bei ju indeksu
void didziausi()
{
	int i, j;
	d1 = mas[0][0];
	d2 = mas[0][0];
	for (i=0;i<m;i++)
		for (j=0;j<n;j++)
			if (mas[i][j]>d1)
			{
				d1 = mas[i][j];
				re = i;//eilutes indeksas
				im = j;//stulpelio indeksas
				x=i;
				y=j;
			};
	for (i=0;i<m;i++)
		for (j=0;j<n;j++)
			if ((mas[i][j]>d2)&&((x!=i)||(y!=j))) d2 = mas[i][j];//suranda antra pagal dydi skaiciu
};

//-------------------------------------

void tvarko()
{


//---Tvarko eilutes-------------------------
//------------------------------------------
	int i, j;
	for (i=0;i<re;i++)
		for(j=0;j<n;j++)
			mas2[i][j] = mas[i][j];

	for (i=re+1;i<m;i++)
		for (j=0;j<n;j++)
			mas2[i-1][j] = mas[i][j];

	for (j=0;j<n;j++)
		mas2[i-1][j] = mas[re][j];


//---Tvarko stulpelius---------------------
//-----------------------------------------
	for (i=0;i<m;i++)
		for (j=0;j<im;j++)
			mas3[i][j+1] = mas2[i][j];

	for (i=0;i<m;i++)
		for (j=im+1;j<n;j++)
			mas3[i][j-1] = mas2[i][j+1];

	for (i=0;i<m;i++)
		mas3[i][0] = mas2[i][im];
};

//-------------------------------------

void isveda()
{
	
	
//---viska isveda i ekrana-------------------------------------
	int i, j;
	cout << "\nPradine sugeneruota matrica:\n\n";
	for (i=0;i<m;i++)
	{
		for (j=0;j<n;j++)
			cout << mas[i][j] << " ";
		cout << "\n";
	};
	cout << "\nDidziausia reiksme: " << d1 << "\n";
	cout << "Antra didziausia reiksme: " << d2 << "\n\n\n";
	cout << "Pertvarkyta matrica:\n\n";
	for (i=0;i<m;i++)
	{
		for (j=0;j<n;j++)
			cout << mas3[i][j] << " ";
		cout << "\n";
	};



//---viska isveda i faila-------------------------------------

	ofstream D(rez);//textinis rezultatu failas
	D << "\nPradine sugeneruota matrica:\n\n";
	for (i=0;i<m;i++)
	{
		for (j=0;j<n;j++)
			D << mas[i][j] << " ";
		D << "\n";
	};
	D << "\nDidziausia reiksme: " << d1 << "\n";
	D << "Antra didziausia reiksme: " << d2 << "\n\n\n";
	D << "Pertvarkyta matrica:\n\n";
	for (i=0;i<m;i++)
	{
		for (j=0;j<n;j++)
			D << mas3[i][j] << " ";
		D << "\n";
	};
	D.close();
};

//-------------------------------------



void main()
{
	int i;
	kuria();
	didziausi();
	tvarko();
	isveda();
	cin >> i;
}