Буду очень сильно благодарен за помощь.
М | Название изменено. Правила, п.4 |
Сообщение отредактировано: Lapp -
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
MaxiRush |
![]()
Сообщение
#1
|
|||
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: ![]() ![]() ![]() |
ТоварисЧи, огромная просьба о помощи. Нужно написать программу, которая решает две задачи: 1-даны пары целых чисел. Если числа не равны, то следует каждое из них заменить одним и тем же числом, равным большему из исходных, а если равны, то заменить числа на единицы. 2- дана строка. Подсчитать, сколько в ней букв r,k,t.
Буду очень сильно благодарен за помощь.
Сообщение отредактировано: Lapp - |
|||
TarasBer |
![]()
Сообщение
#2
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Было бы что сложное, мы бы головы поломали. А так с нуля писать простую программу - неинтересно. Покажи хоть свой вариант кода, посмотрим, что не так.
-------------------- |
MaxiRush |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: ![]() ![]() ![]() |
1-я задача, ток я не зная как быть с парами чесел, сделал для 2-х
program lol;
var m,n: integer;
x:=10000000;
y:=1;
Begin
Write ('m,n=');
Read(m,n);
if m<>n then begin m:=x; n:=x; end
else begin m:=y; n:=y;end;
Write('m=',m,' ','n=',n);
end.
2-я program string_11;
var s:string;
a,b,c,i:integer;
begin write('введите строку');
readln(s);
a:=0;b:=0;c:=0;
for i:=1 to length(s) do
begin if s[i]='r' then a:=a+1;
if s[i]='k' then b:=b+1;
if s[i]='t' then c:=c+1
end;
writeln('количество букв r=',a);
writeln('количество букв k=',b);
writeln('количество букв t=',c);
readln;
end.
Ну а посложнее- в условии сказано, что в основной программе должен быть оператор выбора задач, оформленных в виде подпрограмм. Очень прошу помочь, с паскалем у меня чего-то туговато... Сообщение отредактировано: MaxiRush - |
TarasBer |
![]()
Сообщение
#4
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
> if m<>n then begin m:=x; n:=x; end
Надо по условию заменить на большее из исходных. Почему ты меняешь на 10000000? Надо так:
if m <> n then begin
if m>n then
n:=m
else
m := n;
end;
По второй всё вроде верно, только названия переменных дурацкие. Вместо a,b,c лучше напиши count_r, count_k, count_t. Добавлено через 4 мин. Чтобы оформить задачу в подпрограмму, надо выделить кусок от var до end и написать перед ним procedure TwoNumbers; потом скопировать к нему такой же кусок из второй программы, в конец дописать begin end с выбором задачи. Типа такого:
program hz;
procedure TwoNumbers;
var
...
begin
...
end;
procedure Find_rkt;
var
...
begin
...
end;
var
task: integer;
begin
repeat
Write('enter task number: ');
ReadLn(task);
case task of
1: TwoNumbers();
2: Find_rkt();
end;
until task = 0;
end.
-------------------- |
MaxiRush |
![]()
Сообщение
#5
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: ![]() ![]() ![]() |
Тем, у кого будет подобное задание... Вот что получилось:
program hz;
uses crt;
procedure TwoNumbers;
var m,n: integer;
y:=1;
Begin
Write ('Введите числа m,n=');
Read(m,n);
if m=n then begin m:=y; n:=y; end
else begin
if m>n then
n:=m
else
m := n;
end;
Write('m=',m,' ','n=',n);
end;
procedure Find_rkt;
var s:string;
a,b,c,i:integer;
begin write('введите строку');
readln(s);
a:=0;b:=0;c:=0;
for i:=1 to length(s) do
begin if s[i]='r' then a:=a+1;
if s[i]='k' then b:=b+1;
if s[i]='t' then c:=c+1
end;
writeln('количество букв r=',a);
writeln('количество букв k=',b);
writeln('количество букв t=',c);
readln;
end;
var
task: integer;
begin
repeat
writeln(' выберите программу : 1.первая, 2.вторая');
ReadLn(task);
case task of
1: TwoNumbers();
2: Find_rkt();
end;
until task = 0;
end.
Очень благодарен за помощь, если надо кидану денюшку на счет или номер, пиши если что в личку) Сообщение отредактировано: MaxiRush - |
TarasBer |
![]()
Сообщение
#6
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Не, раз ты сам почти всё сделал, то ничего не надо.
А то тут некоторые приходят "ничего не знаю, сделайте полностью за меня". -------------------- |
![]() ![]() |
![]() |
Текстовая версия | 21.04.2025 6:18 |