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

Написать 2 программы, 1.описать функцию, которая возвращает количество слов, в которых содержится хотя бы одна заданная буква. 2.описать процедуру, которая печатает все буквы, входящие в строку менее к раз, с указанием количества вхождений.

👇
Ответ:
arscool
arscool
22.04.2022
1)function Counter(s:string;c:char):integer;
var sub:string;
i,k:integer;
begin;
k:=0;
while pos(' ',s)<>0 do
 begin;
  for i:=1 to pos(' ',s)-1 do
    sub:=sub+s[i];
      if pos(c,sub)<>0 then inc(k);
      delete(s,1,pos(' ',s));
      delete(sub,1,length(sub));
end;
if pos(c,s)<>0 then inc(k);
Counter:=k;
end;

2)procedure StrangeSeq(s:string;k:integer);
var i,cou:integer;
sub:string;
ar:array of integer;
arc:array of char;
begin;
setlength(ar,length(s)+1);
setlength(arc,length(s)+1);
cou:=length(s);
while cou<>0 do
begin;
 inc(i);
 arc[i]:=s[1];
 sub:=s[1];
  while pos(sub,s)<>0 do
   begin;
   inc(ar[i]);
   delete(s,pos(sub,s),1);
   end;
  cou:=length(s);
  if (ar[i]>k) and (arc[i]<>' ') then
  writeln('Sign:',arc[i],' count:',ar[i]);
end;
end;
4,6(3 оценок)
Ответ:
mocalov555
mocalov555
22.04.2022
Вот ещё варианты решения задач (покороче, без вложенных циклов):
1.
function kw(s:string; c:char):integer;
var sl:string; n,k,i:integer;
begin
n:=0; k:=0;
s:=s+'.';
for i:=1 to length(s) do
 if s[i] in [' ',',',';','.']
    then begin if k>0 then inc(n); k:=0; end
   else if s[i]=c then inc(k);
kw:=n;
end;
var st:string; c:char;
begin
st:='program,  begin,  procedure, var, div, array.';
c:='r';
writeln('m=',kw(st,c));
end.

2. Здесь анализируются только строчные английские буквы. При желании можно добавить заглавные англ. и русские. Всё будет аналогично.
procedure pk(s:string;k:integer);
var a:array['a'..'z'] of integer; i:integer; c:char;
begin
for c:='a' to 'z' do a[c]:=0;
for i:=1 to length(s) do
  if s[i] in ['a'..'z'] then inc(a[s[i]]);
for c:='a' to 'z' do if a[c]<k then writeln(c,' - ',a[c])
end;
var st:string; k:integer;
begin
st:='program,  begin,  procedure, var, div, array.';
k:=2;
pk(st,k);
end.
4,8(56 оценок)
Открыть все ответы
Ответ:
evbarseguan
evbarseguan
22.04.2022
Задача 1

const max_size = 100;

var a: array[1..max_size] of real;

 i, n: integer;

 f: boolean;

begin

 read(n); {Во всех задачах считаю, что n <= max_size}

 for i := 1 to n do

   read(a[i]);

 f := true;

 for i := 2 to n do

   f := f and (a[i] > a[i - 1]);

 write(f)

end.

Пример ввода:

4

1 2 3 4

Пример вывода:

TRUE

Задача 2

const max_size = 100;

var a: array[1..max_size] of real;

 i, n, imax, imin: integer;

 temp: real;

begin

 read(n);

 for i := 1 to n do

   read(a[i]);

 imax := 1;

 imin := n;

 for i := 2 to n do

   if a[i] > a[imax] then

     imax := i;

 for i := n - 1 downto 1 do

   if a[i] < a[imin] then

     imin := i;

 temp := a[imax];

 a[imax] := a[imin];

 a[imin] := temp;

 for i := 1 to n do

   write(a[i], ' ');

end.

Пример ввода:

4

1 2 3 4

Пример вывода:

4 2 3 1

Задача 3

const max_size = 100;

var x: array[1..max_size] of integer;

 i, n, temp: integer;

begin

 read(n);

 for i := 1 to n do

   read(x[i]);

 for i := 1 to n div 2 do

 begin

   temp := x[i];

   x[i] := x[n - i + 1];

   x[n - i + 1] := temp;

 end;

 for i := 1 to n do

   write(x[i], ' ');

end.

Пример ввода:

4

1 2 3 4

Пример вывода:

4 3 2 1

Задача 4

const max_size = 100;

var x: array[1..max_size] of integer;

 i, n, sum: integer;

begin

 read(n);

 for i := 1 to n do

   read(x[i]);

 for i := 1 to n do

   if i = x[i] then

     sum := sum + x[i];

 write(sum)

end.

Пример ввода:

4

1 2 3 4

Пример вывода:

10

4,5(39 оценок)
Ответ:

using System;

using System.Collections.Generic;


namespace Num

{


class Program

   {

       static void Main(string[] args)

       {

           Console.WriteLine("Введите количество элементов: ");

           int N = Int32.Parse(Console.ReadLine());


           Console.WriteLine("Введите элементы через enter: ");

           List<int> numbers = new List<int>();

           for(int i = 0; i < N; ++i)

           {

               int temp = Int32.Parse(Console.ReadLine());

               numbers.Add(temp);

           }



           Console.WriteLine("Элемены значения которых совпадают с их индексом:");

           for (int i = 0; i < N; ++i)

           {

               if (numbers[i] == i)

                   Console.Write(numbers[i] + " ");

           }

           Console.WriteLine();


           Console.ReadKey();


       }

   }

}

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