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

В текстовом процессоре создайте новый документ. Наберите следующий текст содержащий символы отсутстувующие на клавиатуре.

👇
Открыть все ответы
Ответ:
helpmeplease24
helpmeplease24
19.07.2021
//PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016)
function
Transpose(a: array[,] of integer): array[,] of integer;
//Поворот на 90гр по часовой стрелке
begin
  var m := Length(a, 0);
  var n := Length(a, 1);
  Result := new integer[n, m];
  for var i := 0 to n-1 do begin
    for var j := 0 to m-1 do
      Result[i, j] := a[m-1-j, i];
  end;
end;

begin
  var n := ReadInteger('Введите n:');
//Заполнение матрицы NxN сл. числами и вывод на экран
  var a :=MatrixRandom(n, n);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(a[i,j]);
    println;
    end;
     println;

  Println('поворот влево на 90 гр');
  var b := Transpose(a);
  b:=Transpose(b);
  b:=Transpose(b);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(b[i,j]);
    println;
    end;
  println;

  Println('поворот вправо на 90гр');
  b := Transpose(a);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(b[i,j]);
    println;
    end;
 println;

 Println('поворот на 180 гр');
  b := Transpose(a);
  b := Transpose(b);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(b[i,j]);
    println;
    end;
end.
4,5(86 оценок)
Ответ:
simpleam
simpleam
19.07.2021
Не такое оно и сложное.
Главная проблема - то, что между словами может быть несколько пробелов.
Устраним её, написав функцию, которая оставляла бы между словами по 1 пробелу:

function RemoveSpaces(str : string) : string;
begin
   //Тут цикл for, переписанный через while
   var iter := 1;
   //Проходим по строке
   while (iter < str.Length) do
   begin
      //Если видим 2 пробела подряд, удаляем 1 и откатывает итератор.
      if (str[iter] = ' ') and (str[iter + 1] = ' ') then
         begin
            str := str.Remove(iter, 1);
            iter -= 1;
         end;
      iter += 1;
   end;
   RemoveSpaces := str;
end;

Теперь мы можем получить кол-во слов очень просто:

function CalcWords(str : string) : integer;
begin
   CalcWords := RemoveSpaces(str).Split(' ').Count();
end;

Т.е. мы делим строку на массив через пробелы, и считаем кол-во элементов массива.

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