Показано с 1 по 4 из 4
Тема: Pascal. Массивы
Комбинированный просмотр
-
13.03.2011, 17:33 #1
- Регистрация
- 13.03.2011
- Сообщений
- 3
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
Pascal. Массивы
Задание по Free Pascal. Помогите, пожалуйста:
1. дан массив целых чисел а1,…, аn. Определить количество чисел, входящих в массив по одному разу.
Program LP;
Uses CRT;
Const n=15;
Var A:array [1..n] of integer;
K,L,i: integer;
BEGIN
clrscr;
writeln ('ђ Ў®вг ўлЇ®«-Ё«:');
writeln ('И?в㤥-в ЈагЇЇл ЏѓИ?¤-13');
writeln ('Њгав Є®ў Ђ«ҐЄбҐ© ‚ «Ґа쥢Ёз');
readln;
clrscr;
randomize;
for i:=1 to n do
A[i]:=random(50)-25;
writeln ('Массив А:');
for i:=1 to n do
write (A[i]:5);
writeln;
K:=0;
for i:=1 to n do
if A[i+1] <> A[i] then K:=K+1;
write ('количество чисел, входящих в массив по одному разу равно ', K);
readkey;
End.
я примерно представляю, что я должен сделать, но не могу понять, как проверить не только один предыдущий элемент, а все предыдущие
и чем Free Pascal вообще отличается от турбо?
-
26.03.2011, 01:30 #2
- Регистрация
- 26.03.2011
- Сообщений
- 2
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
Алгоритм тупой, не оптимизированный, решает задачу в лоб)) т.е. то что здают обычно в лабах....
выглядит как то так))
{.................}
Const n=15;
Var A:array [1..n] of integer;
i,j: integer;
now:integer;
count:integer;
duplicate:boolean;
begin
{..................}
count:=0;
for i:=1 to n do
begin
now:=A[i] ; {берём очередное число}
duplicate=false; {пердположим повторений нет}
for j:=1 to n do {просматриваем весь массив}
begin {исключая now, (A[i])}
if i<>j then {иначе точно повторение)) }
if now==A[j] then {если найден повтор}
begin
duplicate=true; {говорим что он найден}
break; {завершаем внутренний цикл}
end;
end
if (not duplicate) count=count+1;
end
writeln('Unique ',count,' elements');
end.
и чем Free Pascal вообще отличается от турбо?
-
30.03.2011, 22:55 #3
- Регистрация
- 30.12.2008
- Сообщений
- 63
- Сказал(а) спасибо
- 0
- Поблагодарили 5 раз(а) в 5 сообщениях
Надо ли в конце программы до end писать readln, чтобы просто курсор перешел на след. строку и когда повторно выполняешь программу, не сливались строки?
-
10.07.2011, 02:22 #4
- Регистрация
- 10.07.2011
- Сообщений
- 1
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
readln;
end.
значит, что программа будет ждать нажатия клавиши, после завершения оной. Не прописав этого, в том же турбо - она завершится, и для просмотра результата мы жмем на alt + f5.
я некроманищще...Последний раз редактировалось LosT_eg; 10.07.2011 в 02:32.
Похожие темы
-
Очень нужна помощь Pascal ABC PLZ!!!
от AlexANGEL_! в разделе Прикладное программированиеОтветов: 0Последнее сообщение: 18.12.2009, 18:46 -
Pascal
от kirill_z в разделе Прикладное программированиеОтветов: 1Последнее сообщение: 20.09.2008, 17:17 -
Как посмотреть все массивы
от xenon007 в разделе PHPОтветов: 0Последнее сообщение: 10.07.2008, 14:00
Социальные закладки