< Avalanche > Clan

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » < Avalanche > Clan » Вопросы и ответы » Кто знает, подскажите [Turbo Pascal]


Кто знает, подскажите [Turbo Pascal]

Сообщений 1 страница 20 из 30

1

Задание: Задать двумерный массив с помощью генератора случайных величин. Кол-во элементов задает пользователь. Найти максимальный отрицательный элемент массива.

Вот сам код:

Код:
uses crt;
var i,j,max,n:integer; x:array[1..100,1..100] of integer;
begin
     randomize;
     read (n);
     for i:=1 to n do
     begin
          for j:=1 to n do
          begin
               x[i,j]:=random(100)-random(100);
               write (x[i,j]:5);
          end;
     writeln;
     end;
     begin
          for i:=1 to n do
          begin
               for j:=1 to n do
               begin
                    max:=x[i,j];
                    if max<0 then
                    begin
                         if max>x[i,j] then
                         begin
                              x[i,j]:=max;
                         end;
                    end;
               end;
          end;
          write (x[i,j]);
     end;
end.

Хоть убейти, но не пашет как надо, массив задается и выводится в виде таблицы, а вот находить максимальный отрицательный элемент не хочет...  :dontknow:  Никак не пойму где что не так?  :canthearyou: В инете не нашел ничего путного :(

Отредактировано Samisu (2009-11-10 03:28:06)

0

2

max:=x[i,j];
                    if max<0 then
                    begin
                         if max>x[i,j] then
                         begin
                              x[i,j]:=max;
                         end;

тут ошибка)щас подумаю)

0

3

:O

и тут это))

0

4

кажется дошло

{begin
          for i:=1 to n do
          begin
               for j:=1 to n do
               begin}-блок прохода по матрице по каждому элементу

                    max:=x[i,j];     {а тута ты присваиваешь в каждом шаге максимальному числу значение исследуемого элемента-попробуй вынести его перед началом порсмотра матрицы.по идее у тебя либо последнее либо предпоследнее числа выводятся по твоим записям}
                    if max<0 then
                    begin
                         if max>x[i,j] then
                         begin
                              x[i,j]:=max;
                         end;

Отредактировано lCatQueen (2009-11-10 10:10:59)

0

5

uses crt;
var i,j,max,n:integer; x:array[1..100,1..100] of integer;
begin
     randomize;
     read (n);
     for i:=1 to n do
     begin
          for j:=1 to n do
          begin
               x[i,j]:=random(100)-random(100);
               write (x[i,j]:5);
          end;
     writeln;
     end;

                    max:=x[i,j];

     begin
          for i:=1 to n do
          begin
               for j:=1 to n do
               begin
                    max:=x[i,j];
                    if max<0 then
                    begin
                         if max>x[i,j] then
                         begin
                              x[i,j]:=max;
                         end;
                    end;
               end;
          end;
          write (x[i,j]);
     end;
end.

{должна по идее так пахать}

0

6

шозахуйня  :mad:

0

7

3opuk написал(а):

шозахуйня

как выражается моя мама: "Не для среднего ума."))))

0

8

паскаль  :x

0

9

норм язык) Настальгический  :smoke:

0

10

lCatQueen написал(а):

uses crt;var i,j,max,n:integer; x:array[1..100,1..100] of integer;begin     randomize;     read (n);     for i:=1 to n do     begin          for j:=1 to n do          begin               x[i,j]:=random(100)-random(100);               write (x[i,j]:5);          end;     writeln;     end;
                                max:=x[i,j];
                 begin          for i:=1 to n do          begin               for j:=1 to n do               begin                    max:=x[i,j];                    if max<0 then                    begin                         if max>x[i,j] then                         begin                              x[i,j]:=max;                         end;                    end;               end;          end;          write (x[i,j]);     end;end.
            {должна по идее так пахать}

запустите кто-нить)охота результат узнать)

0

11

Не пашет у тя, не то число выдает. Фактически то же самое, что у мну было. Вот глор норм написал, я сразу понял че к чему :) на волгодоме найдеш темку, если интересно, посмотриш там )

0

12

program samsa_noob;
uses crt;
var i,j,max,n:integer; x:array[1..100,1..100] of integer;
begin
     randomize;
     read (n);
     for i:=1 to n do
     begin
          for j:=1 to n do
          begin
               x[i,j]:=random(100)-random(100);
               write (x[i,j]:5);
          end;
     writeln;
     end;

                    max:=x[i,j];{эту фишку сделай}

     begin
          for i:=1 to n do
          begin
               for j:=1 to n do
               begin
               
                    if max<0 then
                    begin
                         if x[i,j]<0 then
                         begin
                              if max<x[i,j] then
                              max:=x[i,j];
                         end
                         else
                         begin
                            if x[i,j]<0 then
                            max:=x[i,j];
                         end;
                    end;
               end;
          write (max);
{блок полностью по новому сделал исходя из блок-схемы}
     end;
end.

у меня пашет-несколько раз инсталировал

Отредактировано lCatQueen (2009-11-10 19:26:39)

0

13

Да уже всё вроде )

Самису, а ты в политехе что ли?)

0

14

вот блок-схема)правда не очень красивая)

0

15

фу блять не навижу ебаные алгоритмы)))

0

16

OTMOPO3OK написал(а):

фу блять не навижу ебаные алгоритмы)))

"не для среднего ума" йопта ^^

0

17

Glorko написал(а):

Самису, а ты в политехе что ли?)

Не-а, ВЭК

0

18

lCatQueen написал(а):

у меня пашет-несколько раз инсталировал

Нифига, 1 энда нехватает, а если его дописать, то программа всеравно непрально пашет, дофига цыфр отображает )

0

19

Код:
uses crt;
var i,j,max,n,mmax:integer; x:array[1..100,1..100] of integer;
begin
clrscr;
randomize;
read (n);
for i:=1 to n do
    begin
         for j:=1 to n do
             begin
             x[i,j]:=random(100)-random(100);
             write (x[i,j]:5);
             end;
    writeln;
    end;
max:=-999;
for i:=1 to n do
    begin
         for j:=1 to n do
             begin
             mmax:=x[i,j];
             if mmax<0 then
                begin
                if mmax>max then max:=mmax;
                end;
             end;
    end;
write (max);
end.

Вутаквот прально, как Глорко написал :) Сеня 5 баллов за неё получил :D

0

20

тута ничего не было)

Отредактировано lCatQueen (2009-11-11 01:21:56)

0


Вы здесь » < Avalanche > Clan » Вопросы и ответы » Кто знает, подскажите [Turbo Pascal]