men2017
30.01.2020 06:17

Написать программу на c++. Указать количество учеников, после чего вывести случайное число из этого количества. После чего ученику можно поставить оценку (2,3,4,5) либо же отсутствие (Н). Дополнительные условия.
Сделать ошибку ввода оценки (если вводим число 1 или больше 5). Так же один и тот же номер ученика не может выпадать дважды.
В конечном итоге вывести номер ученика и его оценку (либо отсутствие).​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
samsungtaba32
13.02.2023 07:16
Var
a: array[1..4, 1..4] of integer;
i, j, x, y, n: integer;
s: string;
begin
for i:=1 to 4 do
for j:=1 to 4 do
read(a[i, j]);
writeln('Введите "столбцы", чтобы поменять столбцы, или "строки", чтобы поменять строки');
readln(s);
writeln('Введите номера столбцов/строк');
readln(x, y);
if s='столбцы' then
for i:=1 to 4 do
begin
n := a[i, x];
a[i, x] := a[i, y];
a[i, y] := n;
end;
if s='строки' then
for i:=1 to 4 do
begin
n := a[x, i];
a[x, i] := a[y, i];
a[y, i] := n;
end;
for i:=1 to 4 do
begin
for j:=1 to 4 do
write(a[i, j], ' ');
writeln;
end;
end.
Вдвумерном массиве по запросу поменять два заданных столбца или две строки? ))
0,0(0 оценок)
Ответ:
Маша2005051
13.02.2023 07:16
// PascalABC.NET 3.1, сборка 1172 от 19.02.2016
begin
  var m,n:integer;
  Write('Введите количество строк и столбцов массива: ');
  Readln(m,n);
  var a:=MatrixRandom(m,n,10,99);
  for var i:=0 to m-1 do begin
    for var j:=0 to n-1 do Print(a[i,j]);
    Println
    end;
  var c:char;
  Writeln('1- поменять местами строки, 2- столбцы: ');
  Readln(c);
  case c of
  '1': begin
    var r1,r2:integer;
    Writeln('Введите пару номеров строк: '); Read(r1,r2);
    if (r1<=m) and (r2<=m) and (r1<>r2) and (r1*r2>0) then begin
      Dec(r1); Dec(r2);
      for var j:=0 to n-1 do Swap(a[r1,j],a[r2,j]);
        for var i:=0 to m-1 do begin
          for var j:=0 to n-1 do Print(a[i,j]);
          Println
        end
      end
    else Writeln('Введены недопустимые номера строк')
    end;
  '2': begin
    var c1,c2:integer;
    Writeln('Введите пару номеров столбцов: '); Read(c1,c2);
    if (c1<=n) and (c2<=n) and (c1<>c2) and (c1*c2>0) then begin
      Dec(c1); Dec(c2);
      for var i:=0 to m-1 do Swap(a[i,c1],a[i,c2]);
      for var i:=0 to m-1 do begin
          for var j:=0 to n-1 do Print(a[i,j]);
          Println
        end
      end
    else Writeln('Введены недопустимые номера столбцов')
    end;
  else Writeln('Массив не меняется')
  end
end.

Тестовые решения:
Введите количество строк и столбцов массива: 6 4
63 32 31 99
14 92 54 37
79 90 93 95
41 55 95 26
98 44 57 13
80 45 61 24
1- поменять местами строки, 2- столбцы:
1
Введите пару номеров строк:
2 5
63 32 31 99
98 44 57 13
79 90 93 95
41 55 95 26
14 92 54 37
80 45 61 24

Введите количество строк и столбцов массива: 3 5
47 17 78 15 37
35 73 60 31 91
13 17 92 95 88
1- поменять местами строки, 2- столбцы:
2
Введите пару номеров столбцов:
1 5
37 17 78 15 47
91 73 60 31 35
88 17 92 95 13

Введите количество строк и столбцов массива: 3 3
95 60 52
67 35 28
31 94 60
1- поменять местами строки, 2- столбцы:
3
Массив не меняется

Введите количество строк и столбцов массива: 4 3
12 53 74
80 20 44
64 50 43
42 13 35
1- поменять местами строки, 2- столбцы:
1
Введите пару номеров строк:
4 7
Введены недопустимые номера строк
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота