|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.04.2007, 21:04 | #1 |
Форумчанин
Регистрация: 04.04.2007
Сообщений: 131
|
маcсив
Хотел сделать чтоб прога сортировала цыфры по виличине. Почему она не работает?
program masiv; uses crt; var a,b: array[1..10] of integer; i,max,maxi,s:integer; begin clrscr; for i:=1 to 10 do begin writeln('введи ',i,' цыфру из 10'); readln(a[i]); end; max:=a[1]; maxi:=a[1]; for i:=1 to 10 do begin; inc(s); for i:=2 to 10 do begin if a[i]>max then begin max:=a[i]; a[i]:=0; end; end; b[i]:=max; end; for i:=1 to 10 do write(b[i]:5); readln; end. |
19.04.2007, 22:58 | #2 |
Пользователь
Регистрация: 12.04.2007
Сообщений: 21
|
ну ты малёх перемудрил твоя сортировка должна выглядеть как минимум вот так:
program Sorting; uses Crt; var A : array[ 1..10 ] of Integer; I, J, Tmp : Integer; begin ClrScr; for I := 1 to 10 do begin WriteLn( 'введи ', I, 'цифру из 10' ); ReadLn( A[ i ] ); end; I := 1; while I < 10 do begin if A[ I ] > A[ I + 1 ] then begin J := I; while ( J > 0 ) and ( A[ J ] > A[ J + 1 ] ) do begin Tmp := A[ J ]; A[ J ] := A[ J + 1 ]; A[ J + 1 ] := Tmp; Dec( J ); end; end else Inc( I ); end; for I := 1 to 10 do Write( A[ I ]:5 ); ReadLn; end.
Пусть баги обходят вас стороной
Последний раз редактировалось bphoenix; 19.04.2007 в 23:02. |
19.04.2007, 23:04 | #3 | |||
Пользователь
Регистрация: 16.04.2007
Сообщений: 15
|
Мне лично слабо понятно, с чего она должна работать.. алгоритм как то совсем кривой...
Цитата:
это всё должно сортировать от большого к малому. Если надо наоборот, то меняешь Maxi на Mini И в строке Цитата:
Цитата:
Я, как и ты, думал, что за нами прилетят,
Ошейник снимут, за ухом почешут и всё простят, Но я сплю у миски, и ты всё съел... В подарок ириска! |
|||
19.04.2007, 23:23 | #4 |
Форумчанин
Регистрация: 04.04.2007
Сообщений: 131
|
Большое Спасибо
|