mariy-y34
?>

Задан массив x(k) вещественных чисел. найти коллво k2 элементов четных. если k2> 0 , заменить min элемент массива на значение k2. вывести x, min, k2 на экран паскаль

Информатика

Ответы

paninsv
Const
  k = 5;

var
  x: array [1..k] of integer;
  i, min_index, k2: integer;

begin
  writeln('Enter x:');
  for i := 1 to k do
  begin
    write('x[', i, '] = ');
    readln(x[i]);
  end;
 
  min_index := 1;
  k2 := 0;
  for i := 1 to k do
  begin
    if x[min_index] > x[i] then
      min_index := i;
    if x[i] mod 2 = 0 then
      k2 := k2 + 1;
  end;
 
  if k2 > 0 then
    x[min_index] := k2;
    
 
  writeln('x:');
  for i := 1 to k do
    writeln('x[', i, '] = ', x[i]);
  writeln('k2 = ', k2);
  writeln('min = ', x[min_index]);
end.
Щуплова Александр
//PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016)
function
Transpose(a: array[,] of integer): array[,] of integer;
//Поворот на 90гр по часовой стрелке
begin
  var m := Length(a, 0);
  var n := Length(a, 1);
  Result := new integer[n, m];
  for var i := 0 to n-1 do begin
    for var j := 0 to m-1 do
      Result[i, j] := a[m-1-j, i];
  end;
end;

begin
  var n := ReadInteger('Введите n:');
//Заполнение матрицы NxN сл. числами и вывод на экран
  var a :=MatrixRandom(n, n);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(a[i,j]);
    println;
    end;
     println;

  Println('поворот влево на 90 гр');
  var b := Transpose(a);
  b:=Transpose(b);
  b:=Transpose(b);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(b[i,j]);
    println;
    end;
  println;

  Println('поворот вправо на 90гр');
  b := Transpose(a);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(b[i,j]);
    println;
    end;
 println;

 Println('поворот на 180 гр');
  b := Transpose(a);
  b := Transpose(b);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(b[i,j]);
    println;
    end;
end.
Панков1101
1. В "реальном мире" это решается примерно так:

// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
begin
  var a:=ArrRandom(ReadInteger('n='),0,2); a.Println;
  a.Sorted.Println
end.

Тестовое решение:
n= 15
1 2 0 2 2 0 2 0 2 0 0 1 0 0 2
0 0 0 0 0 0 0 1 1 2 2 2 2 2 2

2. Но, поскольку считается, что школьникам больше заняться нечем, их заставляют писать примерно в таком стиле (и время займет, и ощибок понаделают):

// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
const
  nn=100;
var
  i,j,n,t:integer;
  a:array[1..nn] of integer;
begin
  Write('n='); Read(n);
  Randomize;
  for i:=1 to n do begin
    a[i]:=Random(3);
    Write(a[i],' ')
    end;
  Writeln;
  for i:=1 to n-1 do
    for j:=1 to n-1 do
      if a[j]>a[j+1] then begin
        t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t
        end;
  for i:=1 to n do Write(a[i],' ');
  Writeln;
end.

Тестовое решение:
n=15
0 1 1 0 2 1 0 2 1 2 1 0 0 2 0
0 0 0 0 0 0 1 1 1 1 1 2 2 2 2

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Задан массив x(k) вещественных чисел. найти коллво k2 элементов четных. если k2> 0 , заменить min элемент массива на значение k2. вывести x, min, k2 на экран паскаль
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Dushko
marver201040
shhelina
perova-s200
yda659
Volodka
leeka152522
bagramyansvetlana
art-03857
alexst123012225
sarycheva659
chuev4444
Irina_Nikolai
zinasekina4
vasilyevjob6