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

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

Войти
Регистрация
Восстановить пароль
 
Best1501
 Аватар для Best1501
0 / 0 / 0
Регистрация: 11.04.2010
Сообщений: 17
#1

Соседи элемента массива - C++

10.06.2010, 09:57. Просмотров 487. Ответов 1
Метки нет (Все метки)

Соседями элемента Аij в матрице назовем элементы Аkl c i-1 ≤ k ≤ i+1, j -1 ≤ l ≤ j+1,
(к, 1) ≠ (i, j). Операция сглаживания матрицы дает новую матрицу того же размера, каждый элемент которой получается как среднее арифметическое имеющихся соседей соответствующего элемента исходной матрицы. Построить результат сглаживания заданной вещественной матрицы размером 10 на 10.
В сглаженной матрице найти сумму модулей элементов, расположенных ниже главной диагонали.

Пожалуйста помогите сделайте прогу мне 1 день остался чтобы сдать от отчислят и еще сделайте на С очень просто на студента первого курса плиииииииииииизззз...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2010, 09:57     Соседи элемента массива
Посмотрите здесь:

Разные соседи (Судоку) C++
Из массива A удалить те цепочки нечетных элементов, в которых нет ни одного элемента из массива B C++
Вычислить произведение P = Хmin*Ymin минимального элемента xmin = min{xi} массива xi и минимального элемента ymin = min{yi} массива yi C++
C++ Массивы (найти номер максимального элемента массива, произведение элементов массива)
Дан массив A[20] и B[10] после каждой пары элемента массива A вставить один элемент массива B C++
Вычислить сумму максимального элемента массива и количества нулевых элементов массива C++
Заменить значение пятого элемента нового массива средним арифметическим исходного массива C++
C++ Выделить память для трехмерного массива и изменить индексы начального элемента массива
Найти номер элемента массива У, ближайшего по значению к наименьшему элементу массива Х. C++
C++ Вставить после каждого нечетного элемента массива максимальный простой элемент этого же массива
C++ Вставить два элемента по 1000, начиная с четвертого элемента исходного массива, сдвигая его элементы
C++ Соседи и двумерный массив из файла

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3030 / 2351 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
10.06.2010, 11:37     Соседи элемента массива #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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#include <alloc.h>
 
int main(int argc, char* argv[])
{
   double **arr_in;
   double **arr_out;
   double sum, count;
   int size;
   int i, j, k, l;
 
   srand(time(NULL));
 
   printf("Введите размер массива: ");
   scanf("%i", &size);
   arr_in = (double**)calloc(size, sizeof(double*));
   arr_out = (double**)calloc(size, sizeof(double*));
   printf("Входной массив:\n");
   for (i = 0; i < size; i++)
   {
      arr_in[i] = (double*)calloc(size, sizeof(double));
      arr_out[i] = (double*)calloc(size, sizeof(double));
      for (j = 0; j < size; j++)
      {
         arr_in[i][j] = (rand() % 1000 - 500)/ 10.0;
         printf("%.2f ", arr_in[i][j]);
      }
      printf("\n");
   }
   printf("\n");
 
   for (i = 0; i < size; i++)
   {
      for (j = 0; j < size; j++)
      {
         count = 0;
         sum = 0;
         for (k = i-1; k <= i+1; k++)
         {
            for (l = j-1; l <= j+1; l++)
            {
               if ((i == k && j == l)|| k < 0 || l < 0 || k >= size || l >= size)
                  continue;
               else
               {
                  count++;
                  sum +=arr_in[k][l];
               }
            }
         }
         arr_out[i][j] = sum/count;
      }
   }
 
   printf("Сглаженная матрица:\n");
   for (i = 0; i < size; i++)
   {
      for (j = 0; j < size; j++)
      {
         printf("%.2f ", arr_out[i][j]);
      }
      printf("\n");
   }
   sum = 0;
   for (i = 0; i < size; i++)
      for (j = 0; j <= i; j++)
         sum += fabs(arr_out[i][j]);
   printf("Сумма по модулю элементов, расположенных ниже главной диагонали\n%f\n", sum);
   for (i = 0; i < size; i++)
   {
      free(arr_in[i]);
      free(arr_out[i]);
   }
   free(arr_in);
   free(arr_out);
   getchar();
   getchar();
   return 0;
}
Добавлено через 12 минут
Цитата Сообщение от kazak Посмотреть сообщение
for (j = 0; j < size; j++)
{
arr_in[i][j] = (rand() % 1000 - 500)/ 10.0;
printf("%.2f ", arr_in[i][j]);
}
printf("\n");
=>
C
1
2
3
4
5
6
7
for (j = 0; j < size; j++)
{
   printf ("Введите a[%i][%i]: ", i, j);
   scanf("%f", &arr_in[i][j]);
   printf("%.2f ", arr_in[i][j]);
}
printf("\n");
Yandex
Объявления
10.06.2010, 11:37     Соседи элемента массива
Ответ Создать тему
Опции темы

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