0 / 0 / 0
Регистрация: 01.07.2011
Сообщений: 19

Все четные элементы файла записать во второй файл и отсортировать их в порядке возрастания

02.07.2011, 00:01. Показов 1510. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется файл, элементами которого являются целые числа. Все четные элементы этого файла записать во второй файл и отсортировать их в порядке возрастания, а нечетные – в третий файл и отсортировать их в порядке убывания.

помогите сделать сортировку файлов F2 и F3

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
program chislo;
uses crt;
var f1,f2,f3:file of integer;
a:array [1..100] of integer;
n,i,j,m,k,x:integer;
begin
clrscr;
randomize;
writeln('vvedite kolichesnvo chisel');
readln (n);
assign(f1,'c:\file1');
rewrite(f1);
assign(f2,'c:\file2');
rewrite(f2);
assign(f3,'c:\file3');
rewrite(f3);
   for i:=1 to n do
   begin
a[i]:=random(n);
write(f1,a[i]);
    end;
reset(f1);
writeln('Ishodnyj fail:');
while not eof(f1) do
begin
read(f1,a[i]);
write(a[i],' ');
if odd(a[i])then write(f3,a[i])
else write(f2,a[i]);
end;
close(f1);
writeln;
reset(f2);
writeln('Fail chetnih chisel:');
while not eof(f2) do
begin
read(f2,a[i]);
write(a[i],' ');
end;
close(f2);
writeln;
reset(f3);
writeln('Fail nechetnih chisel:');
while not eof(f3) do
begin
read(f3,a[i]);
write(a[i],' ');
end;
close (f3);
readln;
end.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.07.2011, 00:01
Ответы с готовыми решениями:

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

Все четные числа файла записать во второй файл, а нечетные — в третий файл
Имеется файл, элементами которого являются целые числа. Все четные числа этого файла записать во второй файл, а нечетные — в третий файл....

Все четные числа файла записать во второй файл, а нечетные — в третий
Имеется файл, элементами которого являются целые числа. Все четные числа этого файла записать во второй файл, а нечетные — в третий файл....

14
 Аватар для Андрей Борисови
714 / 402 / 33
Регистрация: 04.10.2009
Сообщений: 1,686
02.07.2011, 00:10
Если файлы небольшие (таки часто дают на лабораторку) создайте массив и отсортируйте хоть "пузырьком". Если нельзя (религия преподавателя запрещает) тогда вам надо просто менять строки в файле (тот же "пузырек")
Алгоритм сортировки по возрастанию.
1. Открыть файл.
2. Пусть 1-я строка - макс элемент. Опустить флажок.
3. Цикл по элементам со 2-ой строки
4. Если строка цикла больше чем 1-ый элемент - поменять местами (запомнить во временную переменную строку цикла, поместить в строку значение 1-ой, а в 1-ю - запомненное). Поднять флажок.
5. Если флажок поднят - пвторить цикл.
5.
1
0 / 0 / 0
Регистрация: 01.07.2011
Сообщений: 19
02.07.2011, 01:59  [ТС]
помогите я до сих пор не пойму как это сделать, если можно наглядно. как мне сделать

вот например сам метод пузырька,

Pascal
1
2
3
4
5
6
7
    for i := 1 to n-1 do
        for j := 1 to n-i do
            if a[j] > a[j+1] then begin
                k := a[j];
                a[j] := a[j+1];
                a[j+1] := k
            end;
как мне его включить в код чтобы данные в файле-f2 были отсортированны

Добавлено через 1 час 33 минуты
НУ МНЕ КТО НИБУДЬ ПОМОЖЕТ??(((((((((((((((
0
1 / 1 / 1
Регистрация: 22.12.2010
Сообщений: 22
02.07.2011, 07:31
я сортирую через repeat:
Pascal
1
2
3
4
5
6
7
8
9
10
  repeat  //повторяем цикл до тех пор, пока с не равно 0
      c:=0;
       for i:= 1 to n-1  do
           if mas[i,j]>mas[i+1,j] then // если текущее значение больше следующего
             begin                     //меняем их местами и счетчик +1
               x:= mas[i,j];
               mas[i,j]:=mas[i+1,j];
               mas[i+1,j]:=x;
               c:=c+1;
             end;
0
0 / 0 / 0
Регистрация: 01.07.2011
Сообщений: 19
02.07.2011, 08:14  [ТС]
куда мне этот кусок сортировки вставлять, в какое место программы?
0
1 / 1 / 1
Регистрация: 22.12.2010
Сообщений: 22
02.07.2011, 08:19
там где вы сортируете четные и отдельно нечетные числа
0
0 / 0 / 0
Регистрация: 01.07.2011
Сообщений: 19
02.07.2011, 08:21  [ТС]
Pascal
1
reset(f2);
вот я открываю файл
вставляю сортировку
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for i := 1 to n-1 do
for j := 1 to n-i do
if a[j] > a[j+1] then begin
k := a[j];
a[j] := a[j+1];
a[j+1] := k
end;
writeln('Fail chetnih chisel:');
while not eof(f2) do
begin
read(f2,a[i]);
write(a[i],' ');
end;
close(f2);
но все равно сортировка не работает
0
1 / 1 / 1
Регистрация: 22.12.2010
Сообщений: 22
02.07.2011, 08:27
у меня тоже не работает делаю через repeat:
reset(f2);
вот я открываю файл
вставляю сортировку
Pascal
1
2
3
4
5
6
7
8
9
10
11
repeat 
 c:=0
for i:= 1 to n-1 do
if a[j]>a[j+1] then // если текущее значение больше следующего
begin //меняем их местами и счетчик +1
x:= a[j];
a[j]:=a[j+1];
a[i,j+1]:=x;
c:=c+1;
end
until c=0;
как не работает? не верный результат или ошибку пишет?
0
0 / 0 / 0
Регистрация: 01.07.2011
Сообщений: 19
02.07.2011, 08:37  [ТС]
ну она просто не сортирует, файл все равно не отсортирован получается
0
1 / 1 / 1
Регистрация: 22.12.2010
Сообщений: 22
02.07.2011, 08:42
можите его откоменентрировать и прислать на почту - могу посмотреть что там?
0
0 / 0 / 0
Регистрация: 01.07.2011
Сообщений: 19
02.07.2011, 08:44  [ТС]
да, какой адрес?
0
1 / 1 / 1
Регистрация: 22.12.2010
Сообщений: 22
02.07.2011, 08:46
soniema@yandex.ru
0
0 / 0 / 0
Регистрация: 01.07.2011
Сообщений: 19
02.07.2011, 09:12  [ТС]
какой адрес?

Добавлено через 52 секунды
а все извиняюсь

Добавлено через 9 минут
ну я все отправил, только мне кажется что саму сортировку программа как бы не видет
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,876
02.07.2011, 10:13
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

сортировка в типизированном файле и без массива можно осуществить.
Например так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
reset(f);
for i:=0 to filesize(f)-1 do
  for j:=i+1 to filesize(f)-1 do
   begin
    seek(f,i);
    read(f,k);
    seek(f,j);
    read(f,l);
    if k<l then
    begin
     c:=k;
     k:=l;
     l:=c;
     seek(f,i);
     write(f,k);
     seek(f,j);
     write(f,c);
    end;
   end;
Close(f);
0
0 / 0 / 0
Регистрация: 01.07.2011
Сообщений: 19
02.07.2011, 11:03  [ТС]
спасибо огромное))))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.07.2011, 11:03
Помогаю со студенческими работами здесь

Заменить все отрицательные элементы вектора на их квадраты и отсортировать в порядке возрастания
Буду очень благодарна,если напишите программу. Дан вещественный вектор А . Заменить все отрицательные элементы вектора на их квадраты и...

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

Четные цифры отсортировать в порядке возрастания
в одномерном числовом массиве четные цифры отсортировать в порядке возрастания. массив должен вводиться в ручную,никакого рандома

Массив. Вывести все четные в порядке возрастания их индексов,все нечетные в порядке их убывания
помогите, пожалуйста, решить задачи по массивам. очень нужно. полностью пропустила эту тему( 1.дан целочисленный массив размера N....

Записать в файл С все четные числа файла F, а в файл N - все нечетные.
сформировать файл F, компонентами которого являются целые числа. записать в файл С все четные числа файла F, а в файл N - все нечетные....


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

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

Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru