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

Программа на pascal abc. с клавиатуры вводится маленькими буквами строка, необходимо для каждого символа вывести, а) сколько раз его употребили и б) частоту употребления (отношение а к длине строки, не считая пробелов). примечание 1. выводить только для маленьких букв, пробелы не трогать. пример. вводится строка 'раз два три'. нужно вывести: р - 2 раза, ч.у - 0.27 //округление до сотых ну и так далее. два раза один и тот же символ не выводить! вводить новые переменные можно в любом количестве.

👇
Ответ:
Posrednikova04
Posrednikova04
28.04.2021
var 
len,i:integer;
st:string;
c:char;
ar:array['а'..'я'] of integer;
begin
readln(st);

for i:=1 to length(st) do begin
  if (st[i] in ['а'..'я']) then inc(ar[st[i]]); 
  if (st[i] <> ' ') then inc(len);
  if (st[i] = 'ё') then inc(yo);
end;

for c:='а' to 'я' do 
  if (ar[c] <> 0) then writeln(c,'- ',ar[c], ' ч.у - ',ar[c]/len:1:2);
  if (yo <> 0) then writeln('ё', '- ', yo, ' ч.у - ', yo / len:1:2);
end.
4,7(1 оценок)
Открыть все ответы
Ответ:

#include <iostream>

#include <algorithm>

using namespace std;

int main()

{

int n(0),m(0);

cin >> n >> m;

int matrix[n][m];

char arr[n][m];

arr[0][0] = '0';

for(int i = 0;i<n;++i){

for(int j = 0;j<m;++j){

cin >> matrix[i][j];

if(!i && !j)continue;

if(!i){

matrix[i][j] += matrix[i][j-1];

arr[i][j] = 'R';

}

if(!j){

matrix[i][j] += matrix[i-1][j];

arr[i][j] = 'D';

}

if(i && j){

matrix[i][j] += max(matrix[i-1][j],matrix[i][j-1]);

if(max(matrix[i-1][j],matrix[i][j-1]) == matrix[i-1][j])arr[i][j] = 'D';

else arr[i][j] = 'R';

}

}

}

cout << matrix[n-1][m-1];

cout << "\n";

string s;

for(int i = n-1;;){

for(int j = m-1;;){

if(arr[i][j] == '0'){

reverse(s.begin(),s.end());

s.erase(0,1);

cout << s << endl;

return 0;

}

s.push_back(arr[i][j]);

s.push_back(' ');

if(arr[i][j] == 'R'){

j -= 1;

continue;

}

if(arr[i][j] == 'D'){

i -= 1;

continue;

}

}

}

cout << endl;

return 0;

}

Объяснение:

4,7(17 оценок)
Ответ:
sabah2017
sabah2017
28.04.2021
// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
begin
  var k:=0;
  var Terminate:boolean;
  repeat
    Terminate:=True;
    var n:=ReadInteger('Введите номер месяца:');
    case n of
    1,3,5,7,8,10,12:Writeln('31 день');
    4,6,9,11:Writeln('30 дней');
    2:Writeln('28 дней в обычном году и 29- в високосном')
    else begin
      Writeln('Вы ошиблись, номер должен быть от 1 до 12');
      Inc(k);
      Terminate:=False
      end
    end
  until Terminate;
  if k>0 then Writeln('Вы ошиблись ',k,' раз(а).')
end.

Тестовое решение:
Введите номер месяца: 18
Вы ошиблись, номер должен быть от 1 до 12
Введите номер месяца: 0
Вы ошиблись, номер должен быть от 1 до 12
Введите номер месяца: 5
31 день
Вы ошиблись 2 раз(а).
4,8(96 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ