Задать вопрос
19 августа, 21:52

Паскаль

1. Одномерный массив А длиной N<=20 заполнить случайными числами из диапазона [-15 ... 80]. Составить программу определения:

 первого минимального элемента массива;

 количества и суммы минимальных элементов;

 есть ли в данном массиве два соседних отрицательных элемента? Найти номера последней пары.

2. Дан одномерный массив. Переместить максимальные элементы в конец, сдвинув остальные элементы влево.

3. Имеются сведения о 40-и регионах страны: название региона и информация об уровне безработицы в регионе. Определите три наиболее благополучных и три неблагополучных района.

+5
Ответы (1)
  1. 19 августа, 23:15
    0
    1)

    var

    a:array[1 ... 20] of integer;

    index, Min, count, i, n:integer;

    begin

    Readln (n) ;

    Min: = 81; index:=-1;

    For i: = 1 to n do

    begin

    a[i]: = random (96) - 15;

    Write (a[i], ' ') ;

    if Min = a[i] then

    count: = count+1;

    if Min > a[i] then begin

    Min:=a[i];

    index:=i;

    count:=1;

    end;

    end;

    Writeln;

    Writeln ('Min = ', Min) ;

    Writeln ('Минимумов: ', count, ' их сумма равна ', count*Min) ;

    for i: = n downto 2 do

    if (a[i] < 0) and (a[i-1] < 0) then

    begin

    Write ('Номера соседних отрицательных эл-в - > ') ;

    Writeln (i-1, ' ', i) ;

    break;

    end;

    end.

    Пример:

    20

    59 - 3 44 - 15 60 - 3 70 - 15 - 10 1 - 1 - 2 21 23 - 5 24 45 - 10 0 48

    Min = - 15

    Минимумов: 2 их сумма равна - 30

    Номера соседних отрицательных эл-в - > 11 12

    2)

    var

    a, b:array[1 ... 200] of integer;

    i, n, cnt, j, Max:integer;

    begin

    Readln (n) ;

    Read (a[1]) ; Max:=a[1]; cnt:=1;

    For i: = 2 to n do

    begin

    Read (a[i]) ;

    if a[i] = max then

    cnt: = cnt+1;

    if a[i] > max then

    begin

    max:=a[i];

    cnt:=1;

    end;

    end;

    j:=1;

    for i:=1 to n do

    if a[i] < Max then

    begin

    b[j]:=a[i];

    j: = j+1;

    end;

    for i: = j to n do

    b[i]:=Max;

    for i:=1 to n do

    Write (b[i], ' ') ;

    end.

    Пример:

    6

    1 5 3 2 5 0

    1 3 2 0 5 5

    type Info = record

    name:string;

    unpl:integer; //unemployment

    end;

    var

    a:array[1 ... 40] of Info;

    tmp:Info;

    i, j:integer;

    begin

    For i: = 1 to 40 do

    begin

    Readln (a[i]. name) ;

    Readln (a[i]. unpl) ;

    end;

    For i: = 1 to 40 do

    for j: = i to 40 do

    if a[i]. unpl > a[j]. unpl then

    begin

    tmp. name: = a[i]. name;

    tmp. unpl: = a[i]. unpl;

    a[i]. name:=a[j]. name;

    a[i]. unpl:=a[j]. unpl;

    a[j]. name:=tmp. name;

    a[j]. unpl:=tmp. unpl;

    end;

    Writeln ('три неблагополучных района:')

    Writeln (a[40]. name) ;

    Writeln (a[39]. name) ;

    Writeln (a[38]. name) ;

    Writeln ('три наиболее благополучных') ;

    Writeln (a[1]. name) ;

    Writeln (a[2]. name) ;

    Writeln (a[3]. name) ;

    end.

    Формат Ввода:

    Название района

    Безработица
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Паскаль 1. Одномерный массив А длиной N ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы