| 
| 
 | Вопрос # 3 819/ вопрос открыт / | 
 |  Приветствую, уважаемые эксперты!Помогите доделать задачу на паскале. Тема компонентные файлы. Дан файл f простых чисел, записаных в порядке возростанния. Вырезать с него все числа с парной сумой цифр.
 Приложение:Переключить в обычный режим program fgf; {$APPTYPE CONSOLE} usesSysUtils; type Complex=recordd,m:integer;end;varf1:text;f2:file of Complex;x:Complex; beginassign(f1,'E:Óíèâåðìîè
ðàáîòûÔàéëûinpu.txt');
reset(f1);assign(f2,'E:Óíèâåðìîè
ðàáîòûÔàéëûoutpu.res');
rewrite(f2);while not eof(f1) dobeginread(f1, x.d , x.m);if (x.d+x.m) mod 2 = 0 thenwrite(f2,x);end;close(f1);close(f2);end.
Ответ #1. Отвечает эксперт: Валя Здравствуйте, Дементьев Евгений Владимирович!
 program Project2;
{$APPTYPE CONSOLE}
 
uses
SysUtils;
 
type Complex=record
d,m:integer;
end;
var
f1:text;
f2:file of Complex;
x:Complex;
  function summ(x: integer): integer;
  var i: integer; s: string;
  begin
    result:=0;
    s:=inttostr(x);
    for i:=1 to length(s) do
       result:=result+strtoint(s[i]);
  end;
begin
assign(f1,'E:Oieaa?iie ?aaiouOaeeuinpu.txt'); reset(f1);
assign(f2,'E:Oieaa?iie ?aaiouOaeeuoutpu.res'); rewrite(f2);
while not eof(f1) do
begin
read(f1, x.d , x.m);
if summ(x.d)=summ(x.m) then
write(f2,x);
end;
close(f1);
close(f2);
end.
|  | Ответ отправил: Валя (статус: 1-ый класс)Время отправки: 26 февраля 2010, 16:50
 
 |  
 Мини-форум вопросаВсего сообщений: 7; последнее сообщение — 1 марта 2010, 19:11; участников в обсуждении: 3. 
|   | Алексей Комнин (статус: Посетитель), 26 февраля 2010, 17:07 [#1]:ваша программа почемуто создаёт пустой файл. |  
|   | min@y™ (статус: Доктор наук), 26 февраля 2010, 18:23 [#2]: Цитата (Валя): 
  function summ(x: integer): integer;
  var i: integer; s: string;
  begin
    result:=0;
    s:=inttostr(x);
    for i:=1 to length(s) do
       result:=result+strtoint(s[i]);
  end; Ты серьёзно, или прикалываешься?
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | min@y™ (статус: Доктор наук), 26 февраля 2010, 18:28 [#3]: Цитата (Дементьев Евгений Владимирович): Вырезать с него все числа с парной сумой цифр. Что это такое - парная сум(м)а цифр?
 Ё-моё, парная - это ж помещение в бане! Какие нафиг цифры?!!
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Алексей Комнин (статус: Посетитель), 26 февраля 2010, 20:03 [#4]:парная это чётная))) |  
|   | Егор (статус: 10-ый класс), 28 февраля 2010, 13:56 [#5]: Цитата (Валя): if summ(x.d)=summ(x.m) это - условие чётности?
 Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  
|   | Егор (статус: 10-ый класс), 28 февраля 2010, 13:58 [#6]:Дементьев Евгений Владимирович: я не совсем понял, что же именно вы хотите?
 у вас же и так программа делает то, что вы хотите.
 Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  
|   | Алексей Комнин (статус: Посетитель), 1 марта 2010, 19:11 [#7]:может проблемка с кодировкой? файл создаёться с символами а не цыфрами. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |