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

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

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

> сортировка массива по возрастанию с исключением сходных элементов
18192123
сообщение 23.10.2006 18:39
Сообщение #1


Профи
****

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

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


дан массив целых чисел размера n=10. получить упорядоченный по возрастанию массив, содержащий все различные числа данного массива
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Reflex
сообщение 23.10.2006 19:35
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 118
Пол: Женский

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


например:
Код

type arr : array [ 1..10] of integer;
var inarr, outarr : integer
function copy:integer;
var i,j,tmp: integer;
flag : boolean;

begin
tmp:=1;
outarr[1]:=inarr[1];
for i:= 2 to n do begin
  flag:=false;
  for j:=1 to tmp do
   if inarr[i]=outarr[j] then flag:=true;
  if not(flag) then begin
   inc(tmp);
   outarr[tmp]:=inarr[i];
  end;
  copy:=tmp;
end;


а дальше стадартный buble

Вот правильный код, для твоей программы
program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;
const
nn=100;
type arr = array [ 1..nn] of integer;
var inarr, outarr : arr;
var n,i : integer;
function copy:integer;
var i,j,tmp: integer;
flag : boolean;

begin
tmp:=1;
outarr[1]:=inarr[1];
for i:= 2 to n do begin
flag:=false;
for j:=1 to tmp do
if inarr[i]=outarr[j] then flag:=true;
if not(flag) then begin
inc(tmp);
outarr[tmp]:=inarr[i];
end;
END;
copy:=tmp;
end;

procedure buble(n: integer);
var i, j, temp: Integer;
begin
for i := 1 to n do
for j := n downto i+1 do
if outarr[j-1] > outarr[j] then begin
temp:=outarr[j-1];
outarr[j-1]:=outarr[j];
outarr[j]:=temp;
end;
end;


begin
read(n);
for i:= 1 to n do
read(inarr[i]);
n:=copy;
for i:=1 to n do
write(outarr[i]);
buble(n);
for i:=1 to n do
write(outarr[i]);
READLN;
READLN;
END.


--------------------
Нам не дано предугадать как наше слово отзовется...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



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