Показать сообщение отдельно

  #5  
Старый 02.02.2008, 16:07
Forcer
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме:
3578578

Репутация: 275
По умолчанию

Код:
#include "stdafx.h"
#include <iostream> // for cin/cout
#include <string> // for string
#include <time.h>
#include <windows.h>

using namespace std;

HANDLE hStdout; 
int main()
{	
	hStdout = GetStdHandle(STD_OUTPUT_HANDLE); 
SetConsoleTextAttribute(hStdout, BACKGROUND_INTENSITY); 
	int n;
	SetConsoleTextAttribute(hStdout, 7);
	cout << "Enter N: ";
	cin >> n;
	while(n<=0)
	{
	cout << "\nerror N\nEnter N: ";
	cin >> n;
	}
	SetConsoleTextAttribute(hStdout, 3);
    cout << "generate...\n";	
    int a[10000];
    srand(time(0));
	for (int i=0; i<n*n; ++i)
	{
	a[i]=rand()%10;
	}
	int k=0, l;
	SetConsoleTextAttribute(hStdout, 4);
	cout << "Enter K: ";
	cin >> k;
	while(k>n&&k<0)
	{
	cout << "\nerror K\nEnter K: ";
	cin >> k;
	}
	SetConsoleTextAttribute(hStdout, 8);
	cout << "Enter L: ";
	cin >> l;
	while(l>n&&l<0)
	{
	cout << "\nerror L\nEnter L: ";
	cin >> l;
	}

	// Добавление здесь
	//**************************
	for (int i=0; i<n; ++i)
	{
		for (int j=0; j<n; ++j) {
			if( j == k - 1)
				SetConsoleTextAttribute (hStdout, FOREGROUND_BLUE | FOREGROUND_INTENSITY);
			if( j == l - 1 )
				SetConsoleTextAttribute (hStdout, FOREGROUND_GREEN | FOREGROUND_INTENSITY); 
			cout << a[i*n+j] << ' ';
			if( j == k - 1 || j == l - 1 )
				SetConsoleTextAttribute(hStdout, 8);
		}
		cout << '\n';
	}
		


	// swap k and l columns
	for (int i=0; i<n; ++i)
		swap (a[i*n+k-1], a[i*n+l-1]); // swap Matr[i][k] and Matr[i][l]

	// output result
	SetConsoleTextAttribute(hStdout, 6);
	cout << "Result:\n";
	SetConsoleTextAttribute(hStdout, 6);
	
	// Добавление здесь
	//**************************
	for (int i=0; i<n; ++i)
	{
		for (int j=0; j<n; ++j) {
			if( j == l - 1 )
				SetConsoleTextAttribute (hStdout, FOREGROUND_BLUE | FOREGROUND_INTENSITY);
			if( j == k - 1 )
				SetConsoleTextAttribute (hStdout, FOREGROUND_GREEN | FOREGROUND_INTENSITY); 
			cout << a[i*n+j] << ' ';
			if( j == k - 1 || j == l - 1 )
				SetConsoleTextAttribute(hStdout, 8);
		}
		cout << '\n';
	}
	int x;
	int i;
	if (i==k){SetConsoleTextAttribute(hStdout, 18);}

	getchar();
	getchar();

	return 0;
}
 
Ответить с цитированием