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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
mol`
1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 9
#1

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

02.05.2011, 00:38. Просмотров 1172. Ответов 3
Метки нет (Все метки)

Дан двумерный массив NxN.
1. Элемент матрицы называется локальным минимумом, если он строго меньше
всех имеющихся у него соседей.
Подсчитать количество локальных минимумов
заданной матрицы размером 10 на 10 ( оформить в виде процедуры ).

2. Найти сумму модулей эл-тов, расположенных выше главной диагонали
(оформить в виде функции).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2011, 00:38     Подсчитать количество локальных минимумов матрицы
Посмотрите здесь:

Подсчитать количество локальных минимумов матрицы - C++
Дали три задачи на зачетную. С массивами у меня более менее нормально, но вот сами задания, что от меня требуется - понять не могу. Может...

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

Подсчитать количество локальных минимумов матрицы - C++
Дано матрицу . Разделить выходную матрицу на значения y=2/x, где x=1,5. Подсчитать кол-во локальных минимумов полученной матрицы . Найти...

Подсчитать количество локальных минимумов заданной матрицы - C++
Помогите пожалуйста решить задачку =) Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него...

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
02.05.2011, 02:39     Подсчитать количество локальных минимумов матрицы #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
#1
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int IsLocalMinimum(int **matrix, int matrix_size, size_t i, size_t j) {
  size_t k, l;
  size_t k_from = ((i == 0) ? i : i - 1);
  size_t l_from = ((j == 0) ? j : j - 1);
  size_t k_to   = ((i < (matrix_size - 1)) ? i + 1 : i);
  size_t l_to   = ((j < (matrix_size - 1)) ? j + 1 : j);
  for (k = k_from; k <= k_to; ++k)
    for (l = l_from; l <= l_to; ++l) 
      if (matrix[k][l] <= matrix[i][j] && (i != k || j != l))
        return 0;
  return 1;
}
 
int main(int argc, char *argv[]) {
  srand(time(NULL));
 
  size_t matrix_size = 10 + rand() % 5;
  int **matrix = (int**)malloc(sizeof(int*) * matrix_size); 
 
  size_t i, j;
  for (i = 0; i < matrix_size; ++i) {
    matrix[i] = (int*)malloc(sizeof(int) * matrix_size);
    for (j = 0; j < matrix_size; ++j)
      printf("%5d", matrix[i][j] = rand() % 101 - 50);
    printf("\n");
  }
 
  for (i = 0; i < matrix_size; ++i)
    for (j = 0; j < matrix_size; ++j)
      if (IsLocalMinimum(matrix, matrix_size, i, j) == 1)
        printf("Local minimum at (%d, %d) = %d.\n", i, j, matrix[i][j]);
 
  for (i = 0; i < matrix_size; ++i)
    free(matrix[i]);
  free(matrix);
  return 0;
}
mol`
1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 9
02.05.2011, 11:58  [ТС]     Подсчитать количество локальных минимумов матрицы #3
благодарю)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2011, 00:11     Подсчитать количество локальных минимумов матрицы
Еще ссылки по теме:

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

Подсчитать количество локальных минимумов заданной матрицы - C++
задание : подсчитать количество локальных минимумов заданной матрицы размером NxN.найти сумму модулей элементов,расположенных выше...

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
03.05.2011, 00:11     Подсчитать количество локальных минимумов матрицы #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
№1 + №2
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int IsLocalMinimum(int **matrix, int matrix_size, size_t i, size_t j) {
  size_t k, l;
  size_t k_from = ((i == 0) ? i : i - 1);
  size_t l_from = ((j == 0) ? j : j - 1);
  size_t k_to   = ((i < (matrix_size - 1)) ? i + 1 : i);
  size_t l_to   = ((j < (matrix_size - 1)) ? j + 1 : j);
  for (k = k_from; k <= k_to; ++k)
    for (l = l_from; l <= l_to; ++l) 
      if (matrix[k][l] <= matrix[i][j] && (i != k || j != l))
        return 0;
  return 1;
}
 
int SuperdiagonalSum(int **matrix, int matrix_size) {
  int result = 0;
  size_t i, j;
  for (i = 0; i < matrix_size - 1; ++i)
    for (j = i + 1; j < matrix_size; ++j)
      result += matrix[i][j];
  return result;
}
 
int main(int argc, char *argv[]) {
  srand(time(NULL));
 
  size_t matrix_size = 10 + rand() % 5;
  int **matrix = (int**)malloc(sizeof(int*) * matrix_size); 
 
  size_t i, j;
  for (i = 0; i < matrix_size; ++i) {
    matrix[i] = (int*)malloc(sizeof(int) * matrix_size);
    for (j = 0; j < matrix_size; ++j)
      printf("%5d", matrix[i][j] = rand() % 101 - 50);
    printf("\n");
  }
 
  for (i = 0; i < matrix_size; ++i)
    for (j = 0; j < matrix_size; ++j)
      if (IsLocalMinimum(matrix, matrix_size, i, j) == 1)
        printf("Local minimum at (%d, %d) = %d.\n", i, j, matrix[i][j]);
 
  printf("Superdiagonal sum = %d.\n", SuperdiagonalSum(matrix, matrix_size));
 
  for (i = 0; i < matrix_size; ++i)
    free(matrix[i]);
  free(matrix);
  return 0;
}
Yandex
Объявления
03.05.2011, 00:11     Подсчитать количество локальных минимумов матрицы
Ответ Создать тему
Опции темы

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