Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
19 / 2 / 0
Регистрация: 15.02.2013
Сообщений: 149
1

В файл g записать положительные числа, а файл h — отрицательные

02.03.2013, 11:45. Показов 1170. Ответов 6
Метки нет (Все метки)

Всем доброго времени суток!Помогите с программой кому не трудно...
В файле f записаны целые числа. Написать программу, которая в файл g записывает положительные числа, а файл h - отрицательные.
И если можно сделать так,чтобы паскаль выводил содержимое всех трех файлов.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.03.2013, 11:45
Ответы с готовыми решениями:

В файле f записаны целые числа, в файл g записать положительные числа файла f, а в файл h - отрицательные
В файле f записаны целые числа. Написать программу, которая в файл g записывает положительные...

В файл g записать положительные числа исходного файла, а в файл h - отрицательные
В файле f записаны целые числа. Написать программу, которая в файл g записывает положительные...

Записать положительные числа в один файл, а отрицательные числа в другой файл.
Дан текстовый файл, в котором числа положительные и отрицательные. Программа должна записать...

В файл g записать положительные числа, а в файл h — отрицательные
Всем доброго времени суток!Помогите пожалуйста оформить процедурой.Если нужно,могу написать условие...

6
652 / 381 / 259
Регистрация: 09.12.2011
Сообщений: 751
Записей в блоге: 29
02.03.2013, 13:06 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
Uses crt;
Var f,g,h:file of integer; i,x,gk,hk:integer;
gm:array[1..50] of integer; hm:array[1..50] of integer;
Begin
ClrScr; gk:=1; hk:=1;
Assign(f,'C:\f'); Reset(f);            {открываем файл f в режиме чтения}
Assign(g,'C:\g'); ReWrite(g);          {открываем ещё два}
Assign(h,'C:\h'); ReWrite(h);          {файла в режиме записи}
Writeln('File f:');
Repeat
 Read(f,x);                            {читаем число из файла f}
 Write(x:4);                           {выводим это число}
 If x>0 then
  Begin
   Write(g,x);{записываем в файл g}
   gm[gk]:=x;{заносим число в массив(для дальнейшего вывода на экран)}
   inc(gk);{увеличиваем счетчик элементов массива}
  End;
 If x<0 then
  Begin
   Write(h,x);{то же самое, что в блоке выше, только для отрицательных чисел}
   hm[hk]:=x;
   inc(hk);
  End;
Until EOF(f);{читаем, пока файл f не закончится}
Close(f); Close(g); Close(h);
Writeln;
Writeln('File h:');
For i:=1 to hk-1 do Write(hm[i]:4);{выводим элементы файла h}
Writeln;
Writeln('File g:');
For i:=1 to gk-1 do Write(gm[i]:4);{выводим элементы файла g}
Readln;
End.
1
Модератор
63381 / 47074 / 32446
Регистрация: 18.05.2008
Сообщений: 114,106
02.03.2013, 13:28 3
Лучше в этой же программе и создать исходный файл.
0
19 / 2 / 0
Регистрация: 15.02.2013
Сообщений: 149
02.03.2013, 13:37  [ТС] 4
КиберПёс, спасибо большое,только как сделать так, чтобы я к примеру в файле f запишу,например,10 целых чисел,как положительных,так и отрицательных и чтобы он их из этого уже файла рассортировал по файлам g и h ?Т.е. без создания массива в программе.И можно ли как-то оформить это процедурой или не желательно?
0
652 / 381 / 259
Регистрация: 09.12.2011
Сообщений: 751
Записей в блоге: 29
02.03.2013, 14:16 5
Цитата Сообщение от Puporev Посмотреть сообщение
Лучше в этой же программе и создать исходный файл.
Та чё-то я не подумал.
Вот через процедуру и без массивов:
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
Uses crt;
Var f,g,h:file of integer; i,x,p1,p2,p3:integer;
Procedure sozf;{процедура создания исходного файла}
 Var f:file of integer; x:integer;
  Begin
   Assign(f,'C:\f'); ReWrite(f);
   Writeln('Input ints:');
   Repeat
    Readln(x);
    If not(x=0) then Write(f,x);{ввод чисел оканчивается вводом нуля}
   Until x=0;
Close(f); ClrScr;
End;
Procedure razb;{процедура чтения из файла, записи и вывода на экран}
 Begin
  Assign(g,'C:\g'); ReWrite(g);
  Assign(h,'C:\h'); ReWrite(h);
  Assign(f,'C:\f'); Reset(f);
  Repeat
   Read(f,x);
   GotoXY(p1,2);{перевод курсора в нужное место. 1-е число - колонка, 2-е строка}
   Write(x);
   inc(p1,4);{изменение координат положения следующего числа}
   If x>0 then
    Begin
     GotoXY(p2,4);
     Write(g,x);
     Write(x);{вывод числа в том месте, где находится курсор}
     inc(p2,4);
    End;
  If x<0 then
   Begin
    Write(h,x);
    GotoXY(p3,6);
    Write(x);
    inc(p3,4);
   End;
  Until EOF(f);
 Close(f); Close(g); Close(h);
End;
 
Begin
ClrScr; p1:=1; p2:=1; p3:=1;
sozf;
 
{создаём "форму" для вывода}
Writeln('File f:');
Writeln;
Writeln('File g:');
Writeln;
Writeln('File h:');
{--------------------}
razb;
 
Readln;
End.
p1,p2,p3 - указывают на "колонку" в которую можно поставить следующее число. Без этих переменных числа будут налазить друг на друга. Для каждого файла своя переменная, так как кол-во чисел в них будет разным(если для всех использовать одну, то могут появиться лишние пропуски между числами).
1
19 / 2 / 0
Регистрация: 15.02.2013
Сообщений: 149
02.03.2013, 14:45  [ТС] 6
КиберПёс, вы простите,что достаю вас своими вопросами...уже не удобно как-то...
но все же хочу разобраться до конца. помогите,если не трудно,как написать часть программы,чтобы файл f он не создавал,а читал и отсортировал пол-ые и отриц. из уже готового?Допустим у меня создан уже файл f и в нем записаны целые числа
0
652 / 381 / 259
Регистрация: 09.12.2011
Сообщений: 751
Записей в блоге: 29
02.03.2013, 16:26 7
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
Uses crt;
Var f,g,h:file of integer; i,x,p1,p2,p3:integer;
Procedure razb;
 Begin
  Assign(g,'C:\g'); ReWrite(g);
  Assign(h,'C:\h'); ReWrite(h);
  Assign(f,'C:\f'); Reset(f);{файл f только читаем}
  Repeat
   Read(f,x);
   GotoXY(p1,2);
   Write(x);
   inc(p1,4);
   If x>0 then
    Begin
     GotoXY(p2,4);
     Write(g,x);
     Write(x);
     inc(p2,4);
    End;
  If x<0 then
   Begin
    Write(h,x);
    GotoXY(p3,6);
    Write(x);
    inc(p3,4);
   End;
  Until EOF(f);
 Close(f); Close(g); Close(h);
End;
 
Begin
ClrScr; p1:=1; p2:=1; p3:=1;
 
{создаём "форму" для вывода}
Writeln('File f:');
Writeln;
Writeln('File g:');
Writeln;
Writeln('File h:');
{--------------------}
razb;{вызов процедуры}
 
Readln;
End.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.03.2013, 16:26

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Задан файл с отрицательными и положительными целыми числами. Записать в другой файл сначала отрицательные, а потом положительные числа
Помогите пожалуйста!!!правда очень важно!! Задан файл с отрицательными и положительными целыми...

Записать положительные числа в файл 'y', а отрицательные числа в файл 'z'
Дан текстовый файл 'x', который содержит целые числа. Программа должна записать положительные числа...

Разделить исходный файл на два новых и записать положительные элементы в один файл, а отрицательные - в другой
Есть файл, в котором записаны числа. Программа берёт из этого файла число. Их может быть несколько...

Написать программу, которая в файл g записывает положительные числа, а файл h - отрицательные.
В файле f записаны целые числа. Написать программу, которая в файл g записывает положительные...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.