Pascal. Массивы
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 4 из 4
  1. #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 вообще отличается от турбо?

  2. #2
    Гость форума

    Регистрация
    25.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 вообще отличается от турбо?
    Free Pascal - это OpenSource, gnu..... а borland Turbo pascal - это не gnu и точно не OpenSource, это раз, два - Free Pascal есть и под *nix и под win32, win64, а турбо в общем под Дос и win 3.1/3.11 )))

  3. #3
    Просто юзер
    Аватар для Dezire
    Регистрация
    30.12.2008
    Сообщений
    63
    Сказал(а) спасибо
    0
    Поблагодарили 5 раз(а) в 5 сообщениях

    По умолчанию

    Надо ли в конце программы до end писать readln, чтобы просто курсор перешел на след. строку и когда повторно выполняешь программу, не сливались строки?

  4. #4
    Гость форума

    Регистрация
    10.07.2011
    Сообщений
    1
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию

    readln;
    end.

    значит, что программа будет ждать нажатия клавиши, после завершения оной. Не прописав этого, в том же турбо - она завершится, и для просмотра результата мы жмем на alt + f5.

    я некроманищще...
    Последний раз редактировалось LosT_eg; 10.07.2011 в 01:32.

Похожие темы

  1. Очень нужна помощь Pascal ABC PLZ!!!
    от AlexANGEL_! в разделе Прикладное программирование
    Ответов: 0
    Последнее сообщение: 18.12.2009, 17:46
  2. Pascal
    от kirill_z в разделе Прикладное программирование
    Ответов: 1
    Последнее сообщение: 20.09.2008, 16:17
  3. Как посмотреть все массивы
    от xenon007 в разделе PHP
    Ответов: 0
    Последнее сообщение: 10.07.2008, 13:00

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •