1. Значения элементов одномерного массива S размерности k уменьшить ** значение его...

0 голосов
61 просмотров

1. Значения элементов одномерного массива S размерности k уменьшить на значение его минимального элемента.

2. Найти и напечатать первые положительные элементы строк матрицы А размерности m×k.


Информатика (113 баллов) | 61 просмотров
0

Pascal

Дано ответов: 2
0 голосов
Правильный ответ

Program one;uses crt;
const
    k = 10;
var
    S: array[1..k] of integer;
    i, min: integer;
begin
    randomize;
    writeln('Array:');
    for i := 1 to k do
    begin
        S[i] := random(20);
        write(S[i], ' ');
    end;    writeln;
        min := S[1];
     for i := 2 to k do
        if S[i] < min then
            min := S[i];
    writeln('Min: ', min);
    writeln('Result:');
    for i := 1 to k do
    begin
        S[i] := S[i] - min;
        write(S[i], ' ');
    end;
end.

program two;
uses crt;
const
    m = 5;
    k = 5;
var
    A: array[1..m] of array[1..k] of integer;
    i, j, min: integer;
begin
    randomize;
    writeln('Matrix:');
    for i := 1 to m do
    begin
        for j := 1 to k do
        begin
            A[i][j] := random(20) - 10;
            write(A[i][j], ' ');
        end;
        writeln;
    end;
    writeln('Result:');
    for i := 1 to m do
    begin
        for j := 1 to k do
        begin
            if A[i][j] > 0 then
            begin
                write(A[i][j], ' ');
                break;
            end;
        end;
    end;
end.

(2.8k баллов)
0

Тем не мение, зная сегоднешнее образовавние (школьное, и даже висшее) я не удивился, когда автор выбрал мое как нужное ему. Преподаватели настолько ленивые, что ТурбоПаскаль на территории СНГ еще будет жить долгое время.

0

Если действительно хотите оттачивать LINQ, то вам на codewars.com (если с английским дружите). Там задачи намного интересней, и можно подобрать себе по сложности.

0

Ну я не знаю же, вдруг там у вас в 80-90-х он не так востребован был xD

0 голосов
// PascalABC.NET 3.2, сборка 1439 от 09.05.2017
// Внимание! Если программа не работает, обновите версию!

№1

begin
  var s:=ArrRandom(ReadInteger('k='),1,50); s.Println;
  var min:=s.Min;
  s.Transform(x->x-Min); s.Println
end.

Пример
k= 13
41 31 28 2 50 46 7 31 40 30 13 8 26
39 29 26 0 48 44 5 29 38 28 11 6 24

№2

begin
  var m:=ReadInteger('Количество строк в матрице:');
  var k:=ReadInteger('Количество столбцов в матрице:');
  Writeln('*** Исходная матрица [',m,',',k,'] ***');
  var a:=MatrRandom(m,k,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  Writeln('Первые положительные элементы в строках');
  a.Rows.Select(r->r.Where(x->x>0).Take(1)).SelectMany(x->x).Println
end.

Пример
Количество строк в матрице: 5
Количество столбцов в матрице: 8
*** Исходная матрица [5,8] ***
 -91 -83 -26   4 -40  33 -40  -6
  71 -87  -8  65  94 -19  59  -9
 -91 -17  69  32  30  90  63   4
 -53 -52  93   4 -34 -70 -75 -95
 -99 -42  95  69 -70 -62  39 -22
--------------------------------
Первые положительные элементы в строках
4 71 69 93 95
(150k баллов)