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

Напишите функцию, которая определяет, сколько раз входит в символьную строку заданное слово.

👇
Ответ:
dashaspirik1
dashaspirik1
29.10.2022
S - Заданная символьная строка
s2 - Заданное слово
Идея проста: мы проходим по заданной строке и копируем подстроку, начиная с символа i, с количеством символов, равным количеством символов заданного слова. Например:
Символьная строка:
34строка3254строка
Заданное слово:
строка
Мы просто берём и проходим циклом
34строка3254строка
34строка3254строка
34строка3254строка
...
и т.д. до самого конца. Если рассматриваемая нами подстрока равна заданному слову, то мы увеличиваем счётчик k на 1, после завершения цикла мы просто возвращаем значение нашего счётчика - количество вхождений заданного слова в строку.
P.S. Мы идём циклом не от 1 до length(s), а от 1 + l1 - l2. К примеру в нашей строке
нет смысла рассматривать подстроку, начиная отсюда
34строка3254строка
т.к. символов в ней явно меньше чем в самом заданном слове, следовательно, дальше оно нам уже не попадётся:)
Исходный код в приложении.

Напишите функцию, которая определяет, сколько раз входит в символьную строку заданное слово.
4,7(46 оценок)
Открыть все ответы
Ответ:
ghj42
ghj42
29.10.2022
Var
  m,n,i,j,max,min,imx,imn,jmn,jmx,k,p:integer;
  s:real;
  a:array[,]of integer;
begin
write('Число строк: ');
readln(m);
write('Число столбцов: ');
readln(n);
setlength(a,m+1,n+1);
for i:=1 to m do
  begin
  writeln('Вводите элементы строки ',i,' по одному');
  for j:=1 to n do    readln(a[i,j]);
  end;
min:=a[1,1];
max:=a[1,1];
imn:=1;
jmn:=1;
imx:=1;
jmx:=1;
for i:=1 to m do
  for j:=1 to n do
    begin
    if a[i,j]<min then
      begin
      min:=a[i,j];
      imn:=i;
      jmn:=j;
      end;
    if a[i,j]>max then
      begin
      max:=a[i,j];
      imx:=i;
      jmx:=j;
      end;
    end;
p:=a[imn,jmn];
a[imn,jmn]:=a[imx,jmx];
a[imx,jmx]:=p;
writeln('Измененный массив:');
for i:=1 to m do
  begin
  for j:=1 to n do    write(a[i,j]:5);
  writeln;
  end;
write('Введите номер строки: ');
readln(i);
for j:=1 to n do
  if a[i,j]<0 then
    begin
    s:=s+a[i,j];
    k:=k+1;
    end;
writeln('Ср.ариф. отр.чисел в строке: ',s/k);  
end. 
4,5(69 оценок)
Ответ:
derevnina450
derevnina450
29.10.2022
Для всех заданий воспользуемся формулой N=2^i? где N -количество цветов, а i -количество бит на 1 пиксель.
Задача 1.
N=2^4=16 цветов.

Задача 2.
N=224=2^i, поскольку для кодирования 128 цветов необходимо 7 бит, а для кодирования 256 цветов -8 бит, выбираем большее число, то есть 8 бит или 1 байт.

Задача 3.
65536 это 2^16⇒требуется 16 бит или 2 байта.

Задача 4.
1. Узнаем общее количество пикселей 1280*1024=1310720
2. Полученное число умножаем на глубину цвета 1310720*32=41943040 бит = 41943040/8 = 5242880 байт = 5242880/1024 = 5120 кб =5120/1024 = 5 Мб
ответ: 5 Мб
4,4(36 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ