0 / 0 / 1
Регистрация: 18.10.2010
Сообщений: 49
1

Записать все положительные числа из файла целых чисел в текстовый файл в обратном порядке

05.03.2011, 16:12. Показов 1341. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание:
Написать программу, записывающую все положительные числа из файла целых чисел в текстовый файл в обратном порядке по пять чисел в строку (Указание: использовать динамическую цепочку).

Задача правильная,но есть проблема с проверкой ввода.1-ое,что фигово,это надо чтобы подтверждение,что есть положительные числа писалось один раз(а оно пишется столько же раз сколько чисел).Второе(никак не сображу),в стек должны заносится только положительные числа,т.е если ввели случайно отрицательное,а все остальные положительные,то отрицательное куда-нибудь исчезает,а остаются только положительными над которыми проходят все операции.
Строки и массивы преподша запретила использовать в этой проге
Не знаю,что делать,помогите если не влом,я из-за этой задачи никак сессию не закрою.Я преподшу достал так,что мне на дом дали задачу)Чето в стеках я с трудом шарю.Извиняюсь за дебилизм,первый курс только,еще успею нормальным кодером стать,если не выпрут меня щяс.)Это последняя задача на паскале)

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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
program stek;
type
hell=^st;
st=record
inf:integer;
Next:hell;
end;
var
f:file of integer;
f1:text;
s:string;
w,n,m,z:integer;
p,q:hell;
i:integer;
procedure del(Var u : hell);
Var
  x : hell;
Begin
while u<>Nil do begin
x:=u;
u:=x^.Next;
dispose(x);
end;
end;
procedure writeStack(Var u : hell; Simvol : integer);
Var
  x : hell;
Begin
  new(x);
  x^.inf := Simvol;
  x^.Next := u;
  u := x
  end;
Procedure Print( u : hell);
Begin
  while u <> Nil do
    Begin
      write (u^.inf);
      write(' ');
      u := u^.Next;
    End;
  End;
Begin
  p:= Nil;
  Assign(f,'input.dat');
  rewrite(f);
  writeln('vvesti chislo');
  readln(n);
  if n<0 then
  begin
  n:=n*-1;
  writeln('chislo ispravleno');
 
  end;
for i:=1 to n do
begin
  writeln('vvesti m');
  readln(m);
  write(f,m);
end;
close(f);
assign(f,'input.dat');
reset(f);
while not eof(f)
do begin
read(f,n);
if n>=0
then
begin;
writeln('est pologhitelnie chisla');
end;
if n<0
then
begin
writeln('net pologhitelnie chisla');
readln;
halt;
end;
writeStack(p,n);
 
end;
close(f);
 Print(p);
assign (f1,'input.txt');
rewrite(f1);
 
q:=p;
m:=0;
Begin
  while q <> Nil do
    Begin
 
      write (f1,q^.inf);
      write(f1,' ');
      m:=m+1;
 
   w:=m mod 5;
      if w=0
      then
      writeln(f1,' ');
      q := q^.Next;
    End;
  End;
 
 
close(f1);
del(p);
readln;
End.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.03.2011, 16:12
Ответы с готовыми решениями:

Имеется типизированный файл, в котором записаны 18 целых чисел. Переписать все положительные числа файла в массив в том же порядке
program viweglavnoidiagonaali; var f:file of integer; i,bi,k,d,z,z1,a,b,x,y:integer; begin...

Имеется типизированный файл, в котором записаны 18 целых чисел. Переписать все положительные числа файла в массив в том же порядке
Имеется типизированный файл, в котором записаны 18 целых чисел. Переписать все положительные числа...

Из текстового файла записать в файл целых чисел все числа кратные заданному K
Добрый вечер! Помогите написать код на Паскале,.

Записать в другой файл числа имеющегося файла в обратном порядке
36 Имеется типизированный файл с тридцатью числами. Записать в другой файл числа имеющегося файла в...

2
Почетный модератор
64303 / 47598 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.03.2011, 16:51 2
1-ое,что фигово,это надо чтобы подтверждение,что есть положительные числа писалось один раз(а оно пишется столько же раз сколько чисел).
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
reset(f);
w:=0;
while not eof(f) do
 begin
  read(f,n);
  if n>=0 then w:=1;
 end;
if w=1 then writeln('est pologhitelnie chisla')
else
 begin
  writeln('net pologhitelnie chisla');
  readln;
  halt;
 end;
writeStack(p,n);
1
0 / 0 / 1
Регистрация: 18.10.2010
Сообщений: 49
06.03.2011, 00:51  [ТС] 3
Каверкает прогу(неправильно работает)

Добавлено через 2 минуты
Часть я исправил.Как сделать,чтоб сообщение о том,чтобы сообщения о числах(положительное,отрицательное) выводились,один раз

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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
program stek;
type
hell=^st;
st=record
inf:integer;
Next:hell;
end;
var
f:file of integer;
f1:text;
s:string;
w,n,m,z:integer;
p,q:hell;
i:integer;
procedure del(Var u : hell);
Var
  x : hell;
Begin
while u<>Nil do begin
x:=u;
u:=x^.Next;
dispose(x);
end;
end;
procedure writeStack(Var u : hell; Simvol : integer);
Var
  x : hell;
Begin
  new(x);
  x^.inf := Simvol;
  x^.Next := u;
  u := x
  end;
Procedure Print( u : hell);
Begin
  while u <> Nil do
    Begin
      write (u^.inf);
      write(' ');
      u := u^.Next;
    End;
  End;
Begin
  p:= Nil;
  Assign(f,'input.dat');
  rewrite(f);
  writeln('vvesti chislo');
  readln(n);
  if n<0 then
  begin
  n:=n*-1;
  writeln('chislo ispravleno');
 
  end;
for i:=1 to n do
begin
  writeln('vvesti m');
  readln(m);
  write(f,m);
end;
close(f);
assign(f,'input.dat');
reset(f);
while not eof(f)
do begin
read(f,n);
if n>=0
then
begin;
writeStack(p,n);
writeln('pologhitelnie chislo');
end;
if n<0
then
begin
writeln('otritcatelnoe chislo');
readln;
end;
 
end;
close(f);
 Print(p);
assign (f1,'input.txt');
rewrite(f1);
 
q:=p;
m:=0;
Begin
  while q <> Nil do
    Begin
 
      write (f1,q^.inf);
      write(f1,' ');
      m:=m+1;
 
   w:=m mod 5;
      if w=0
      then
      writeln(f1,' ');
      q := q^.Next;
    End;
  End;
 
 
close(f1);
del(p);
readln;
End.
0
06.03.2011, 00:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.03.2011, 00:51
Помогаю со студенческими работами здесь

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

Создать файл чисел и вывести эти числа из файла в обратном порядке в другой файл и на экран
Создать файл чисел и вывести эти числа из файла в обратном порядке в другой файл и на экран. Как...

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

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


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

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

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