М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
tanyanovikova5
tanyanovikova5
05.04.2023 23:40 •  Информатика

Ошибка времени выполнения: индекс находился вне границ не так? const n=30; var i,j,p,q: integer; c: array[1..n,1..n+1] of integer; a: array[1..n+1] of integer; b: array[1..n+1] of integer; begin readln(q,p); for i: =1 to n do for j: =1 to n+1 do c[i,j]: =random(28)+1; begin for i: =1 to n+1 do p: =random(28)+1; end; for j: =1 to n+1 do begin q: =random(28)+1; end; for i: =n downto p do// вставка p for j: =1 to n+1 do// c[i+1,j]: =c[i,j]; // for j: =1 to n+1 do c[p,j]: =a[i]; for j: =n+1 downto q do for i: =1 to n+1 do c[i,j+1]: =c[i,j]; for i: =1 to n+1 do c[i,q]: =b[i]; for i: =1 to n+1 do begin for j: =1 to n+1 do write(c[i,j]: 2); writeln; // end; end.

👇
Ответ:
poliaprokopets
poliaprokopets
05.04.2023
Обратите внимание на цикл
for i:=n downto p do // вставка p
   for j:=1 to n+1 do
     c[i+1,j]:=c[i,j];
У Вас массив с описан как c:array[1..n,1..n+1] of integer;
В то же время, первый индекс у Вас в цикле меняется от  n+1 до p+1 (n+1 выходит за границу), а второй - от 1 до n+1 (это допустимо)
4,5(66 оценок)
Открыть все ответы
Ответ:
лена6385
лена6385
05.04.2023
//Pascal
//Первый вариант
var a, b:integer;
BEGIN
  write('Введите первое число = '); readln(a);
  write('Введите второе число = '); readln(b);
  writeln(a-(-b));
END.

//---------------------------------------
//Второй вариант
function recSumBits(a, b:integer):integer;
var o1, o2: integer;
begin
  if b = 0 then recSumBits := a
  else
  begin
    o1 := a xor b;
    o2 := (a and b) shl 1;
    recSumBits := recSumBits(o1, o2);
  end;
end;

var a, b: integer;
BEGIN
  write('Введите первое число = '); readln(a);
  write('Введите второе число = '); readln(b);
  writeln(recSumBits(a, b));
  readln;
END.

Паскаль. без знака + написать код для сложения двух цифр.
4,5(85 оценок)
Ответ:
Kolosov77
Kolosov77
05.04.2023
// PascalABC.NET 3.3, сборка 1590 от 03.12.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
  a:=a.Reverse.ToArray; a.Println
end.

Пример
n= 13
1 80 -54 36 84 -43 -88 43 36 9 -14 -19 -38
-38 -19 -14 9 36 43 -88 -43 84 36 -54 80 1

Вариант для вывода элементов массива в 8 позициях:

begin
  var a:=ArrRandom(ReadInteger('n='),-99,99);
  a.Select(t->Format('{0,8}',t)).Println('');
  a:=a.Reverse.ToArray;
  a.Select(t->Format('{0,8}',t)).Println('')
end.

Перестановка одномерного массива в обратном порядке. значение длины массива вводиться с клавиатуры .
4,5(39 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ