Помогите пожалуйста решить))) или хотя бы натолкнуть на мысль ))

1) Записать элементы массива Х, удовлетворяющие условию 1≤Xi≤2, подряд в массив Y. Поменять местами максимальный и минимальный элементы в массиве Y.

2) Заменить строку матрицы Р(n,m) с минимальной суммой элементов на строк, где находится максимальный элементы матрицы.

3) Определить, пересекаются ли параболы у=ах2+bc+c и y=dx2+mx+n. Если пересекаются, то найти точку пересечения.

1

Ответы и объяснения

2013-05-27T19:38:45+00:00

Это Проверенный ответ

×
Проверенные ответы содержат надёжную, заслуживающую доверия информацию, оценённую командой экспертов. На "Знаниях" вы найдёте миллионы ответов, правильность которых подтвердили активные участники сообщества, но Проверенные ответы - это лучшие из лучших.


Program MassXY;
uses crt;
const n = 20;
var
  x,y:array [1..n] of real;
  i,k, maxnum, minnum:integer;
  max, min,temp: real;
begin
  k:=1;
  randomize;
  for i:=1 to n do
    begin
      x[i]:=random(101)-50;
      if (1<=x[i]) and (x[i]<=2) then
        begin
          y[i]:=x[i];
          k:=k+1;
        end;
    end;
  writeln('*** alphaues is thinking... ***');
  max:=y[1];
  maxnum:=1;
  min:=y[1];
  minnum:=1;
  for i:=1 to k do
    begin
      if max<y[i] then
        begin
          max:=y[i];
          maxnum:=i;
        end;
      if min>y[i] then
        begin
          min:=y[i];
          minnum:=i;
        end;      
    end;
    temp:=y[maxnum];
    y[maxnum]:=y[minnum];
    y[minnum]:=temp;
  writeln('Массив Y состоит из ',k,' элементов:');
  for i:=1 to k do
    write(y[i],'  ');
end.

Program MatrixP;
uses crt;
const n=10;
const m=8;
var
  p:array[1..n,1..m] of integer;
  sum:array[1..n] of integer;
  st:array[1..m] of integer;
  i,j,tempsum,min,max,minnum,maxnum : integer;
begin
  Randomize;
  {ввод и вывод матрицы}
  writeln('Начальная матрица:');
  for i:=1 to n do
    begin
      for j:=1 to m do
        begin
          p[i,j]:= Random(100);
          write(p[i,j]:5);
        end;
       writeln;
    end;
  writeln('*** alphaues is thinking... ***');
  {нахождение сумм строк}
  for i:=1 to n do  
    begin
      tempsum:=0;
      for j:=1 to m do
        tempsum:=tempsum+p[i,j];
      sum[i]:=tempsum;
    end;
  maxnum:=1;
  tempsum:=sum[1];
  for i:=1 to n do  
    if tempsum>sum[i] then
      begin
        tempsum:=sum[i];
        minnum:=i;
      end;  
  writeln('Min сумма в ',minnum,'-й строке: ',sum[minnum]);
  {нахождение max элемента матрицы}
  max:=p[1,1];
  for i:=1 to n do
    for j:=1 to m do
      begin
        if max<p[i,j] then max:=p[i,j];
        maxnum:=i;
      end;
  writeln('Max элемент ',max,' находится в ',maxnum,'-й строке');
  for j:=1 to m do
    begin
      st[j]:=p[maxnum,j];
      p[maxnum,j]:=p[minnum,j];
      p[minnum,j]:=st[j];
    end;
  {вывод матрицы}
  writeln('Результат:');
  for i:=1 to n do
    begin
      for j:=1 to m do
        begin
          write(p[i,j]:5);
        end;
       writeln;
    end;
 end.

Program Parabolas;
Uses Crt;
Var
  a, b, c, d, m, n, dis, x1, x2 : real;
begin
  writeln('Введите коэфициенты первой параболы');
  write('A=');readln(a);
  write('B=');readln(b);
  write('C=');readln(c);
  writeln('Введите коэфициенты второй параболы');
  write('D=');readln(d);
  write('M=');readln(m);
  write('N=');readln(n);
  writeln('*** alphaues is thinking... ***');
  if a=d then
    if b=m then
      if c=n then
        writeln('Параболы совпадают!')
      else
        writeln('Параболы не пересекаются!')
    else
      begin
        x1:=(c-n)/(b-m);
        writeln('Параболы пересекаются в 1-й точке: ',x1,' ',a*x1*x1+b*x1+c);
      end
  else
    begin
      dis:=(b-m)*(b-m)-4*(a-d)*(c-n);
      if dis>0 then
        begin
          x1:=((m-b)+sqrt(dis))/(2*(a-d));
          x2:=((m-b)-sqrt(dis))/(2*(a-d));
          writeln('Параболы пересекаются в 2-x точкax: ');
          writeln(x1,' ',a*x1*x1+b*x1+c);
          writeln(x2,' ',a*x2*x2+b*x1+c);
        end
      else
        if dis=0 then  
        begin
          x1:=(m-b)/(2*(a-d));
          writeln('Параболы пересекаются в 1-й точке: ',x1,' ',a*x1*x1+b*x1+c);
        end
        else writeln('Параболы не пересекаются!');
   end;
end.