Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2013, 21:57   #1
Chainik!
Форумчанин
 
Регистрация: 10.11.2008
Сообщений: 120
По умолчанию сёдлые точки

Не получается вывести на экран седлые точки, в чём ошибка??


Код:
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "iomanip"
#include "ctime"
#include "clocale"
using namespace std;
//---------------------------------------
void print(int **arr, int n, int m)
{
	for(int i = 0; i < n; i++)
	{
		for(int j = 0; j < m; j++)
			cout << setw(3) << *(*(arr + i) + j) << setw(3);
		cout << endl << endl;
	}
}
//---------------------------------------
void msrand(int **arr, int n, int m)
{
	srand(time(NULL));
	for(int i = 0; i < n; i++)
	{
		for(int j = 0; j < m; j++)
			*(*(arr + i) + j) = rand() % 4;
	}
}
//---------------------------------------
void matrica(int **&arr, int n, int m)
{
	arr = new int*[n];
	for(int i = 0; i < n; i++)
		*(arr + i) = new int[m];
}
//---------------------------------------
void Del(int **arr, int n)
{
	for(int i = 0; i < n; i++)
		delete [] arr[i];
	delete [] arr;
}
//---------------------------------------
int min(int **arr, int n, int m)
{
	int min_el = 0;
	for(int i = 0; i < n; i++)
	{
		min_el = arr[i][0];
		for(int j = 0; j < m; j++)
		{
			if(arr[i][j] < min_el)
				min_el = arr[i][j];
		}
	}
	return min_el;
}
//---------------------------------------
int max(int **arr, int m, int n)
{
	int max_el = 0;
	for(int j = 0; j < m; j++)
	{
		max_el = arr[0][j];
		for(int i = 0; i < n; i++)
		{
			if(arr[j][i] > max_el)
				max_el = arr[j][i];

		}
	}
	return max_el;
}
//---------------------------------------
void sdl(int **arr, int n, int m)
{
	int i = 0, j = 0, k = 0;
	for(i = 0; i < n; i++)
	{
		for(j = 0; j < m; j++)
		{
			if((arr[i][j] == min(arr,i,j)) && (arr[i][j] == max(arr,j,i)))
				k++;
		}
	}
	if(k)
		cout << "Седловая точка найденна: " << "arr[" << min(arr,i, j) << "][" << max(arr,i, j) << "]";
	else
		cout << "Седловой точки не обнаруженно!";
}
//---------------------------------------

int _tmain(int argc, _TCHAR* argv[])
{ 
	setlocale(LC_CTYPE, "Rus");
	int n = 0,m = 0, **arr;
	cout << "Введите размер строк: ";
	cin >> n;
	cout << "\n\nВведите размер столбцов: ";
	cin >> m;
	matrica(arr,n,m);
	msrand(arr,n,m);
	cout << "\n\nМатрица имеет вид: \n\n";
	print(arr,n,m);
	sdl(arr,n,m);
	Del(arr,n);
	_getch();
	return 0;
}
помог - жми на весы
Chainik! вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрет ввода в TextBox букв и . (точки) / Или автозамена точки на запятую uralshans Microsoft Office Excel 4 30.08.2013 00:24
Поиск всех путей в лабиринте от точки до точки pavel_abelardo Помощь студентам 12 26.06.2011 00:23
Имеются координаты точки. Как проверить какого цвета соседние точки на форме? Rin Мультимедиа в Delphi 2 10.11.2009 22:47
даны две точки. организовать движение из точки А в точку Б окружности! Wi1D Помощь студентам 6 23.05.2009 19:55
Отбражение чисел - точки, это точки, а не запятые, обозначающие дробную часть Дикий Помощь студентам 7 12.05.2008 17:57