С Новым годом! Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 01.07.2011
Сообщений: 19
1

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

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

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

помогите сделать сортировку файлов 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 2
Если файлы небольшие (таки часто дают на лабораторку) создайте массив и отсортируйте хоть "пузырьком". Если нельзя (религия преподавателя запрещает) тогда вам надо просто менять строки в файле (тот же "пузырек")
Алгоритм сортировки по возрастанию.
1. Открыть файл.
2. Пусть 1-я строка - макс элемент. Опустить флажок.
3. Цикл по элементам со 2-ой строки
4. Если строка цикла больше чем 1-ый элемент - поменять местами (запомнить во временную переменную строку цикла, поместить в строку значение 1-ой, а в 1-ю - запомненное). Поднять флажок.
5. Если флажок поднят - пвторить цикл.
5.
1
0 / 0 / 0
Регистрация: 01.07.2011
Сообщений: 19
02.07.2011, 01:59  [ТС] 3
помогите я до сих пор не пойму как это сделать, если можно наглядно. как мне сделать

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

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 4
я сортирую через 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  [ТС] 5
куда мне этот кусок сортировки вставлять, в какое место программы?
0
1 / 1 / 1
Регистрация: 22.12.2010
Сообщений: 22
02.07.2011, 08:19 6
там где вы сортируете четные и отдельно нечетные числа
0
0 / 0 / 0
Регистрация: 01.07.2011
Сообщений: 19
02.07.2011, 08:21  [ТС] 7
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 8
у меня тоже не работает делаю через 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  [ТС] 9
ну она просто не сортирует, файл все равно не отсортирован получается
0
1 / 1 / 1
Регистрация: 22.12.2010
Сообщений: 22
02.07.2011, 08:42 10
можите его откоменентрировать и прислать на почту - могу посмотреть что там?
0
0 / 0 / 0
Регистрация: 01.07.2011
Сообщений: 19
02.07.2011, 08:44  [ТС] 11
да, какой адрес?
0
1 / 1 / 1
Регистрация: 22.12.2010
Сообщений: 22
02.07.2011, 08:46 12
soniema@yandex.ru
0
0 / 0 / 0
Регистрация: 01.07.2011
Сообщений: 19
02.07.2011, 09:12  [ТС] 13
какой адрес?

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

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

Решение

сортировка в типизированном файле и без массива можно осуществить.
Например так:
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  [ТС] 15
спасибо огромное))))
0
02.07.2011, 11:03
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.07.2011, 11:03
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
Обновление сайта www.historian.b­y
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(аси­­­­­­­­­­­­­­­­­­­­­­­­­­х­р­о­н­­н­­­ы­­й счётчик с управляющим сигналом зад
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru