Помощь - Поиск - Пользователи - Календарь
Полная версия: наибольшее из простых чисел
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
spektr
Задача:в какждой строке матрицы A(N,N) определите наибольшее простое число,если в строке нет простых чисел выдайте соответствующее значение.


Мой вариант:
Program natyr;
VAR
  A:array [1..100,1..100] of integer;
  i,j,n,k  : integer;
  f  :  boolean;
Begin
  WriteLn('vvedite razmernost massiva');
  readLn (n);
    For i:=1 to n do
    For j:=1 to n do
    ReadLn (A[i,j]);
      For i:=1 to n do
        begin
          For j:=1 to n do
            Begin
            F:=false
            For k:=2 to A[i,j] do
              If (A[i,j] mod k )=0
                Then f:= true
                If (f=false)
                  then A[i,j]  {vot zdesi ostanovilas proverit kak rabotaet,a ni kak ne rabotaet,nyli vidaet}


вопрос:
1.Почему выдает нули
2.Что не так
3.все не так не ответ (это последняя задача в семестре надо сдать до пузичных каолик)
мисс_граффити
у меня тоже к тебе 2 вопроса:
1) почему программа обрывается на полуслове?
2) массив может быть заполнен только положительными числами?
spektr
1.напал ступор от осознания того ,что все что я делаю бред.
2.да,т.к простые числа положительны.
volvo
Цитата
напал ступор от осознания того ,что все что я делаю бред.
С чего вдруг такое осознание? Ты полностью программу напиши, потом посмотрим, бред это или не совсем... По куску, который приведен ничего сказать нельзя...
spektr
Program natyr;
VAR
  A:array [1..100,1..100] of integer;
  i,j,n,k,pr  : integer;
  f  :  boolean;
Begin
  WriteLn('vvedite razmernost massiva');
  readLn (n);
    For i:=1 to n do
    For j:=1 to n do
    ReadLn (A[i,j]);
      For i:=1 to n do
        begin
          For j:=1 to n do
            Begin
            F:=false;
            For k:=2 to (A[i,j]-1) do
              If (A[i,j] mod k )=0
                Then f:= true;
                If (f=false)
                  then
                   A[i,j]:=pr;
            end;
        end;
  for i:=1 to n do
    begin
      writeLn;
    For j:=1 to n do
      write (pr);
    end;
END.




программа считает что ни одно из чисел не являеться простым.

мисс_граффити
может, не
  A[i,j]:=pr;

а наоборот?
spektr
спасибо,но он все равно не то выдает,при вводе 1234 для n=2 он выдает
33
33

почему так
а не
12
30
мисс_граффити
так лучше?
Program natyr;
VAR
  A:array [1..100,1..100] of integer;
  i,j,n,k,pr,max  : integer;
  f  :  boolean;
    Begin
    max:=0;
    WriteLn('vvedite razmernost massiva');
    readLn (n);
    For i:=1 to n do
      For j:=1 to n do
        ReadLn (A[i,j]);
    writeln;
    writeln;
    For i:=1 to n do
      begin
      For j:=1 to n do
        Begin
        F:=false;
          For k:=2 to (A[i,j]-1) do
            If (A[i,j] mod k )=0 Then
              f:= true;
          If (f=false) then
            pr:=A[i,j];
          if pr>max then
            max:=pr;
        end;
        writeln(max);
        max:=0;
      end;
  { for i:=1 to n do
     begin
     writeLn;
     For j:=1 to n do
       write (pr);
     end;}
  END.
spektr
dance.gif спасибо тебе, give_rose.gif give_rose.gif give_rose.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.