IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> задача на совершенные числа
Анжелика
сообщение 27.12.2005 18:57
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 35
Пол: Женский
Реальное имя: Анжелика

Репутация: -  0  +


Привет всем. У меня есть вопрос по задаче, которая приведена ниже, скажите, правильно ли я осуществила алгоритм и вообще я правильно решила задачу? Вот задача: "Вводятся размеры двумерного массива, состоящего из целых чисел, и его элементы. Действия: найти строку с минимальным количеством совершенных чисел."
Код

Uses crt;

Var
  a:array [1..100,1..100] of integer;
  i,l,n,k,s,c,m,j,ns:integer;
  f:boolean;
Begin
     clrscr;
     writeln('vvedite n');
                      readln(n);
     writeln('vvedite m');
                      readln(m);
     writeln('vvedite matrizy');
     for i:=1 to n do
     begin
         for j:=1 to m do
         begin
              write('a[',i,',',j,']');
              readln(a[i,j]);
         end;
         writeln;
     end;

     {-----------------------------------------}

     l:=n; f:=false;
     for i:=1 to n do
     begin
          c:=0;
               for j:=1 to m do
               begin
                    S:=0;
                    for k:=1 to (a[i,j]-1) do if a[i,j]mod k=0 then s:=s+k;
                    if a[i,j]=s then c:=c+1;
               end;
          if (c<=l) and (c<>0) then
             begin
                  l:=c;
                  ns:=i;
                  f:=true
             end;
     end;

     {------------------------------------------------------}

     if f then
              begin
                   writeln('pechat stroki');
                   for j:=1 to m do
                       write (a[ns,j]:5);
              end
          else write('takih net');
     readln;
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.06.2025 21:06
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"