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

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

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

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

10.06.2010, 09:57. Просмотров 516. Ответов 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++
Разные соседи. Заполнить матрицу заданного размера M(k, l) числами 1,2,3,4 так, чтобы по горизонтали, вертикали и диагонали не было...

Вставить два элемента по 1000, начиная с четвертого элемента исходного массива, сдвигая его элементы - C++
Помогите с созданием программы, которая выполняет следующие действия: a) одномерный массив из 10 элементов целого типа в диапазоне ; b)...

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

Вычислить произведение P = Хmin*Ymin минимального элемента xmin = min{xi} массива xi и минимального элемента ymin = min{yi} массива yi - C++
Вычислить произведение P = Хmin*Ymin минимального элемента xmin = min{xi} массива xi и минимального элемента ymin = min{yi} массива yi, i =...

Вычислить сумму максимального элемента массива и количества нулевых элементов массива - C++
Помогите пожалуйста. Дан линейный массив действительных чисел. Вычислить сумму максимального элемента массива и количества нулевых...

Найти номер элемента массива У, ближайшего по значению к наименьшему элементу массива Х. - C++
Нужно найти номер элемента массива У, ближайшего по значению к наименьшему элементу массива Х.

Заменить значение пятого элемента нового массива средним арифметическим исходного массива - C++
Ввести массив, состоящий из 12 элементов целого типа. Получить новый массив, заменив значение пятого элемента среднеарифметическим ...

Выделить память для трехмерного массива и изменить индексы начального элемента массива - C++
Выделить память для трехмерного массива а. Изменить индексы начального элемента массива на . Протестировать программу

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

Удалить из исходного массива три первых элемента, сдвигая элементы массива, напечатать их значения - C++
Помогите с созданием программы, которая выполняет следующие действия: 1) Одномерный массив из 10 элементов целого типа в диапазоне ; ...

Дан массив A[20] и B[10] после каждой пары элемента массива A вставить один элемент массива B - C++
Дан массив A и B после каждой пары элемента массива A вставить один элемент массива B. На языке С++

Вставить после каждого нечетного элемента массива максимальный простой элемент этого же массива - C++
В целочисленный массив X(n) после каждого нечетного элемента вставить максимальный простой элемент этого же массива. Определить среднее...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
3034 / 2355 / 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");
Ответ Создать тему
Опции темы

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