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

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

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

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

Помогите решить. Паскаль

Натуся

Ученик
Регистрация
21 Янв 2014
Сообщения
2
Реакции
0
Баллы
0
Помогите решить. Паскаль

1. В данной последовательности целых чисел переставить члены так, чтобы отрицательные нечетные числа шли в порядке возрастания в конце массива.
2. В данном двумерном массиве А[1...n,1...n]с целыми коэффициентами, где n<=20, для каждого столбца найти минимальное и максимальное значение элемента в этом столбце, напечатать эти элементы и их индексы.
3. В данной последовательности чисел найти минимальное значение среди положительных элементов и все номера членов последовательности, равных ему.
 
1. В данной последовательности целых чисел переставить члены так, чтобы отрицательные нечетные числа шли в порядке возрастания в конце массива.
Пожалуйста:
Код:
Const
 N=20;

Var
 A,B,C:Array[1..N] of Integer;
 P,Q,i,j:Byte;
 D:Integer;

Begin
 Randomize;
 P:=0;
 Q:=0;
 Writeln('Initial array:');
 for i:=1 to N do
  begin
   A[i]:=-50+Random(100);
   Write(A[i]:4);
   if (A[i]<0) and ((Abs(A[i]) mod 2)=1) then
    begin
     Inc(Q);
     C[Q]:=A[i];
    end
   else
    begin
     Inc(P);
     B[P]:=A[i];
    end;
  end;
 Writeln;
 Writeln;

 for i:=1 to Q-1 do
  for j:=1 to Q-i do
   if C[j]>C[j+1] then
    begin
     D:=C[j];
     C[j]:=C[j+1];
     C[j+1]:=D;
    end;

 for i:=1 to P do
  A[i]:=B[i];
 for i:=1 to Q do
  A[i+P]:=C[i];

 Writeln('New array:');
 for i:=1 to N do Write(A[i]:4);

 Readln;
End.

С оставшимися двумя глупейшими школьными задачками будьте любезны справиться самостоятельно.
 
2. В данном двумерном массиве А[1...n,1...n]с целыми коэффициентами, где n<=20, для каждого столбца найти минимальное и максимальное значение элемента в этом столбце, напечатать эти элементы и их индексы.

Код:
uses  Crt;
const CSize=20;
type  Tmatr=array[1..CSize,1..CSize] of integer;
procedure Search(aa:Tmatr; aj,an:integer);
var   min,max,minx,miny,maxx,maxy,t:integer;
begin
      min:=MaxInt; max:=-MaxInt;
       minx:=0; miny:=0;
        maxx:=0; maxy:=0;
      for t:=1 to an do
       begin
         if aa[t,aj]<min then
          begin
            min:=aa[t,aj];
            minx:=t;
            miny:=aj;
          end;
         if aa[t,aj]>max then
          begin
            max:=aa[t,aj];
            maxx:=t;
            maxy:=aj;
          end;
       end;
      Writeln('Stolbec: ',aj:2);
       Writeln('  min = ',min:2,'[',minx,' , ',miny,']');
        Writeln('  max = ',max:2,'[',maxx,' , ',maxy,']');
end;
var   a:Tmatr;
      i,j,n:integer;
begin
      ClrScr;
       repeat
          Write('n<=20 = ');
          Readln(n);
       until n<=20;
       Randomize;
        for i:=1 to n do
         begin
           for j:=1 to n do
            begin
              a[i,j]:=Random(100);
              Write(a[i,j]:4);
            end;
           Writeln;
         end;
        Writeln;
       for j:=1 to n do
        Search(a,j,n);
      ReadKey;
end.
 
3. В данной последовательности чисел найти минимальное значение среди положительных элементов и все номера членов последовательности, равных ему.[/B]

Код:
uses Crt;
type Tmass=array[1..100] of integer;
var  i,n,min:integer;
     a:Tmass;
begin
     ClrScr;
      repeat
         Write('Kollicestvo cisel <=100 = ');
         Readln(n);
      until n<=100;
       Randomize;
        min:=MaxInt;
         for i:=1 to n do
          begin
            a[i]:=Random(15)-5;
            Write(a[i]:4);
            if a[i]>0 then
             if a[i]<min then min:=a[i];
          end;
         Writeln;
        Writeln;
       Writeln('Min sredi polozhitelnih = ',min);
        Writeln('Elementi ravnie min imejut nomera:');
         for i:=1 to n do
          if a[i]=min
           then Write(i:4);
       Writeln;
      ReadKey;
end.
 
Назад
Сверху