3 / 4 / 0
Регистрация: 18.11.2010
Сообщений: 126
1

Создать из исходного два файла: с положительными четными и с отрицательнями нечетными

05.07.2011, 10:21. Показов 565. Ответов 5
Метки нет (Все метки)

Дан файл целых чисел. Создать два новых файла, первый из которых содержит положительные четные числа их исходного файла ( в обратном порядке), а второй - отрицательные нечетные ( в том же порядке). если такие числа отсутствуют, оставить файл пустым!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.07.2011, 10:21
Ответы с готовыми решениями:

Создать два файла, первый содержит элементы исходного файла с нечетными номерами, а второй с четными
1.) Дан файл вещественных чисел разделенных одним пробелом. Создать два новых файла, первый из...

Создать два новых файла, в первом - элементы исходного файла с нечетными номерами, во втором - с четными
задания по Pascal. 1. Дан текст. Между соседними словами – не менее одного пробела, за...

Создать два новых файла, первый из которых содержит элементы исходного файла с четными номерами, а второй — с нечетными.
Дан файл вещественных чисел с именем Name1. Создать два новых файла с именами Name2 и Name3, первый...

Создать два файла, первый из которых содержит элементы исходного с нечетными номерами, а второй — с четными
Задан файл действительных чисел (создать программным путем). Создать два новых файла, первый из...

5
38 / 38 / 18
Регистрация: 16.05.2011
Сообщений: 139
05.07.2011, 14:08 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
uses crt;
var i,n,k:integer; f,f1,f2:text; a:array[1..50] of integer;
begin
  clrscr;
  randomize;
  assign(f,'file.txt');
  assign(f1,'file1.txt');
  assign(f2,'file2.txt');
  rewrite(f);
  rewrite(f1);
  rewrite(f2);
  for i:=1 to 100 do
    writeln(f,random(101)-50);
  reset(f);
  i:=0;
  while not eof(f) do
    begin
      readln(f,n);
      if (n>0) and (n mod 2=0) then
        begin
          i:=i+1;
          a[i]:=n;
        end;
      if (n<0) and (n mod 2<>0) then writeln(f2,n);
    end;
  for i:=i downto 1 do writeln(f1,a[i]);
  close(f);
  close(f1);
  close(f2);
end.
0
Почетный модератор
64254 / 47554 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
05.07.2011, 16:25 3
Vovcheg,
Цитата Сообщение от Licwin Посмотреть сообщение
Дан файл целых чисел.
Это значит типизированный файл
Pascal
1
var f:file of integer;
Для работы с ним не нужен массив, его можно читать в любом порядке и с любого места.

Добавлено через 40 секунд
Хотя название темы конечно идиотское...
1
go
Эксперт С++
3645 / 1377 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
05.07.2011, 20:13 4
Цитата Сообщение от Vovcheg Посмотреть сообщение
readln(f,n);
ну это только если в одной строке одно число
а если
Код
1 2 3 4 5
2 3 4 5
0
38 / 38 / 18
Регистрация: 16.05.2011
Сообщений: 139
05.07.2011, 20:17 5
Цитата Сообщение от go Посмотреть сообщение
ну это только если в одной строке одно число
а если
Код
1 2 3 4 5
2 3 4 5
Ну да, в одной. Я использовал writeln при заполнении. Если автору понадобиться ввод в одну строчку, не проблема будет убрать ln'ки и во writeln'ы вписать ' '
0
Почетный модератор
64254 / 47554 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
05.07.2011, 20:23 6
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
uses crt;
var f1,f2,f3:file of integer;
    n,i,a:integer;
begin
randomize;
assign(f1,'file1');
rewrite(f1);
assign(f2,'file2');
rewrite(f2);
assign(f3,'file3');
rewrite(f3);
write('Сколько чисел ввести в файл n=');
read(n);
for i:=1 to n do
 begin
  a:=random(50)-25;
  write(f1,a);
 end;
writeln('Исходный файл:');
reset(f1);
while not eof(f1) do
 begin
  read(f1,a);
  write(a,' ');
 end;
writeln;
for i:=filesize(f1)-1 downto 0 do
 begin
  seek(f1,i);
  read(f1,a);
  if(a>0)and(a mod 2=0)then write(f2,a);
 end;
for i:=0 to filesize(f1)-1 do
 begin
  seek(f1,i);
  read(f1,a);
  if(a<0)and(a mod 2<>0)then write(f3,a);
 end;
close(f1);
writeln('Файл четных положительных чисел:');
reset(f2);
if filesize(f2)=0 then writeln('Таких чисел нет, файл пустой')
else
 while not eof(f2) do
  begin
   read(f2,a);
   write(a,' ');
  end;
close(f2);
writeln;
writeln('Файл нечетных отрицательных чисел:');
reset(f3);
if filesize(f3)=0 then writeln('Таких чисел нет, файл пустой')
else
 while not eof(f3) do
  begin
   read(f3,a);
   write(a,' ');
  end;
close(f3);
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.07.2011, 20:23
Помогаю со студенческими работами здесь

Из исходного файла сформировать два файла с четными и нечетными числами соответственно
Помогите разобраться в чём ошибка Необработанное исключение по адресу 0x6032C28C (msvcr120d.dll) в...

Из исходного массива сделать массивы с чётными и нечётными положительными элементами
Как в одной программе из исходного массива сделать массивы с чётными и нечётными положительными...

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

Создать два новых файла, первый из которых содержит элементы исходного файла с нечетными номерами (1, 3, …), а второй —
Нужна помошь. Создать два новых файла, первый из которых содержит элементы исходного файла с...

Дан файл вещественных чисел. Создать два новых файла, первый из которых содержит элементы исходного файла с нечетными но
Дан файл вещественных чисел. Создать два новых файла, первый из которых содержит элементы...

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


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

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

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