45 БАЛЛОВ ЗА ПОЛНОЕ РЕШЕНИЕ! Нужно составить программу ** PascalABC.NET и сделать все как...

0 голосов
14 просмотров

45 БАЛЛОВ ЗА ПОЛНОЕ РЕШЕНИЕ! Нужно составить программу на PascalABC.NET и сделать все как на скришоте ниже.


image

Информатика (119 баллов) | 14 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

// PascalABC.NET 3.0, сборка 1139 от 10.01.2016
begin
  var f:=OpenWrite('phones.txt');
  var n:=ReadLnInteger('Количество номеров: ');
  Writeln('Вводите номера телефонов в формате 8(xxx)xxx-xx-xx;');
  var s:string;
  for var i:=1 to n do begin
    s:=ReadLnString(IntToStr(i)+':');
    Writeln(f,s)
    end;
  f.Close;
  var s1:=ReadLines('phones.txt').ToArray;
  Writeln('Содержимое файла');
  s1.Println(NewLine);
  f:=OpenWrite('phones.txt');
  foreach var e in s1 do begin
    s:=e.Where(x->x in ['0'..'9']).JoinIntoString('');
    Writeln(f,s)
    end;
  f.Close;
  Writeln('Новое содержимое файла');
  ReadLines('phones.txt').PrintLn(NewLine);
end.

Тестовое решение:
Количество номеров: 3
Вводите номера телефонов в формате 8(xxx)xxx-xx-xx;
1: 8(999)111-22-33
2: 8(888)222-33-44
3: 8(777)333-44-55
Содержимое файла
8(999)111-22-33
8(888)222-33-44
8(777)333-44-55
Новое содержимое файла
89991112233
88882223344
87773334455

(142k баллов)
0

А возможно сделать так чтобы после ввода номеров они записались в файл и по нажатию любой клавиши началась замена на новое содержимое файла. Просто момент записи номеров почти не получается увидеть.

0

А зачем его видеть, если s1.Println(NewLine); выводит содержимое на экран?

0

Но Вы можете немного модифицировать программу. 'phones.txt' используется 4 раза. Поставьте в двух последних именах 'phones2.txt' - и у Вас получится два файла - первый, в котором будет содержимое после записи и второй - после замены.

0

Спасибо огромное! Не могли бо вы помочь еще с решением 1 задачи просто трудности есть. http://znanija.com/task/16281967