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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2009, 14:37   #1
VD1988
Пользователь
 
Регистрация: 27.10.2009
Сообщений: 22
По умолчанию Паскаль. Массивы

Помогите написать задачу в Turbo Pascal: Дан целочисленный массив a1,a2,…,an. Если в массиве нет ни одной компоненты с заданным значением К, то первую по порядку компоненту этого массива, большую всех остальных компонент, заменить на это значение К.
VD1988 вне форума Ответить с цитированием
Старый 27.10.2009, 14:59   #2
Lemo
Форумчанин
 
Аватар для Lemo
 
Регистрация: 13.10.2008
Сообщений: 714
Радость

Если я все правильно понял[поменять местами найбольший елем массива с введенным числомб если нет елема массива зо значение введеного числа ] , то код ниже
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

  const
  n=10;

  var
  a:array[1..n] of integer;
  i,k,max,c,b:integer;

begin

  randomize;
  for i := 1 to n do
    begin
      a[i]:=random(25)+1;
      write(a[i],' ');
    end;

      writeln;
    writeLn('k= ');
    readln(k);


    c:=0;
    max:=a[1];
    for I := 1 to n do
    begin
      if max<a[i] then
            begin
              max:=a[i];
              c:=i;
            end;


     end;

      writeLn('max= ', max);

      for I:= 1 to n do
      begin
      if a[i]<>k then
      begin
              b:=a[c];
              a[c]:=k;
              k:=a[c];

      end;

      end;

     for i := 1 to n do
    begin

      write(a[i],' ');
    end;
         writeln;



    readln;

end.
Тулоько тут еще нуно вывести соостветствующее сообщение, если значение переменной К уже есть в массиве и не выводить массив...
ЗЫ:писал на делфях, в паскаль 2 мин переделать, сможете и сами...

Последний раз редактировалось Lemo; 27.10.2009 в 15:33.
Lemo вне форума Ответить с цитированием
Старый 28.10.2009, 00:16   #3
VD1988
Пользователь
 
Регистрация: 27.10.2009
Сообщений: 22
По умолчанию

Как вывести соостветствующее сообщение, если значение переменной К уже есть в массиве и не выводить массив?

Напишите пожалуйста полный текст программы! Спасибо!!!

Последний раз редактировалось Stilet; 05.11.2009 в 09:40.
VD1988 вне форума Ответить с цитированием
Старый 03.11.2009, 21:11   #4
Lemo
Форумчанин
 
Аватар для Lemo
 
Регистрация: 13.10.2008
Сообщений: 714
Радость

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
 const
  n=10;

  label endd;
  var
  a:array[1..n] of integer;
  i,k,max,c,b:integer;
  flag:Boolean;

begin
   flag:=false;
  randomize;
  for i := 1 to n do
    begin
      a[i]:=random(25)+1;
      write(a[i],' ');
    end;

      writeln;
    write('k= ');
    readln(k);


    c:=0;
    max:=a[1];
    for I := 1 to n do
    begin
      if max<a[i] then
            begin
              max:=a[i];
              c:=i;
            end;


     end;

      write('max= ', max);

      for I:= 1 to n do
      begin
      if a[i]<>k then
       begin
              b:=a[c];
              a[c]:=k;
              k:=a[c];

       end
      else
       flag:=true;
      end;

      writeln;
      if flag then
       begin
        writeLn('K ege est` v massive');
        goto endd;
       end;

     for i := 1 to n do
    begin

      write(a[i],' ');
    end;
         writeln;

   endd:

    readln;
end.
Lemo вне форума Ответить с цитированием
Старый 04.11.2009, 14:46   #5
VD1988
Пользователь
 
Регистрация: 27.10.2009
Сообщений: 22
По умолчанию

Подскажите пожалуйста! SysUtils - подразумевает использование меток в программе?
VD1988 вне форума Ответить с цитированием
Старый 04.11.2009, 14:48   #6
Lemo
Форумчанин
 
Аватар для Lemo
 
Регистрация: 13.10.2008
Сообщений: 714
Радость

Нет!
Что косаеться меток, определение их несет зарезервированное слово label
В данном случае(в начале программы):
Код:
  label endd;
Lemo вне форума Ответить с цитированием
Старый 04.11.2009, 14:55   #7
VD1988
Пользователь
 
Регистрация: 27.10.2009
Сообщений: 22
По умолчанию

Как написать программу без метки? И вместо SysUtils можно написать Crt?
VD1988 вне форума Ответить с цитированием
Старый 04.11.2009, 15:01   #8
Lemo
Форумчанин
 
Аватар для Lemo
 
Регистрация: 13.10.2008
Сообщений: 714
Радость

ща посмотрю....
Lemo вне форума Ответить с цитированием
Старый 04.11.2009, 15:09   #9
VD1988
Пользователь
 
Регистрация: 27.10.2009
Сообщений: 22
По умолчанию

Ввожу K=5 (например), программа пишет max=25, на следующей строчке K ege est v massive. А почему не выводится массив с заменяемой компонентой (числом 5 в данном примере)?

Помогите пожалуйста!!!!!

Последний раз редактировалось Stilet; 05.11.2009 в 09:41.
VD1988 вне форума Ответить с цитированием
Старый 04.11.2009, 16:13   #10
Lemo
Форумчанин
 
Аватар для Lemo
 
Регистрация: 13.10.2008
Сообщений: 714
Радость

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
  const
  n=10;

  var
  a:array[1..n] of integer;
  i,k,max,c,b:integer;
  flag:Boolean;

begin

  randomize;
  for i := 1 to n do
    begin
      a[i]:=random(25)+1;
      write(a[i],'  ');            // ОТРЕДАКТИРОВАЛ ПРОБЕЛ
    end;

      writeln;
    write('k= ');
    readln(k);


    c:=0;
    max:=a[1];
    for I := 1 to n do
    begin
      if max<a[i] then
            begin
              max:=a[i];
              c:=i;
            end;


     end;

      write('max= ', max);
      writeln;

      for I:= 1 to n do
      begin
      if a[i]=k then
       begin

        writeLn('K ege est` v massive');
        break;

       end;
       end;



      for I:= 1 to n do
      begin
      if a[i]<>k then
       begin

              b:=a[c];
              a[c]:=k;
              k:=a[c];

       end ;
      end;



     for i := 1 to n do
    begin

      write(a[i],'  ');  // ОТРЕДАКТИРОВАЛ ПРОБЕЛ
    end;
         writeln;



    readln;
end.
Думаю вот так будет в самый раз!

Последний раз редактировалось Lemo; 04.11.2009 в 16:44.
Lemo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы. Паскаль. Denis41 Помощь студентам 1 14.09.2009 20:15
Паскаль. Массивы Arshavin10 Помощь студентам 3 02.09.2009 17:49
Паскаль и массивы RamireZ Паскаль, Turbo Pascal, PascalABC.NET 7 24.10.2008 17:20
Паскаль. Массивы Sexy Fox Помощь студентам 5 12.04.2008 21:45
Паскаль, массивы. SZero Помощь студентам 5 22.03.2008 16:06