• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Векторы в Паскаль

  • Автор темы Автор темы vitjok
  • Дата начала Дата начала

vitjok

Новые
Регистрация
29 Сен 2012
Сообщения
72
Реакции
0
Баллы
0
Векторы в Паскаль

здравствуйте) попалась такая задачка: нужно заполнить вектор и отсортировать так что бы несколько первых чисел возвростали потом убывали,и так далее чередования)
13542169 вот вроде такого должно получится)даже не имею представления как сделать (
 
даже не имею представления как сделать (
Я тоже. Ибо описанным Вами свойством (чередование возрастаний и убываний) обладает любой массив. Кроме разве что состоящего из одинаковых элементов.
 
мне привели пример что должно получится так: смси.webp
но так должно быть с любыми числами, как я понял он должен получится "волнообразный" что лиtehno015
 
а можно поподробнее, вроде как понял суть, но как сделать это в программе???)
 
вот код держи)
Код:
uses tpcrt;
var
  max,min : Byte;
  a: array[1..20] of byte;
  i,a1 : byte;
  b : boolean;
begin
  clrscr;
  write('Input min,max [0..127] : '); readln(min,max);
  b:=true; a[1]:=min; write(a[1]:4);
  for i:=2 to 20 do begin
    if b then begin a[i]:=a[i-1]+1; b:=a[i]<>max; end
         else begin a[i]:=a[i-1]-1; b:=a[i]=min; end;
    write(a[i]:4);
  end;
  writeln; readln;
end.
 
Ну, это не совсем та задача. В исходной-то требуется взять готовый массив и отсортировать его так, чтобы получились "волны", а тут просто идет формирование массива по принципу "стартуя с минимума, добавлять по единичке, пока не достигнем максимума, потом отнимать по единичке до минимума, потом опять сначала". Впрочем, если подойдёт, то хорошо.
 
да это совсем не то((я вообще не имею ни какого представления как его так отсортировать или заполнить(( tehno015:tehnari_ru_325:
 
я вообще не имею ни какого представления как его так отсортировать или заполнить(( tehno015:tehnari_ru_325:
Ну если "заполнить", то воспользуйтесь программой, которую выложил Jogi.
 
она заполняеет однообразно(( в том то и проблема мне нужно так что бы было заполнено рандомно(( вроде этого 567431459742(
 
нужно чтобы он пенял сортировку(заполнение) убывания возврастанеие через определеноое кол-во элементов((
 
Код:
uses crt;
var
  a: array[1..100] of byte;
  i,j,n : byte;
  b : boolean;
begin
  clrscr; randomize;
  b:=true; a[1]:=20;
  write(a[1]:4); i:=2;
  repeat
    n:=random(3)+3; j:=1;
    while (j<n) and (i<101) do begin
      if b then a[i]:=a[i-1]+random(6)+1
           else a[i]:=a[i-1]-random(6)-1;
      write(a[i]:4);
      inc(i); inc(j);
    end;
    b:=not b;
  until i>100;
  writeln; readln;
end.
 
Назад
Сверху