Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Технологии > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 04.06.2014, 02:09   #1
TheAnnihilyator
Новичок
Джуниор
 
Регистрация: 04.06.2014
Сообщений: 1
Восклицание Программирование в VBA: двумерный массив M на N, нужно создать новый одномерный массив

Не могу написать код и вообще не понимаю, как двумерный массив связать с одномерным. Вот и задача:

Дан двумерный массив M на N, нужно создать новый одномерный массив, элементы в котором вычисляются по правилу: если в строке массива есть хотя бы один отрицательный элемент, то в новый массив записывается сумма остатков от деления всех элементов исходного массива на 5. При отсутствии отрицательных элементов в строке записывается кол-во четных элементов в строке.
TheAnnihilyator вне форума Ответить с цитированием
Старый 04.06.2014, 09:16   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,263
По умолчанию

Вы не можете разобраться, т.к. у Вас в задании явная ошибка (описка).
Цитата:
.... если в строке массива есть хотя бы один отрицательный элемент, то в новый массив записывается сумма остатков от деления всех элементов СТРОКИ исходного массива на 5...
и тогда всё становится просто и понятно.
двухмерный массив M строк на N столбцов
полученный одномерный будет размерности M (по количеству строк)
схематично алгоритм программы будет такой:
Код:
  цикл по i от 1 до M 
     признак_отрицательного в строке = ЛОЖЬ
     сумма_отстатков = 0
     количество_чётных = 0
     цикл по J от 1 до N 
         сумма_отстатков = сумма_отстатков + (остаток от деления A[i,J] на 5)
         если A[i,J] чётное, тогда количество_чётных = количество_чётных + 1
         ЕСЛИ A[i,J]<0 ТОГДА признак_отрицательного в строке = ИСТИНА 
     конец цикла по J
    
     ЕСЛИ признак_отрицательного в строке, тогда НовыйМассив[i] = сумма_отстатков
     ИНАЧЕ НовыйМассив[i] =количество_чётных 
     
  конец цикла по i
вот и всё!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать двумерный массив A(5,5) / VBA RayaDemeneva Помощь студентам 0 14.05.2014 20:39
Создать двумерный массив A(5,5) / VBA RayaDemeneva Помощь студентам 1 08.05.2014 10:07
Создать двумерный массив A(5,5) / VBA RayaDemeneva Microsoft Office Excel 1 08.05.2014 01:15
Создать форму (VBA), двумерный массив hulio12 Помощь студентам 0 13.04.2014 17:06
Двумерный и одномерный массив(в VBA) Артем8 Помощь студентам 0 11.06.2010 12:34