Важная информация
Показано с 1 по 2 из 2

Тема: Проверить правильность решения

  1. #1 Проверить правильность решения 
    Новичок
    Регистрация
    17.02.2011
    Сообщений
    17
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    CLS
    PRINT "Определение среднего арифметического элементов матрицы,"
    PRINT "лежащих на пересечении строк,номера которых кратны R, "
    PRINT "и столбцов, номера которых кратны S."
    PRINT
    PRINT "Размер матрицы:"

    DO
    INPUT "-Введите кол-во строк...", NX
    IF NX < 1 OR NX > 10 THEN PRINT "Высота должна быть больше или равна 1";
    LOOP WHILE NX < 1

    DO
    INPUT "-Введите кол-во столбцов...", NY
    IF NY < 1 OR NY > 10 THEN PRINT "Длина должна быть больше или равна 1";
    LOOP WHILE NY < 1
    DIM A(NX, NY) 'массив

    DO
    INPUT "Введите R:", R
    LOOP WHILE R <= 0
    DO
    INPUT "Введите S:", S
    LOOP WHILE S <= 0

    'считываем и выводим массив
    PRINT "Заполнение матрицы:"
    Sum = 0: Count = 0
    FOR i = 1 TO NX
    FOR j = 1 TO NY
    PRINT "Введите ("; i; ","; j; ") элемент:";
    INPUT "", A(i, j)
    IF (i MOD R = 0) AND (j MOD S = 0) THEN
    Count = Count + 1
    Sum = Sum + A(i, j)
    END IF
    NEXT j
    NEXT i
    PRINT "Полученная матрица:"
    FOR i = 1 TO NX
    FOR j = 1 TO NY
    PRINT A(i, j);
    NEXT j
    PRINT
    NEXT i
    IF Sum > 0 AND Count > 0 THEN
    SA = Sum / Count
    PRINT "Среднее арифметическое элементов матрицы "
    PRINT "с пересечений строк кратных"; R; "и столбцов кратных"; S; "="; SA
    ELSE
    PRINT "Элементов, обладающих необходимой кратностью не нашлось"
    END IF
    Ответить с цитированием  
     

  2. #2  
    Профи Аватар для Dimon012
    Регистрация
    09.02.2011
    Адрес
    Владивосток
    Сообщений
    850
    Сказал(а) спасибо
    29
    Поблагодарили 130 раз(а) в 108 сообщениях
    Записей в блоге
    3
    Цитата Сообщение от azalivin Посмотреть сообщение
    DO
    INPUT "-Введите кол-во строк...", NX
    IF NX < 1 OR NX > 10 THEN PRINT "Высота должна быть больше или равна 1";
    LOOP WHILE NX < 1

    DO
    INPUT "-Введите кол-во столбцов...", NY
    IF NY < 1 OR NY > 10 THEN PRINT "Длина должна быть больше или равна 1";
    LOOP WHILE NY < 1
    Непонятно зачем нужна проверка "NY > 10 ", ведь выход из цикла проверяется только на меньше 1? Если нежелательно количество строк и столбцов больше 10, то это надо записать в PRINT и добавить условие на выход из цикла.

    Цитата Сообщение от azalivin Посмотреть сообщение
    IF Sum > 0 AND Count > 0 THEN
    SA = Sum / Count
    PRINT "Среднее арифметическое элементов матрицы "
    PRINT "с пересечений строк кратных"; R; "и столбцов кратных"; S; "="; SA
    ELSE
    PRINT "Элементов, обладающих необходимой кратностью не нашлось"
    END IF
    Здесь непонятно зачем нужна проверка "Sum > 0" ведь сумма может быть и нулевой, при наличие отрицательных элементов.
    Последний раз редактировалось Dimon012; 25.05.2011 в 06:56.
    Ответить с цитированием  
     

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

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

Похожие темы

  1. Ответов: 0
    Последнее сообщение: 03.06.2011, 10:32
  2. проверить принадлежность
    от чес в разделе Turbo Pascal
    Ответов: 4
    Последнее сообщение: 13.04.2011, 22:42
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •