Форум программистов, компьютерный форум CyberForum.ru

Нохождение локального минимуму в двумерном массиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вечный календарь http://www.cyberforum.ru/cpp-beginners/thread33685.html
помогите сделать програму Вечный календарь,которая при введении любой даты может определить день недели или сообщить о несуществующей дате.
C++ программа по массивам!!!! Ребята очень прошу, помогите с прогой... нужно объявить массив целых чисел и заполнить его случайными значениями. Размер массива 200 и диапазон значений его элементов от -50 до 50. А потом вывести начальные индексы всех непрерывных последовательностей чисел с неувеличивающимися значениями. буду безгранично благодарен за помощь... http://www.cyberforum.ru/cpp-beginners/thread33680.html
C++ Немогбы ктото переделать код под Borland C++
"stdafx.h" #include <iostream> #include <vector> #include <algorithm> #include <string> #include <ctype.h> using namespace std; struct sanat{ string Name;
Таймер в консоли C++
Подскажите, как реализовать таймер в консоли. Например от пользователя ожидается ввод переменной, если она в течении 10 секунд не вводится, выполняется какое-либо действие
C++ структуры. не получается сортировка. http://www.cyberforum.ru/cpp-beginners/thread33642.html
описать структуру с именем train, содержащую след. поля: 1)название пункта назначения 2)номер поезда 3)время отправления написать программу, выполняющую след. действия: 1)ввод с клавиатуры данных в массив, состоящий из 8 элементов типа train, записи должны быть размещены в алфавитном орядке по названиям пунктов назначения 2)вывод на экран информации о поездах, отправляющихся после...
C++ В каждой строке матрицы найти количество элементов делящихся на 3 и отсортировать эти значения В каждой строке матрицы найти количество элементов делящихся на 3 и отсортировать эти значения подробнее

Показать сообщение отдельно
alibaba314
18 / 18 / 1
Регистрация: 22.03.2009
Сообщений: 58
14.05.2009, 23:37     Нохождение локального минимуму в двумерном массиве
вот я так сделал:

Код
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include <stdlib.h>
#include <time.h>
#define h 100
int in(int a[h][h], int n, int m);
int out(int a[h][h], int n, int m);
int max(int a[h][h], int n, int m); 
int massivB(int a[h][h], int b[h][h], int n, int m);
int in(int a[h][h], int n, int m)
{
	for(int i=0; i<n; i++)
	for(int j=0; j<m; j++)
	{
			a[i][j]=rand() % 10;
	}
}
int out(int a[h][h], int n, int m)
{
	for(int i=0; i<n; i++)
	{
		for(int j=0; j<m; j++)
		{
			cout<<a[i][j];
			cout.width(4);
		}
		cout<<"\n";
	}
}
int massivB(int a[h][h], int b[h][h], int n, int m)
{
	for(int i=1; i<n+1; i++)
	for(int j=1; j<m+1; j++)
	{
	  b[i][j]=a[i-1][j-1];
	}
	/*---------------------------------------*/
	int max=a[0][0];
	for(int i=0; i<n; i++)
	for(int j=0; j<m; j++)
	{
		if(a[i][j]>max) max=a[i][j];
	}
	/*-------------------------------*/
	for(int j=0; j<m+2; j++)
	{
	  b[0][j]=max;
	  b[n+2][j]=max;
    }
	for(int i=0; i<n+2; i++)
	{ 
	  b[i][0]=max;
	  b[i][m+2]=max;
    }
}
void main()
{
	srand(time(0));
	int a[h][h], b[h][h], n, m;
	cout<<"type number row: ";cin>>n;
	cout<<"type number column: "; cin>>m;
	in(a, n, m);
	cout<<"first matrix:\n";
	out(a, n, m);
	massivB(a, b, n, m);
	cout<<"\nnumber local min:\n";
 	for(int i=0; i<n+2; i++)
	 for(int j=0; j<m+2; j++)
	 	if(b[i][j]<b[i-1][j]&&b[i][j]<b[i-1][j-1]&&b[i][j]<b[i-1][j+1]&&b[i][j]<b[i+1][j-1]&&b[i][j]<b[i+1][j-1]&&b[i+1][j+1]
                                       &&b[i][j]<b[i][j-1]&&b[i][j]<b[i][j+1]&&(i!=0)&&(i!=n+2)&&(j!=0)&&(j!=m+2))
	 	{
	 	cout<<b[i][j]<<"\t";
	 	}
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru