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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
ArtiomCX75
Заблокирован
#1

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

19.01.2010, 23:30. Просмотров 1050. Ответов 3
Метки нет (Все метки)

мне дано такое задание:
"Написать функцию сглаживания заданной во входном параметре матрицы. Операция сглаживания матрицы дает новую матрицу того же размера, каждый элемент которой получается как среднее арифметическое соседей соответствующего элемента исходной матрицы."
подскажите пожалуста, у кого какие идеи есть, делитесь. может кто уже с таким сталкивался?
Мне не понятно, что имелось ввиду под "соседями", т.е. в матрице 5*5 для элемента а3,3 соседями будут:
а) а3,2 и а3,4;
б) а32 а34 а23 а43
в) а32 а34 а23 а43 а22 а44 а24 42
???
и как считать "угловые" элементы?
в общем, у кого какие идеи есть выкладывайте пожалуста, даже на счёт передачи двумерного массива в функцию.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2010, 23:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача двумерных массивов в функцию (C++):

Передача двумерных массивов и указателей в функцию - C++
Warning: если про это уже было, можете удалить это сообщение Передача двумерного массива функции Уже в который раз натыкаюсь на тему...

Какие есть виды массивов (кроме одномерных, двумерных и двумерных ступенчатых массивов)? - C++
Какие есть виды массивов (кроме одномерных, двумерных и двумерных ступенчатых массивов)? И почему такая вот запись является "чуть"...

Передача массивов в функцию - C++
Помогите с программой пожалуйста!! Конец года, горю.. 1)Вычислить с использованием функции max элементы каждой строки матрицы A(10,20)....

Передача массивов в функцию - C++
Подскажите, как в функцию передать статические одномерный и двумерный массивы? Никак не получается разобраться.

Передача в функцию 2х массивов - C++
Подскажите, как передать в функцию 2 массива? С одним всё понятно, но как передать 2 , как будут различаться 2 указателя?

Передача массивов в функцию - C++
Определить функции, выполняющие действия в соответствии с заданием.Написать на я зыке С++ Дан одномерный массив, состоящий из N...

3
Mulat
7 / 7 / 0
Регистрация: 09.01.2009
Сообщений: 41
20.01.2010, 00:13 #2
По-моему в матрице 5x5 соседями (3,3) будут (2,2),(2,3),(2,4),(3,2),(3,4),и т.д.
А соседями (0,0) - (0,1),(1,1),(1,0).
1
ArtiomCX75
Заблокирован
20.01.2010, 01:35  [ТС] #3
как же это реализовать, одними же if'ами не открутишся, что типа а(i,j)=среднему арифметич 8 чисел, а перед этим ставить условие на i, j.

if i (or j)=0 then среднее арифметическое не от 8, а от 5 (3) чисел...
0
Day
1158 / 963 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
20.01.2010, 10:42 #4
Можно так...
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
#include <stdio.h>
#define N 5
#define M 5
 
Smat(double Ms[N][M], double Mt[N][M])
{  int i, j, k, ii, jj; double s;
  for(i=0; i<N; i++)
    for(j=0; i<M; j++) {
      k = 0;  // Это будет кол-во соседей
      s = 0;
      for(ii=i-1; ii<=i+1; ii++)
        for(jj=j-1; j<jj+1; jj++) {
          if (ii<0 || ii>=N || jj<0 || jj>=M || (jj==j &&ii==i)) continue;
          s += Ms[ii][jj];
          k++;
        }
      Mt[i][j] = s / k;
    }
}
/* ------------------ */
main()
{ double M1[N][M];  // Исходная заполненная матрица
  double M2[N][M];  // Результат
    // ... Ввод M1
  Smat(M1, M2);
   // .... Вывод M2
}
/**********************/
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2010, 10:42
Привет! Вот еще темы с ответами:

Передача массивов в функцию на С++ - C++
Здравствуйте. Подскажите пожалуйста, как в приведенной ниже программе передать два массива в функцию, чтобы не прописывать два цикла в...

Передача массивов в функцию - C++
M128K145, Тема: Передача масивів у функцію. Задание: Виконати завдання лабораторних робіт №13 (Програмування операцій з одновиміпними...

Передача массивов в функцию - C++
Вычислить z=(xmax-ymin)/(xmin-ymax) с использованием функции, где xmax ,xmin ,ymax ,ymin – максимальные и минимальные элементы...

передача массивов в функцию - C++
собственно пишу программу. В мэйне прописываю условные массивы и передаю в функцию генерации массивов. Собственно при выполнении почему...


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
20.01.2010, 10:42
Ответ Создать тему
Опции темы

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