Добавил:
inrad
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Контрольная работа №1 Вариант 11 задание 1 (исходник)
.cpp//---------------------------------------------------------------------------
#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();
}
//---------------------------------------------------------------------------
Соседние файлы в предмете Конструирование программ и языки программирования