Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2019, 14:46   #1
ALINA787
 
Регистрация: 24.10.2019
Сообщений: 9
Вопрос для каждой строки массива определить последний элемент, который не является степенью числа 3

Для каждой строки массива определить последний элемент, который не является степенью числа 3
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  for i:=1 to m do begin
    k:=0;
    for j:=n downto 1 do begin
      t:=mas[i,j]; while t mod 3=0 do
      t:=t div 3;
      if t<>1 then
       begin
        k:=j; exit;
      end;
 
      if k=0 then Memo1.Lines.Add(' В строчке '+inttostr(i+1)+' нет такого элемента')
      else  Memo1.Lines.Add(' В строчке '+inttostr(i+1)+' элемент, который не является стпенью числа 3 '+'['+inttostr(i+1)+';'+inttostr(k+1)+']');
  end;
end;
end;
ALINA787 вне форума Ответить с цитированием
Старый 24.10.2019, 15:53   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

+1 не надо делать
Код:
      if k=0 then Memo1.Lines.Add(' В строчке '+inttostr(i)+' нет такого элемента')
      else  Memo1.Lines.Add(' В строчке '+inttostr(i)+' элемент, который не является степенью числа 3 '+'['+inttostr(i)+';'+inttostr(k)+']');

массив у Вас точно M строк на N столбцов?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.10.2019, 16:46   #3
ALINA787
 
Регистрация: 24.10.2019
Сообщений: 9
По умолчанию

фишка в том что оно ничего не выводит массив сформирован перед этим и выведен а вот условие нет
ALINA787 вне форума Ответить с цитированием
Старый 24.10.2019, 16:59   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А нормально отформатировать и проверить правильность пар begin end
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.10.2019, 17:07   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А нормально отформатировать и проверить правильность пар begin end
Аватар прав.
Вы уже вывод результата оставили внутри цикла по столбцам, а нужно - во вне.

так попробуйте:
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
var i,j,k,t : integer;
begin
  for i:=1 to m do begin
    k:=0;
    for j:=n downto 1 do begin
      t:=mas[i,j]; 
      while t mod 3=0 do t:=t div 3;
      if t<>1 then
         begin
            k:=j; exit;
         end;
    end;

    if k=0 then Memo1.Lines.Add(' В строчке '+inttostr(i)+' нет такого элемента')
    else  Memo1.Lines.Add(' В строчке '+inttostr(i)+' элемент, который не является стпенью числа 3 '+'['+inttostr(i)+';'+inttostr(k)+']');

  end;
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.10.2019, 17:32   #6
ALINA787
 
Регистрация: 24.10.2019
Сообщений: 9
По умолчанию

все перепробывала с игрой бегин и енд
и поменяла exit на break
вот вывод в мемо

В строчке 1 элемент, который не является стпенью числа 3 [1;5]
В строчке 2 элемент, который не является стпенью числа 3 [2;5]
В строчке 3 элемент, который не является стпенью числа 3 [3;5]
В строчке 4 элемент, который не является стпенью числа 3 [4;5]
В строчке 5 элемент, который не является стпенью числа 3 [5;5]
ALINA787 вне форума Ответить с цитированием
Старый 24.10.2019, 17:45   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от ALINA787 Посмотреть сообщение
и поменяла exit на break
ой. точно. А я пропустил этот момент, извините


Цитата:
Сообщение от ALINA787 Посмотреть сообщение
вот вывод в мемо

В строчке 1 элемент, который не является стпенью числа 3 [1;5]
В строчке 2 элемент, который не является стпенью числа 3 [2;5]
В строчке 3 элемент, который не является стпенью числа 3 [3;5]
В строчке 4 элемент, который не является стпенью числа 3 [4;5]
В строчке 5 элемент, который не является стпенью числа 3 [5;5]
так. ну, значит, у Вас матрица 5X5
и в каждой строке последний элемент НЕ Является степенью числа 3 (кстати, исправьте слово "стпенью " )
всё, как Вы хотели.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Является ли заданное число степенью числа 3; числа 5 maksim97maksim Паскаль, Turbo Pascal, PascalABC.NET 5 10.04.2014 11:37
Ввести число. Определить является ли оно степенью 2. Roman1295 Паскаль, Turbo Pascal, PascalABC.NET 3 23.12.2012 11:50
Определить , является ли заданное число степенью тройки dimanfanat Помощь студентам 9 21.12.2012 16:10
В каждой строке матрицы Y(5,5) определить последний отрицательный элемент и его индекс solodinka2007 Помощь студентам 0 03.10.2012 14:55
Определить максимальный по модулю элемент каждой строки. (Kate) Помощь студентам 2 29.11.2008 21:05