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

Сложение Массивов - C++

Восстановить пароль Регистрация
 
Rinat74
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 34
31.03.2013, 22:21     Сложение Массивов #1
Помогите у меня такая задача есть двумерный массив 225x225 это массив нужно разбить на другие массивы 15x15 (т.е 225 массивов 15х15) и сложить их по координатно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2013, 22:21     Сложение Массивов
Посмотрите здесь:

C++ Сложение и присвоение массивов
C++ сложение двумерных массивов
C++ Сложение двух массивов.
C++ Сложение двух массивов
C++ сложение массивов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
31.03.2013, 22:27     Сложение Массивов #2
Rinat74, каков алгоритм разбиения? Тупо квадратики последовательно вырезать?
Rinat74
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 34
31.03.2013, 22:37  [ТС]     Сложение Массивов #3
нужно квадратики 15х15 вырезать т.е первый 15 квадратиков вырезал першел на след строку, и т.д , второй квдаратик на с 16 по 30 вырезал и на след строку и т.д
Buckstabue
 Аватар для Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
31.03.2013, 23:11     Сложение Массивов #4
А куда записывать покоординатное складывание? В новый массив 15x15?

Добавлено через 7 минут
В общем ладно. Решил, что результат надо записывать в новый массив. ТОЛЬКО предупреждаю, программу я не отлаживал, вполне возможны ошибки, за бесплатно все-таки ;-)
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
#include <iostream>
 
int main()
{
   const int SUPER_MATRIX_SIZE = 225;
   const int MINI_MATRIX_SIZE = 15;
   int superMatrix[SUPER_MATRIX_SIZE][SUPER_MATRIX_SIZE];
   int miniMatrixes[SUPER_MATRIX_SIZE][MINI_MATRIX_SIZE][MINI_MATRIX_SIZE];
   int resultMatrix[MINI_MATRIX_SIZE][MINI_MATRIX_SIZE];
 
 
   // здесь инициализуруем superMatrix как надо
 
 
   // инициализация подматриц
   int rowShift = 0;
   int columnShift = 0;
   for (int c = 0; c < SUPER_MATRIX_SIZE; ++c)
   {
      for (int i = 0; i < MINI_MATRIX_SIZE; ++i)
      {
         for (int j = 0; j < MINI_MATRIX_SIZE; ++j)
         {
            miniMatrixes[c][i][j] = superMatrix[rowShift + i][columnShift + j];
         }
      }
 
      columnShift += MINI_MATRIX_SIZE;
      if (columnShift >= SUPER_MATRIX_SIZE)
      {
         columnShift = 0;
         rowShift += MINI_MATRIX_SIZE;
      }
   }
 
   // подсчет суммы координат
   for (int i = 0; i < MINI_MATRIX_SIZE; ++i)
   {
      for (int j = 0; j < MINI_MATRIX_SIZE; ++j)
      {
         resultMatrix[i][j] = 0;
         for (int c = 0; c < SUPER_MATRIX_SIZE; ++c)
         {
            resultMatrix[i][j] += miniMatrixes[c][i][j];
         }
      }
   }
   // всё
   return 0;
}
Rinat74
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 34
31.03.2013, 23:13  [ТС]     Сложение Массивов #5
ага ну подумал ,что лучше по очереди считываешь в один массив и складываешь в другой все

Добавлено через 45 секунд
ок спасибо большое)
Yandex
Объявления
31.03.2013, 23:13     Сложение Массивов
Ответ Создать тему
Опции темы

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