IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача на файлы. Дано предложение. Каждое слово оканчивающееся на 'a' переписать в творительном падеже.
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 2
Пол: Мужской

Репутация: -  0  +


Задача на файлы. Дано предложение. Каждое слово оканчивающееся на 'a' переписать в творительном падеже. Результат вывести на экран.( написать подпрограммой с использованием процедур ввода и вывода).
uses crt;
var
s, wrd : string;
i : Integer;

begin
Assign (input, 'input.txt');
Reset (input);

Assign (output, 'output.txt');
Rewrite (output);

while not EoF do begin
ReadLn (s);
s := s + ' ';
wrd := '';
for i := 1 to Length(s) do
if s[i] = ' ' then begin
if wrd[Length(wrd)] = 'а' then begin
Delete (wrd, Length(wrd)-1, 1);
WriteLn (wrd + 'ой')
end;
wrd := ''
end
else
wrd := wrd + s[i]
end

end.


!!!СДЕЛАЛ БЕЗ ПОДПРОГРАММ, ПОМОГИТЕ СДЕЛАТЬ С ПОДПРОГРАММАМИ ВОТ ПРИМЕР :





uses crt;
const vid: array[1..3] of integer = (100, 200, 300);

n = 3;
type zap = record ;
fio: string[10];
rez: byte;
kolvo: array[1..3] of integer;
st: integer;
end;
mas = array[1..n] of zap;
var a: mas;

procedure vvod(var a: mas);
var i, j, fio, st, kolvo: byte;
begin
for i := 1 to n do begin
writeln('Введите данные', i, 'zap');
with a[i] do begin
write('Fio '); readln(fio);
write('Введите количество акций первого вида '); readln(kolvo[1]);
write('Введите количество акций второго вида '); readln(kolvo[2]);
write('Введите количество акций третьего вида '); readln(kolvo[3]);
st := 0;
for j := 1 to 3 do
st := st + vid[j] * kolvo[i];
end; end; end;

procedure print(a: mas);
var i: byte;
begin
for i := 1 to n do
writeln(a[i].fio: 10, a[i].st: 5);
end;

procedure Max(a: mas);
var max: real; i: integer;
begin
max := a[1].st;
for i := 2 to n do
if a[i].st > max then max := a[i].st;
for i := 1 to n do
if a[i].st = max then writeln(a[i].fio, a[i].st: 8);
readln;
end;
begin clrscr;
vvod(a);
print(a);
max(a);
readln
end.

Сообщение отредактировано: Ton -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 396
Пол: Мужской

Репутация: -  9  +


вопросов нет, у тебя эта прога без ошибок компилится?
оформить код тегами можешь?

Сообщение отредактировано: Rian -


--------------------
Objective-C, Unity3d
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Знаток
****

Группа: Пользователи
Сообщений: 396
Пол: Мужской

Репутация: -  9  +


на подпрограммы можно поделить так, но врядли замана "а" на "ой" можно назвать преобразованием в родительный падеж
+форматируй код!

uses crt;
var
s, wrd : string;
i : Integer;

procedure initFiles;
begin
Assign (input, 'input.txt');
Reset (input);

Assign (output, 'output.txt');
Rewrite (output);
end;


procedure loop;
begin

while not EoF do begin
ReadLn (s);
s := s + ' ';
wrd := '';

for i := 1 to Length(s) do
if s[i] = ' ' then begin

rememberWord;

end else wrd := wrd + s[i]
end
end;


procedure rememberWord;
begin
if wrd[Length(wrd)] = 'а' then begin
Delete (wrd, Length(wrd)-1, 1);
WriteLn (wrd + 'ой')
end;
wrd := ''
end;

begin
clrscr;

initFiles;
loop;

end.


--------------------
Objective-C, Unity3d
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





Группа: Пользователи
Сообщений: 2
Пол: Мужской

Репутация: -  0  +


pascal abc отказывается воспринимать программку. можно ли как то сделать в abc и вроде как то делается, что вместо input и output там что то вроде rewrite...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 8.09.2025 19:05
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name