Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 10

Заменить найденное число в исходной строке на выражение вида ’MM минут SS секунд’

15.11.2013, 15:09. Показов 1189. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пожалуйста помогите с программой: Пользователь вводит предложение, которое помимо слов содержит целые числа,
принадлежащие диапазону от 1 до 5000. Известно, что первое число во введенном
предложении – это количество секунд. Найти данное число и перевести его к виду
минуты/секунды.
Заменить найденное число в исходной строке на выражение вида ’MM минут SS
секунд’ с учетом корректных окончаний выводимых по-русски слов. Например, было
’прошло 261 от начала’, стало ’прошло 4 минуты 21 секунда от начала’.
Я нашёл подобную на этом сайте, но в ней переделывается последнее число, а мне нужно первое, пожалуйста поменяйте что нужно, буду очень благодарен)
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
const cf=['0'..'9'];
var s,s1,smn,ssc,s2:string;
    i,j,n:byte;
    sm,sc,mn,k:integer;
    
begin
writeln('Введите предложение, содержащее в том числе числа от 1 до 3599');
read(s);
s1:='';
n:=length(s);
i:=n;
while (i>=1)and(s1='') do
if (s[i] in cf)and((i=n)or not (s[i+1] in cf))then
 begin
  j:=i;
  while(j>=1)and(s[j] in cf) do
   begin
    s1:=s[j]+s1;
    j:=j-1;
   end;
 end
else i:=i-1;
val(s1,sm,k);
writeln('Последнее число=',sm);
sc:=sm mod 60;
mn:=sm div 60;
str(mn,smn);
str(sc,ssc);
case mn mod 10 of
0,5..9:smn:=smn+' минут';
1:smn:=smn+' минута';
2..4:smn:=smn+' минуты';
end;
case sc mod 10 of
0,5..9:ssc:=ssc+' секунд';
1:ssc:=ssc+' секунда';
2..4:ssc:=ssc+' секунды';
end;
s2:=' '+smn+' '+ssc+' ';
delete(s,j+1,length(s1));
insert(s2,s,j+1);
write(s);
End.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.11.2013, 15:09
Ответы с готовыми решениями:

Найти число пробелов в строке и заменить их на номер по порядку в исходной строке
Задание: Во введенной пользователем строке найти число пробелов и заменить все пробелы на их номер по порядкув исходной строке. Например...

Вычислить значение арифметического выражение вида <число> + <число> =, содержащееся в строке
Упражнение 6. Дана строка, содержащая арифметическое выражение вида &lt;число&gt; + &lt;число&gt; =. Требуется вычислить значение суммы.

Перевод секунд в строку вида "5 минут"
Здравствуйте. Предположим, в переменной у меня есть количество секунд. (например, 3601) Приложение должно перевести секунды в строку...

3
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
15.11.2013, 16:15
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
uses crt;
const cf=['0'..'9'];
var s,s1,smn,ssc,s2:string;
    i,j,n:byte;
    sm,sc,mn,k:integer;
begin
writeln('Введите предложение, содержащее в том числе числа от 1 до 5000');
read(s);
s1:='';
n:=length(s);
i:=1;
while (i<=n)and(s1='') do
if (s[i] in cf)and((i=1)or not (s[i-1] in cf))then
 begin
  j:=i;
  while(j<=n)and(s[j] in cf) do
   begin
    s1:=s1+s[j];
    j:=j+1;
   end;
 end
else i:=i+1;
val(s1,sm,k);
writeln('Первое число=',sm);
sc:=sm mod 60;
mn:=sm div 60;
str(mn,smn);
str(sc,ssc);
case mn mod 10 of
0,5..9:smn:=smn+' минут';
1:smn:=smn+' минута';
2..4:smn:=smn+' минуты';
end;
case sc mod 10 of
0,5..9:ssc:=ssc+' секунд';
1:ssc:=ssc+' секунда';
2..4:ssc:=ssc+' секунды';
end;
s2:=' '+smn+' '+ssc+' ';
delete(s,j-length(s1),length(s1));
insert(s2,s,j-length(s1));
write(s);
End.
1
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 10
15.11.2013, 18:03  [ТС]
Круто!! Спасибо огромное, а может тогда и с такой программкой поможете : Составить программу, которая выделяет отдельные слова и числа из введенной
пользователем строки. Словом считается последовательность букв, разделяемых одним
или несколькими пробелами или знаками препинания. Числом считается
последовательность цифр, разделяемых одним или несколькими пробелами, которая
может включать точку в качестве разделителя целой и дробной части и знак минус,
стоящий в начале.
Слова поместить в массив слов, числа поместить массив чисел. Найти в массивах
самое длинное слово и максимальное число.
Вывести на экран слова в столбик. Например, если исходная строка ’Длина пути
равна 1 метр.’, то на экран будет выведено:
Д п р м
л у а е
и т в т
н и н р
а а

Добавлено через 1 минуту
вторая буква "а" должна быть под "н"
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
15.11.2013, 18:10
Весельчак111, Это другая тема, и я ее уже создал.
Выделить отдельные слова и числа из введенной пользователем строки.
и прекратите здесь писать не по теме
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.11.2013, 18:10
Помогаю со студенческими работами здесь

Дана строка, содержащий математическое выражение вида <Число> <Операция> <Число>
Дана строка, содержащий математическое выражение вида &lt;Число&gt; &lt;Операция&gt; &lt;Число&gt;, где &lt;Операция&gt; = {+, -, *, /}. Создать...

Вывести "До конца матча осталось N минут S секунд", согласовав "минут" и "секунд" с числовыми значениями
Для заданых натуральных чисел N и S (1&lt;=N, S&lt;60), вывести предложение &quot;До конца матча осталось N минут S секунд&quot;, соглосовав слова...

Функция перевода секунд в соответствующее количество часов, минут, секунд
Написать программу, в которой пользователь задаѐт количество секунд. Это значение передаѐтся в процедуру, которая переводит секунды в...

Описать процедуру time (x, y ,z) вычисляющую количество минут У и секунд Z, по введенному количеству секунд Х
Описать процедуру time (x, y ,z) вычисляющую количество минут У и секунд Z, по введенному колич секунд Х ( х входной, у и z выходные...

Перевести время из секунд в целое значение минут и секунд
Привет! Нужно написать программу, которая переводит время из секунд в целое значение минут и секунд. Нашел на форуме похожую под С++, но...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru