Важная информация
Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 24

Тема: Программа по двумерным массивам.

  1. #1 Программа по двумерным массивам. 
    Разбирающийся Аватар для Stannum
    Регистрация
    26.03.2013
    Адрес
    Moscow
    Сообщений
    32
    Сказал(а) спасибо
    10
    Поблагодарили 1 раз в 1 сообщении
    Здравствуйте. Помогите написать программу, а то ничего не получается, путаюсь в циклах.
    1. Найти наибольший элемент в матрице z={z(ij)}, элементы которой вычисляются по формуле z(ij)=x(i)*y(j), i=1,2,...n; j=1,2,...m. Векторы x=x{ij}, y={y(ij)} заданы, n=10, m=8.
    2. Дана матрица nxm.
    Найти вектор, составленный из элементов, каждый из которых равен количеству отрицательных элементов в столбце матрицы. Найти максимальный и минимальный элементы в матрице и разделить все элементы матрицы на номер строки , в которой находится максимальный элемент.
    Ответить с цитированием  
     

  2. #2  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,848
    Сказал(а) спасибо
    1,815
    Поблагодарили 945 раз(а) в 807 сообщениях
    Записей в блоге
    1
    1.
    Код qbasic:
    DEFDBL A-Z
    CLS
      n = 10
      m = 8
    DIM x(1 TO n), y(1 TO m), z(1 TO n, 1 TO m)
    PRINT "Vvedite vector X..."
    FOR i = 1 TO n
       PRINT "  Vvod x(" + LTRIM$(STR$(i)) + ")";
       INPUT ": ", x(i)
    NEXT
    PRINT "Vvedite vector Y..."
    FOR j = 1 TO m
       PRINT "  Vvod y(" + LTRIM$(STR$(j)) + ")";
       INPUT ": ", y(j)
    NEXT
    FOR i = 1 TO n
       FOR j = 1 TO m
          z(i, j) = x(i) * y(j)
       NEXT
    NEXT
    PRINT "Rezultat, esli j -stroka, i - stolbec:"
    FOR j = 1 TO m
       FOR i = 1 TO n
          PRINT z(i, j);
       NEXT: PRINT
    NEXT
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

  3. Пользователь сказал cпасибо:

    Stannum (26.03.2013)

  4. #3  
    Разбирающийся Аватар для Stannum
    Регистрация
    26.03.2013
    Адрес
    Moscow
    Сообщений
    32
    Сказал(а) спасибо
    10
    Поблагодарили 1 раз в 1 сообщении
    Спасибо огромное за 1 задачу, понял в чём ошибка.
    Помогите со второй, не пойму задания вообще. Ничего не выходит.
    Ответить с цитированием  
     

  5. #4  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,848
    Сказал(а) спасибо
    1,815
    Поблагодарили 945 раз(а) в 807 сообщениях
    Записей в блоге
    1
    понял в чём ошибка.
    Из данной фразы вижу, что есть вероятность, что программирование вам интересно.
    Если да, то сделаем эту задачу вместе и вы получите реальный профит, а если нет
    - просто скину вам решение.
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

  6. #5  
    Разбирающийся Аватар для Stannum
    Регистрация
    26.03.2013
    Адрес
    Moscow
    Сообщений
    32
    Сказал(а) спасибо
    10
    Поблагодарили 1 раз в 1 сообщении
    Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
    Из данной фразы вижу, что есть вероятность, что программирование вам интересно.
    Если да, то сделаем эту задачу вместе и вы получите реальный профит, а если нет
    - просто скину вам решение.
    Программирование интересно мне, действительно.
    Давайте попробуем вместе вторую задачку сделать.
    Ответить с цитированием  
     

  7. #6  
    Разбирающийся Аватар для Stannum
    Регистрация
    26.03.2013
    Адрес
    Moscow
    Сообщений
    32
    Сказал(а) спасибо
    10
    Поблагодарили 1 раз в 1 сообщении
    Код :
    CLS
    INPUT n, m
    DIM x(1 to n, 1 to m), y(1 to minx)
    minx=x(1,1)

    Вот пока что получается, ведь там нужно искать отрицательные значения, но как их найти по столбцу матрицы?
    Ответить с цитированием  
     

  8. #7  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,848
    Сказал(а) спасибо
    1,815
    Поблагодарили 945 раз(а) в 807 сообщениях
    Записей в блоге
    1
    Читаем внимательно условие, там написано:

    Найти вектор, составленный из элементов, каждый из которых равен количеству отрицательных элементов
    в столбце матрицы. Найти максимальный и минимальный элементы в матрице и разделить все элементы матрицы
    на номер строки , в которой находится максимальный элемент.

    Т.к. задача комплексная(в несколько ходов), разобъём её на подзадачи:

    1) Найти вектор (каждый элемент которого является количеством отрицательных элементов в соотв. столбце нашей матрицы)
    2) Найти минимальный и максимальный элемент
    3) Произвести деление ВСЕХ элементов в матице на индекс(номер) строки, в кот. у нас максимальный эл.т.

    Сейчас я подготовлю вам стартовый код, он очищает экран, спрашивает размерность матрицы, заводит под неё массив
    и собственно генерирует случайную матрицу с выводом её на экран. Попробуйте оттолкнуться от этого и написать решение
    хотя бы первого пункта, если не получится - я выложу решение.

    Код qbasic:
    CLS
    INPUT "Strok    : ", m       '  Спросим размерность
    INPUT "Stolbcov : ", n
     
    DIM A(1 TO n, 1 TO m) AS INTEGER   '  Заразервируем память(массив)
     
      '  Заполним матрицу случайными числами
    RANDOMIZE TIMER  ' "Случайность"
    FOR i = 1 TO m
       FOR j = 1 TO n
          A(j, i) = RND * 50 - 25
       NEXT
    NEXT
     
      '  Вывод матрицы на экран
    PRINT TAB(5); " Matrica"
    FOR i = 1 TO m      ' Цикл по строкам
       FOR j = 1 TO n   ' Цикл по столбцам
          PRINT USING " ###"; A(j, i);
       NEXT: PRINT
    NEXT
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

  9. #8  
    Разбирающийся Аватар для Stannum
    Регистрация
    26.03.2013
    Адрес
    Moscow
    Сообщений
    32
    Сказал(а) спасибо
    10
    Поблагодарили 1 раз в 1 сообщении
    Вот только одно, строка это j или i?
    И, ведь, вектор это одномерный массив, и для него тоже ж нужно зарезервировать место
    Ответить с цитированием  
     

  10. #9  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,848
    Сказал(а) спасибо
    1,815
    Поблагодарили 945 раз(а) в 807 сообщениях
    Записей в блоге
    1
    но как их найти по столбцу матрицы?
    Вам нужно это делать в двойном цикле. Первый цикл(внешний) идёт по столбцам матрицы, внутренний цикл
    собирает количество отриц. элементов. То что элемент отрицательный мы можем узнать по условию.

    По моему коду(см. выше):
    Код qbasic:
    IF A(j, i) < 0 THEN Kol = Kol + 1

    Переменную kol перед каждым стартом внутреннего цикла нужно "обнулять". Это мелкий нюанс, чтобы не
    напороться на ошибку неверного подсчёта.
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

  11. #10  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,848
    Сказал(а) спасибо
    1,815
    Поблагодарили 945 раз(а) в 807 сообщениях
    Записей в блоге
    1
    Вот только одно, строка это j или i?
    С этим нужно определяться с самого начала, я брал общепризнанные в википедии и учебниках по
    высшей математике соответствия и советую их придерживаться(хотя я сам предпочитаю менее
    популярные но более понятные - ix, iy, соотв. матрице экрана, но это уже не важно).

    i у меня это переменная которая указывает номер строки, а j соотв. - номер столбца.
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

Страница 1 из 3 123 ПоследняяПоследняя
Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Экологическая программа
    от VadimT в разделе Turbo Pascal
    Ответов: 8
    Последнее сообщение: 20.01.2013, 13:28
  2. Ответов: 5
    Последнее сообщение: 10.04.2011, 21:20
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •