58 / 40 / 41
Регистрация: 26.09.2013
Сообщений: 345
Записей в блоге: 1
1

Переписать все положительные числа в пустой файл f, все отрицательные в пустой файл h

11.01.2014, 16:13. Показов 2030. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот задача:type rad = file of integer;
Описать процедуру p(g,f,h) от трех файлов типа rаd, которая из файла g
переписывает все положительные числа в пустой файл f, все отрицательные
в пустой файл h.
Программа: введите файл g (последний элемент равен 0). Выполните
процедуру p(g,f,h). Распечатайте файлы f и h.

Вот мое творение:
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
44
45
46
type rad=file of integer;
procedure p(g,f,h:rad);
var n:integer;
begin
     writeln('Введите файл g (0-конц ввода):');
     repeat
           read(n);
           write(g,n);
           if n>0 then write(f,n);
           if n<0 then write(h,n);
     until n=0;
end;
var g,f,h:rad;
    a:array[1..100] of integer;
    i:integer;
begin
     assign(f,'file1.dat');
     assign(g,'file2.dat');
     assign(h,'file3.dat');
     rewrite(g);
     rewrite(f);
     rewrite(h);
     p(g,f,h);
     close(g);
     close(f);
     close(h);
     i:=1;
     reset(f);
     while eof(f) do
     begin
          read(f,a[i]);
          write(a[i]:4);
          inc(i);
     end;
     writeln;
     close(f);
     i:=1;
     reset(h);
     while eof(h) do
     begin
          read(h,a[i]);
          write(a[i]:4);
          inc(i);
     end;
     close(h);
end.
Проблема в том, что программа не выводит содержимое файлов f и h. В чем ошибка?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.01.2014, 16:13
Ответы с готовыми решениями:

Переписать в пустой файл g сначала все положительные числа, а потом все отрицательные
Здравствуйте, не могли бы кто нибудь помочь с двумя задачами. P.S. прошу прощения что нарушил...

Описать процедуру р(g,f,h), которая из файла g переписывает все положительные числа в пустой файл f
Нужна помощь в составлении программы type rad = file of integer; Описать процедуру р(g,f,h) от...

В пустой файл f переписать положительные элементы g
type ряд = file of integer; Описать процедуру p(f,g)от двух файлов типо ряд , которая в пустой...

Записать все отрицательные числа из файла F в файл N, а все положительные в G.
Всем привет! Условие задачи: Дан файл F с числами от -20 до 20. Записать все...

3
Почетный модератор
64302 / 47597 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
11.01.2014, 16:19 2
Попробуйте написать так
Pascal
1
procedure p(var g,f,h:rad);
0
58 / 40 / 41
Регистрация: 26.09.2013
Сообщений: 345
Записей в блоге: 1
11.01.2014, 16:22  [ТС] 3
Puporev, все равно ничего не выводит
0
Почетный модератор
64302 / 47597 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
11.01.2014, 16:46 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
uses crt;
type rad=file of integer;
procedure p(var g,f,h:rad);
var n:integer;
begin
while not eof(g) do
 begin
  read(g,n);
  if n>0 then write(f,n)
  else if n<0 then write(h,n);
 end;
close(f);
close(g);
close(h);
end;
 
var g,f,h:rad;
    a:integer;
begin
assign(f,'file1.dat');
assign(g,'file2.dat');
assign(h,'file3.dat');
rewrite(g);
rewrite(f);
rewrite(h);
writeln('Введите в файл G положительные и отрицательные числа, окончание ввода 0');
repeat
read(a);
write(g,a);
until a=0;
clrscr;
writeln('Содержание исходного файла G');
seek(g,0);
while not eof(g)do
 begin
  read(g,a);
  write(a,' ');
 end;
writeln;
seek(g,0);
p(g,f,h);
reset(f);
if filesize(f)=0 then
writeln('Положительных чисел нет')
else
 begin
  writeln('Файл положительных чисел');
  while not eof(f) do
   begin
    read(f,a);
    write(a,' ')
   end;
  writeln
 end;
close(f);
reset(h);
if filesize(h)=0 then
writeln('Отрицательных чисел нет')
else
 begin
  writeln('Файл отрицательных чисел');
  while not eof(h) do
   begin
    read(h,a);
    write(a,' ')
   end;
 end;
close(h);
end.
1
11.01.2014, 16:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.01.2014, 16:46
Помогаю со студенческими работами здесь

Переписать в файл f2 все положительные числа из файла f1
Помогите решить. 5. Создать файл f1, состоящий из целых чисел по 6 в строке. Переписать в файл...

Переписать в файл V все четные положительные числа из файла в убывающем порядке
Помогите пожалуйста с решением Сформировать файл W, состоящий из целых чисел. Переписать в файл...

Переписать числа в файл: сначала положительные, затем отрицательные
Дан файл целых чисел (несколько строк). Переписать числа в этот же файл следующим порядком: сначала...

Записать в массив сначала все положительные, затем все отрицательные числа и нули
Пожалуйста докажите код выделенный в комментарии. Задание:&quot;Дан массив вещественных чисел ,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru