Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Контрольная работа №1 Вариант 11 задание 1 (исходник)

.cpp
Скачиваний:
1
Добавлен:
01.04.2014
Размер:
2.06 Кб
Скачать
//---------------------------------------------------------------------------

#pragma hdrstop
#include <stdio.h>
#include <stdlib.h>
#include <tchar.h>
//---------------------------------------------------------------------------

#pragma argsused

int n, m, i, j, temp;
unsigned long matr[25][25];

int _initial(){
	puts ("Vvedite razmernost' matrici (i)");
	scanf ("%d", &n);
	puts ("Vvedite razmernost' matrici (j)");
	scanf ("%d", &m);

		srand((time(0)));
//Заполнение матрицы
		for (i = 0; i < n; i++) {
			printf ("\n");
			for (j = 0; j < m; j++) {
// 1. Заполнение первого элемента матрицы
				if (i == 0 && j == 0) {
					temp = rand()%((n*m)+n);
					if ((n*m) - temp < n && (n*m) - temp < m) {
						matr[i][j] = temp;
						printf (" %d", matr[i][j]);
					}
					else j--;
				}
// 2. Заполнение первой строки матрциы
				else if (i == 0 && j != 0) {
					temp = rand()%((n*m)+n);
					if (matr[i][j-1] - temp < m && matr[i][j-1] - temp != 0) {
						matr[i][j] = temp;
						printf (" %d", matr[i][j]);
					}
					else j--;
				}
// 3. Заполнение оставшейся матрицы
				else if (i != 0) {
					 temp = rand()%((n*m)+n);
					 if (matr[i-1][j] - temp < n && matr[i][j-1] - temp != 0 && matr[i-1][j] > temp) {
						 matr [i][j] = temp;
						 printf (" %d", matr[i][j]);
					 }
					 else j--;
				}
			}
		}
}

int _schet(){
	bool elements = false;
	for (i = 0; i < n; i++) {
		for (j = 0; j < m; j++) {
			if (matr[i][j] == i + j) {
				printf ("\nNayden element %d v pozicii %dx%d", matr[i][j], i, j);
				elements = true;
			}
		}
	}
	if (elements == false) {
		printf ("\nElementov ne naydeno");
	}
	return 0;
}

int _reset(){
	char rest[1];
	puts ("\nPoprobovat' snova? (Y/N) ");
	scanf ("%s", rest);
	if (rest[0] == 'y') {
		_initial();
		_schet();
		_reset();
	}
	else {
		return 0;
	}
}

int _tmain(int argc, _TCHAR* argv[]){
	_initial();
	_schet();
	_reset();
}
//---------------------------------------------------------------------------