Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 10.08.2018
Сообщений: 28

Напишите программу, которая вычисляет процентное содержание символов G и C в введенной строке (Независимо от регистра)

10.08.2018, 16:48. Показов 2477. Ответов 6

Студворк — интернет-сервис помощи студентам
Компилятор выдает:"Program1.pas(17) : Ожидалось константное выражение"
Что нужно поправить?

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var g,c : char;
    str : string;
  n,m,s : integer;
    o,p : real;
    k   : byte;
begin
g:=g;
c:=c;
o:= n / s * 100;
p:= m / s * 100;
s:=length(str);
n:=0; //для g//
m:=0; //для c//
read(str);
for k:= 1 to s do
case str[k] of
g : inc(n);
c : inc(m);
end;
writeln(o);
writeln(p);
end.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.08.2018, 16:48
Ответы с готовыми решениями:

Напишите программу, которая вычисляет длину введенной с клавиатуры строки
Напишите программу, которая вычисляет длину введенной с клавиатуры строки.

Найти процентное содержание каждой цифры во введенной последовательности
С клавиатуры вводится последовательность чисел, разделенных пробелами. Ввод прекращается при нажатии клавиши Enter. Произвести следующие...

Найти процентное содержание каждой цифры во введенной последовательности
С клавиатуры вводится последовательность чисел, разделенных пробелами. Ввод прекращается при нажатии клавиши Enter. Найти процентное...

6
Эксперт Pascal/Delphi
2388 / 1300 / 1492
Регистрация: 29.08.2014
Сообщений: 4,665
10.08.2018, 17:06
Westonefer, вы бы для начала комментарий к каждой строке написали, а то такое ощущение, что листок с кодом был свернут в 4 раза и вы написали по порядку 1, 3, 2 и 4 части кода
0
 Аватар для Human_foot
156 / 114 / 36
Регистрация: 27.06.2018
Сообщений: 257
10.08.2018, 17:06
Цитата Сообщение от Westonefer Посмотреть сообщение
g:=g;
Капитан очевидность

Имелось в виду невозможность использовать там переменные

Pascal
1
2
case str[k] of
'g' : inc(n);

Цитата Сообщение от Westonefer Посмотреть сообщение
o:= n / s * 100;
Глобальная s инициализируется нулём И можно ли делить на ноль? Дальше тоже такие же квантовые явления проявляются
0
0 / 0 / 0
Регистрация: 10.08.2018
Сообщений: 28
10.08.2018, 17:26  [ТС]
Цитата Сообщение от Joy Посмотреть сообщение
Westonefer, вы бы для начала комментарий к каждой строке написали, а то такое ощущение, что листок с кодом был свернут в 4 раза и вы написали по порядку 1, 3, 2 и 4 части кода
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var g,c : char;
    str : string;
    n,m : integer;
    o,p : real;
    k   : byte;
begin
o:= n / length(str) * 100; //Выражение для g//
p:= m / length(str) * 100; //Выражение для c//
n:=0; //для g//
m:=0; //для c//
read(str); //Считывает введенную строку//
for k:= 1 to length(str) do //Перебирает символы строки от начала до конца//
case str[k] of 
'g' : inc(n);//Если символом является g,добавляет 1 к преидущему кол-ву//
'c' : inc(m);//Если символом является c,добавляет 1 к преидущему кол-ву//
end;
writeln(o);//При помощи заданного выражения считает кол-во символа g в строке,%//
writeln(p);//При помощи заданного выражения считает кол-во символа c в строке,%//
end.
Добавлено через 1 минуту
Цитата Сообщение от Human_foot Посмотреть сообщение
Капитан очевидность

Имелось в виду невозможность использовать там переменные

Pascal
1
2
case str[k] of
'g' : inc(n);


Глобальная s инициализируется нулём И можно ли делить на ноль? Дальше тоже такие же квантовые явления проявляются
Я поправил это. Теперь компилируется ,но после введения строки пишет:"не число"
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
10.08.2018, 17:30
Лучший ответ Сообщение было отмечено Westonefer как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var str : string;
  n,m,s : integer;
    o,p : real;
begin
writeln('Введите строку, содержащую символы C,c,G,g');
readln(str);
s:=length(str);
n:=0; //для g//
m:=0; //для c//
for k:=1 to s do
case upcase(str[k]) of
'G' : inc(n);
'C' : inc(m);
end;
if n=0 then writeln('Символов G,g нет')
else 
 begin
  o:=100*n/s;
  writeln('Процентное содержание символов G,g=',o:0:2);
 end; 
if m=0 then writeln('Символов C,c нет')
else 
 begin
  p:=100*m/s;
  writeln('Процентное содержание символов C,c=',p:0:2);
 end; 
end.
1
0 / 0 / 0
Регистрация: 10.08.2018
Сообщений: 28
10.08.2018, 17:36  [ТС]
Благодарю за помощь!
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
13.08.2018, 06:39
Это PABC.NET!
Здесь всё проще:
Pascal
1
2
3
4
5
6
begin
  var s := ReadLnString('Введите строку:').ToLower;
  WriteLn('содержание C и G = ', (s.Count(ch->'cg'.IndexOf(ch)>-1)/s.Length).ToString('p'));
  WriteLn('содержание C = ', (s.Count(ch->'c'=ch)/s.Length).ToString('p'));
  WriteLn('содержание G = ', (s.Count(ch->'g'=ch)/s.Length).ToString('p'));
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.08.2018, 06:39
Помогаю со студенческими работами здесь

Составить программу, которая вычисляет сумму кодов символов в строке «1+2». Результат поместить в память
Помогите пожайлуста Добавлено через 1 минуту результат поместить в память Добавлено через 53 минуты tasm

Написать программу, которая для введенной строки выдает список символов, используемых в этой строке
Имя входного файла стандартный ввод Имя выходного файла стандартный вывод Ограничение по времени 2 секунды Ограничение по...

Напишите программу, которая заменяет во всей строке одну последовательность символов на другую
Напишите программу, которая заменяет во всей строке одну последовательность символов на другую. Я пыталась сделать что-то такое, var ...

Напишите программу, которая печатает гистограмму появления разнообразных введенных символов во входной строке
Напишите программу, которая печатает гистограмму появления разнообразных введенных символов во входной строке не пойму как эту...

Работа со строками (вычислить сумму введенных чисел, найти процентное содержание каждой цифры во введенной последовательности)
Помогите написать программу, очень надо... Вопрос стипушеньки...пожалуйста) С клавиатуры вводится последовательность чисел,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru