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

:напишите функцию revpositn, которая получает два параметра str1 и str2 типа string и возвращает позицию начала первого появления str1 текста, содержащего str2 в обратном порядке. например revpositn('внешность','сон') должно возвратить 5, потому что строка 'нос' (перевернутое сон) содержится в слове 'внешность' начиная с 5-й позиции. заметим также, что revpositn('внешность', 'нос') дает 0.( обьясните подробно как делать )

👇
Ответ:
Karaokpiao
Karaokpiao
29.10.2022

var
str1,str2:string;
c:char;
i:integer;
begin
write('Введите первое слово: ');
readln(str1);
write('Введите второе слово: ');
readln(str2);
i:=1;
while i<=(length(str2) div 2) do // Переворот второй строки.
  begin                                            // Строка  - массив символов, и как в массиве просто
    c:=str2[i];                                    // меняем элементы местами с использованием
    str2[i]:=str2[length(str2)-i+1]; // вс переменной.
    str2[length(str2)-i+1]:=c;
    i:=i+1;
  end;
  writeln(pos(str2,str1));
  end.

4,6(65 оценок)
Открыть все ответы
Ответ:
Hamrod
Hamrod
29.10.2022
1. В приведенном коде ошибка. Не хватает ";" в третьей строке снизу.
2. Немного изменим ваш код и получим искомое значение x
Искомое число х = 16293

var
  x, y, a, b, k: integer;

begin
  k:=10000;
  repeat
    x:=k;
    a := 0; b := 0; y := 1;
    while x > 0 do
    begin
      if (x mod 10) mod 2 = 0
        then
        a := a * 10 + x mod 10
      else begin
        y := y * 10;
        b := b * 10 + x mod 10
      end;
      x := x div 10
    end;
    a := a * y + b;
    k := k + 1;
    until a = 26391;
    writeln(a:8, k-1:8); 
end.

 
4,4(66 оценок)
Ответ:
artyrik412002
artyrik412002
29.10.2022
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
procedure MatPrint(a:array[,] of integer);
begin
  for var i:=0 to Length(a,0)-1 do begin
    for var j:=0 to Length(a,1)-1 do Write(a[i,j]:4);
    Writeln
    end
end;

procedure MatReplaceOdd(a:array[,] of integer; value:integer);
begin
  for var i:=0 to Length(a,0)-1 do
    for var j:=0 to Length(a,1)-1 do
      if a[i,j].IsOdd then a[i,j]:=value
end;

begin
  var n,m:integer;
  Write('Задайте число строк и столбцов матрицы: ');
  Read(n,m);
  var a:=MatrixRandom(n,m,-99,99);
  Writeln('Исходный массив');
  MatPrint(a);
  MatReplaceOdd(a,26);
  Writeln('Результирующий массив');
  MatPrint(a)
end.

Тестовое решение
Задайте число строк и столбцов матрицы: 5 7
Исходный массив
 -14  86  52 -85 -52 -79  78
  20 -80  68  89 -45 -45 -36
 -41 -60  96  43  16  56 -58
 -39  81   1  26 -15 -98  89
  57 -51  79 -28 -24 -63 -74
Результирующий массив
 -14  86  52  26 -52  26  78
  20 -80  68  26  26  26 -36
  26 -60  96  26  16  56 -58
  26  26  26  26  26 -98  26
  26  26  26 -28 -24  26 -74
4,6(14 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ