ckati
?>

55 ! решите : вася — учитель физкультуры в школе. в отличие от других учителей физкультуры, вася не любит когда ученики выстраиваются в шеренгу по росту. вместо этого, он требует, чтобы дети выстраивались в порядке a1, a2, an, где ai — рост i-го ученика в шеренге, а n — количество учеников в шеренге. детям сложно запомнить этот странный порядок, и сегодня они выстроились в порядке b1, b2, bn, что расстроило васю. теперь вася хочет переставить детей так, чтобы получился порядок a1, a2, an. за одно действие вася может поменять местами двух человек, стоящих подряд в шеренге. васе — составьте последовательность обменов, приводящую к нужной васе расстановке. количество действий минимизировать не требуется. входные данные в первой строке записано целое число n (1 ≤ n ≤ 300) — количество учеников. во второй строке через пробел записано n целых чисел ai (1 ≤ ai ≤ 109) — какой рост должен иметь ученик на месте i. в третьей строке через пробел записано n целых чисел bi (1 ≤ bi ≤ 109) — какой рост имеет ученик на месте i в начальной расстановке. возможно, что некоторые ученики имеют одинаковый рост. гарантируется, что расставить детей в требуемом порядке возможно, т. е. a и b как мультимножества. выходные данные в первой строке выведите целое число k (0 ≤ k ≤ 106) — количество действий. минимизировать k не требуется, но оно не должно превосходить 106. далее выведите k строк по два целых числа через пробел. строка pi, pi + 1 (1 ≤ pi ≤ n - 1) означает, что вася должен поменять местами учеников на местах pi и pi + 1.

Информатика

Ответы

klimenokvapeshop1408
//прога на Pascal`e
var
n,i,j,f,q,k:longint;
x,y,b,a:Array[0..30000] of longint;
begin
read(n);
for i:=1 to n do read(a[i]);
for i:=1 to n do read(b[i]);
for i:=1 to n do
begin
for j:=i to n do
if a[i]=b[j] then
begin
f:=j;
break;
end;
for j:=f downto i+1 do
begin
q:=b[j];
b[j]:=b[j-1];
b[j-1]:=q;
inc(k);
x[k]:=j-1;
y[k]:=j;
end;
end;
writeln(k);
for i:=1 to k do
writeln(x[i],' ',y[i]);
end.
maxchuev
#include <iostream>
#include <math.h>
#include <cstdlib>
using namespace std;

int main()
{
   int position = 0;

    int i,j, ch,a,s;
    int* mass = NULL;
    cout << "Заданное число А: ";
    cin >> a;

    while (1)

    {
        cin >> ch;
        if (ch == 0) break;
        mass = (int*)realloc(mass, (position+1)*sizeof(int));
        mass[position] = ch;
        position++;

    }
    s=0;
    j=0;
    for (i=0;i<position;i++){
        if (((mass[i] > 0) && (mass[i+1] > 0)) || ((mass[i] < 0) && (mass[i+1] < 0)))
            j++;
        if (((mass[i] > 0) && (mass[i] < a)))
            s++;
    }

    cout << "Номер поседней пары: " << j << endl;
    cout << "Положительно и не больше А: " << s << endl;

    return 0;
}
Александровна-Грузман
Program ten;
const n=2;
Var a,b,c,d,e,f,p:integer;
Begin 
Write ('Введите число a '); Read(a);
Write ('Введите число b '); Read(b);
Write ('Введите число c '); Read(c);
Write ('Введите число d'); Read(d);
Write ('Введите число e '); Read(e);
Write ('Введите число f '); Read(f);
p:=0;
If a mod n = 0 Then P:=p+1;
If b mod n = 0 Then P:=p+1;
If c mod n = 0 Then P:=p+1;
If d mod n = 0 Then P:=p+1;
If e mod n = 0 Then P:=p+1;
If f mod n = 0 Then P:=p+1;
Write ('количество четных чисел = ',p);
end.
 Вот так, программа работает.

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

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

55 ! решите : вася — учитель физкультуры в школе. в отличие от других учителей физкультуры, вася не любит когда ученики выстраиваются в шеренгу по росту. вместо этого, он требует, чтобы дети выстраивались в порядке a1, a2, an, где ai — рост i-го ученика в шеренге, а n — количество учеников в шеренге. детям сложно запомнить этот странный порядок, и сегодня они выстроились в порядке b1, b2, bn, что расстроило васю. теперь вася хочет переставить детей так, чтобы получился порядок a1, a2, an. за одно действие вася может поменять местами двух человек, стоящих подряд в шеренге. васе — составьте последовательность обменов, приводящую к нужной васе расстановке. количество действий минимизировать не требуется. входные данные в первой строке записано целое число n (1 ≤ n ≤ 300) — количество учеников. во второй строке через пробел записано n целых чисел ai (1 ≤ ai ≤ 109) — какой рост должен иметь ученик на месте i. в третьей строке через пробел записано n целых чисел bi (1 ≤ bi ≤ 109) — какой рост имеет ученик на месте i в начальной расстановке. возможно, что некоторые ученики имеют одинаковый рост. гарантируется, что расставить детей в требуемом порядке возможно, т. е. a и b как мультимножества. выходные данные в первой строке выведите целое число k (0 ≤ k ≤ 106) — количество действий. минимизировать k не требуется, но оно не должно превосходить 106. далее выведите k строк по два целых числа через пробел. строка pi, pi + 1 (1 ≤ pi ≤ n - 1) означает, что вася должен поменять местами учеников на местах pi и pi + 1.
Ваше имя (никнейм)*
Email*
Комментарий*

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

Антон
dvpered
orb-barmanager
Дарья16
Vitalevna1186
vikgor45
nadezhda81
ulechkaevseeva
ver2bit29
utburt
milkiev
zabrodin
dpodstrel85
MISAKOVNA49
Александра Викторович531