Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/16: Рейтинг темы: голосов - 16, средняя оценка - 4.63
Дмитрий21120
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 3
1

Подсчитать количество локальных минимумов заданной матрицы

21.10.2012, 22:38. Просмотров 2827. Ответов 3
Метки нет (Все метки)

Помогите пожалуйста решить задачку =)
Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером 10х10.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2012, 22:38
Ответы с готовыми решениями:

Подсчитать количество локальных минимумов заданной матрицы
Ребят помогите решить задачу. Элемент матрицы называется локальным...

Подсчитать количество локальных минимумов заданной матрицы
Здравствуйте. У меня вопрос слегка необычный, а точнее просьба, у меня есть...

Подсчитать количество локальных минимумов заданной матрицы
Элемент матрицы называется локальным минимумом, если он строго меньше всех...

Подсчитать количество локальных минимумов заданной матрицы
Приветик всем!!! Мне тут подружка принесла задание с котрым я не могу...

Подсчитать количество локальных минимумов заданной матрицы
задание : подсчитать количество локальных минимумов заданной матрицы размером...

3
Shurik70rus
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 3
22.10.2012, 15:00 2
Делал похожее задание, только у меня надо было вывести масив локальных минимумов. Можешь подправить и вуаля =).
Для языка С.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
main()
{int A[10][10], i, j, B[10], k, n, m;
printf("\nVvedite razmernost matricy\n");
scanf("%d%d", &n, &m);
printf("Vvedite matricy A\n");
for(i=0; i<n; i++)
for(j=0; j<m; j++)
scanf("%d", &A[i][j]);
k=0;
for(i=1; i<n-1; i++)
for(j=1; j<m-1; j++)
if(A[i][j]<A[i][j-1] &&
A[i][j]<A[i][j+1] &&
A[i][j]<A[i-1][j] &&
A[i][j]<A[i+1][j])
{B[k]=A[i][j]; k++;}
for(i=0; i<k; i++)
printf("%5d", B[i]);}
Для языка С++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream.h>
#include <conio.h>
using namespace std;
int main(){
    setlocale(LC_ALL,"Russian");
    int A[10][10], i, j, B[10], k, n, m;
    cout << "Ââåäèòå Г°Г*çìåðГ*îñòü Г¬Г*òðèöû n ГЁ m:"<< endl;
    cin >> n >> m;
    cout << "Ââåäèòå Г¬Г*òðèöó " << n <<" "<< m <<":" << endl;
    for(i=0; i<n; i++)
    for(j=0; j<m; j++)
    cin >> A[i][j];
    k=0;
    for(i=1; i<n-1; i++)
    for(j=1; j<m-1; j++)
    if(A[i][j]<A[i][j-1] &&
    A[i][j]<A[i][j+1] &&
    A[i][j]<A[i-1][j] &&
    A[i][j]<A[i+1][j])
    {B[k]=A[i][j]; k++;}
    for(i=0; i<k; i++)
    cout << B[i] << " ";
 
    getch();
}
0
Maxshall
0 / 0 / 0
Регистрация: 06.10.2011
Сообщений: 19
21.02.2013, 23:01 3
Здравствуйте!Подскажите что не так,почему вылетает прога?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <ctime>
#include <cstdlib>
#include <iostream>
#include <iomanip>
using namespace std;
 
template <class T> inline
 T abs(T& val)
 {
  return T>0 ? T : -T;
 }
template <class T>
 bool IsLocalMin(T a[10][10],int i,int j)
 {
  int z,k;
  for (z = i-1; z <= i+1; ++z)
   for (k = j-1; k <= j+1; ++k)
   {
    if (z >=0 && k >=0 && z <10 && k <10 && !(z == i && k ==j))
     if (a[i][j] >= a[z][k]) return false;
   }
  return true;
 }
template <class T>
 int GetLocalMinCount(T a[10][10])
 {
  int i,j,count = 0;
  for (i=0; i <10; ++i)
   for (j=0; j <10; ++j)
    if (IsLocalMin(a,i,j)) count++;
  return count;
 }
template <class T>
 T GetSumAboveDiagonal(T a[10][10])
 {
  int i,j; T nsum = 0;
  for (i=0; i <10; ++i)
   for (j = i + 1; j < 10; ++j)
    nsum += abs(a[i][j]);
  return nsum;
 }
void main()
{
 srand((unsigned)time(0));
 int i,j; int a[10][10];
 for (i=0; i <10; ++i)
  for (j=0; j <10; ++j)
   a[i][j] = rand() %100/* - 50*/;
 cout << "Source matrix:" << endl;
 for (i=0; i <10; ++i)
 {
  for (j=0; j <10; ++j)
   cout << setw(4) << a[i][j] /*<< ((j == 9) ? endl : " ")*/;
  cout << endl;
 }
 cout << "Local minimums: " << GetLocalMinCount(a) << endl;
 cout << "Sum of elements' modules above main diagonal: " << GetSumAboveDiagonal(a) <<endl;
}
0
Marina_P
8 / 8 / 1
Регистрация: 11.02.2013
Сообщений: 69
Завершенные тесты: 1
25.07.2013, 11:21 4
Не совсем поняла про локальный минимум матрицы.А для граничных элементов не считается локальный минимум?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.07.2013, 11:21

Подсчитать количество локальных минимумов заданной матрицы размером 10 на 10
Элемент матрицы называется локальным минимумом, если он строго меньше всех...

Подсчитать количество локальных минимумов матрицы
Элементы матрицы могут быть любого типа с плавающей точкой.Размещение матрицы в...

Подсчитать количество локальных минимумов матрицы
Подсчитать количество локальных минимумов матрицы размерности 4х4. Локальный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru