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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2013, 22:51   #1
tolikprankster
Пользователь
 
Регистрация: 09.02.2013
Сообщений: 60
По умолчанию не хочет присваивать(оператор":=")

Вот решил освоить Паскаль. Собственно задача.
В массив а вводится ранддомные числа в диапозоне(-700;700)
Потом из отрицательных элементов создается массив, который сортируется по убыванию. и выводятся два массива и мин. элемент второго. Вроде всё понятно, но строчка "d[j]:=a[i];" не работает.
Может кто-нибудь подсказать что не так?
Код:
Program super;
uses crt;
var i,j,k,f:integer;
a:array[1..25] of integer;
d:array[1..25] of integer;
begin
clrscr;
randomize;
for i:=1 to 25 do
    begin
         a[i]:=random(1401)-700;
         write(a[i],'  ');
    end;
j:=0;
for i:=1 to 25 do
    begin
         if a[i]<0 then
         begin
         j:=j+1;
         d[j]:=a[i];     {<-вся проблема здесь, не хочет присваивать}
         end;
     end;
for i:=1 to j      do
    for k:=1 to j     do
        if d[k]<d[k+1] then
           begin
           f:=d[k];
           d[k]:=d[k+1];
           d[k+1]:=d[k];
           end;
writeln;
writeln('mass A    I Mass D') ;
for i:=1 to 25 do
    begin
        write(a[i]:9,'   ');
        if i<=j then  write(d[i]);
        writeln;
    end;
    writeln('Dmin=',d[j])  ;
readln;
end.
tolikprankster вне форума Ответить с цитированием
Старый 28.02.2013, 22:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А ты ставил туда точку прерывания? Попадает туда вообще программа?.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.02.2013, 23:08   #3
tolikprankster
Пользователь
 
Регистрация: 09.02.2013
Сообщений: 60
По умолчанию

А всё сори тупанул, там всё нормально, проблема была в другом месте. Вот правильная версия если кого интересует:
Код:
Program super;
uses crt;
var i,j,k,f:integer;
a:array[1..18] of integer;
d:array[1..18] of integer;
begin
clrscr;
randomize;
for i:=1 to 18 do
    begin
         a[i]:=random(1400)-700;
         write(a[i],'  ');
    end;
j:=0; f:=0;
for i:=1 to 18 do
    begin
         if a[i]<0 then
         begin
         j:=j+1;
         d[j]:=a[i];
         writeln(d[j]);
         end;
     end;
for i:=1 to j      do
    for k:=2 to j-1     do
        if d[k]>d[k-1] then
           begin
           f:=d[k];
           d[k]:=d[k+1];
           d[k+1]:=d[k];
           end;
writeln;
writeln('mass A    I Mass D') ;
for i:=1 to 18 do
    begin
        write(a[i]:9,'   ');
        if i<=j then  write(d[i]);
        writeln;
    end;
    writeln('Dmin=',d[1])  ;
readln;
end.
tolikprankster вне форума Ответить с цитированием
Старый 28.02.2013, 23:19   #4
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Точно? А может
Код:
for i:=1 to j      do
    for k:=1 to j-1     do
        if d[k]<d[k+1] then
           begin
           f:=d[k];
           d[k]:=d[k+1];
           d[k+1]:=f;
           end;
eoln вне форума Ответить с цитированием
Старый 01.03.2013, 02:59   #5
tolikprankster
Пользователь
 
Регистрация: 09.02.2013
Сообщений: 60
По умолчанию

Цитата:
Сообщение от eoln Посмотреть сообщение
Точно? А может
Код:
for i:=1 to j      do
    for k:=1 to j-1     do
        if d[k]<d[k+1] then
           begin
           f:=d[k];
           d[k]:=d[k+1];
           d[k+1]:=f;
           end;
ой!
tolikprankster вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Когда нужно присваивать.. Writeln(Sum:8:4) ? Erlotaza Общие вопросы Delphi 1 09.03.2012 11:25
не хочет устанавливаться digital-stream Компоненты Delphi 2 23.02.2012 16:22
не хочет компилироваться (С++) Belomor Помощь студентам 3 30.11.2009 19:45
человеки памагите паскаль не хочет работать! rusel Помощь студентам 4 25.03.2009 14:28