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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2016, 08:45   #1
Вячик
Пользователь
 
Регистрация: 09.11.2015
Сообщений: 14
По умолчанию массив что сдесь k:=k+1; и b[k]:=i что к чему присваивается помогите разобраться

(*даны целые числа а1,..аn, пусть М-наибольшее а м-наименьшее из а1,..аn,
получить в порядке возрастания все целые из интервала (М,м) которые не входят в последовательность а1,..аn*)
Код:
program pr;
const n=10;
type telem=integer;
var a:array[1..n] of telem;
****b:array[1..1000] of telem;
j,i,k,x,min,max: telem;

begin
*writeln('введите элименты массива ');
*for i:=1 to n do
*read(a[i]);
*for i:=1 to n do
***for j:=i to n do
***if (a[j]<a[i]) then
*****begin
********x:=a[i];
********a[i]:=a[j];
********a[j]:=x;
*****end;
*min:=a[1];
*max:=a[n];
*j:=1;
*k:=0;
*for i:=min to max do
***if a[j]=i then
*****j:=j+1
***else begin
*****k:=k+1;
*****b[k]:=i;
***end;
*Writeln;
*for i:=1 to k do Write(b[i],' ');
*Readln;
End.
Только звездами больше код не украшай. Есть кнопочка # для украшения выделенного кода вместе с левыми пробелами и табуляцией
Модератор

Последний раз редактировалось Аватар; 16.03.2016 в 15:00.
Вячик вне форума Ответить с цитированием
Старый 16.03.2016, 14:24   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вячик, код, похоже, рабочий и задачу свою выполняет, хоть и не безупречен.
В чём суть вопроса?
если Вы про код
Код:
for i:=min to max do
 if a[j]=i then
     j:=j+1
  else begin
    k:=k+1;
    b[k]:=i;
 end;
то тут всё просто. исходный массив у нас отсортирован.
перебираем все целые числа от минимального значения до максимального.
если очередное число совпадает с числом в исходном массиве, то увеличиваем счётчик в массиве J
иначе данного числа в исходном массиве нет, его записываем в массив B
(для этого увеличиваем счётчик/индекс - переменную K и сохраняем число в массив B b[k]:=i;
вот и всё.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обьясните что сдесь происходит? SillmaRill Помощь студентам 2 19.02.2014 08:49
где сдесь залить на хостинг misher Свободное общение 2 18.09.2010 15:19
Что сдесь не так??? 6ypuk Помощь студентам 3 11.06.2009 17:14
где сдесь туплю не пойму Doget Помощь студентам 2 04.02.2009 08:46
А почему сдесь большинство мемберов из Украины ? Dmitriy O. Свободное общение 39 14.01.2009 14:14