Помощь - Поиск - Пользователи - Календарь
Полная версия: записи
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
_Hanter_
Заданий файл цілих чисел. Створити новий файл, який створює групи однакових чисел, якщо такі є.
Rian
т.е. отсортировать и записать в новом файле?
только же перед тобой была тема там все это делалось

Сортировка в типизированном файле.
Lapp
А при чем тут записи?..
_Hanter_
как создать новий файл, которий создает групы однаковых чисел????
Rian
Цитата(_Hanter_ @ 4.11.2011 13:57) *

как создать новий файл, которий создает групы однаковых чисел????


новый файл создается...

assign(f, 'c:\temp.txt');
rewrite(f);
close(f);


что понять по словом "группа"?
если у нас был файл 0982362306234857258795.....
то в итоге мы должны получить 111111122233333333444444499
так?

или может
число: количество сгруппированых чисел?
1:3
2:4
3:5
4:10
5:3
6:4
7:5
8:5
9:5
0:12

или может еще как-то?

ЗЫ подскажите курсы экстрасенсов, очень надо!
пусть это работа на 15 мин. но без нормально составленного ТЗ даже начинать не хочется
дай пример исходных данных, что должно быть на выходе....


_Hanter_
вот сделал прогу, только нечего не получилось

var f:file of real;
a:array [1..100] of real;
x: real;
c:char;
k,l,i:byte;
begin
assign(f,'f.dat');
rewrite(f);
repeat
writeln('вв.число');
readln(x);
write(f,x);
writeln('вв.0,якщо треба припинити введення, інакше 1');
readln©;
until c='0';
end.
reset(f);i:=0;
while not eof(f) do
begin
inc(i);
read(f,a[i]);
end;
for k:=1 to i-1 do
for l:=k+1 to i do
if a[k]>a[l] then
begin
x:=a[k];
a[k]:=a[l];
a[l]:=x;
end;
rewrite(f);
for k:=1 to i do
write(f,a[k]);
reset(f);
while not eof(f) do
begin
read(f,x);
writeln(x);
end;
end.
Rian
да... finereader подвел??
var f:file of real; 
a:array [1..100] of real;
x: real;
c:char;
k,l,i:byte;
begin
assign(f,'f.dat');
rewrite(f);

repeat
writeln('vvedite chislo');
readln(x);
write(f,x);
writeln('enter 0 to repeat, else 1');
readln ©;
until c='0';


reset(f);i:=0;
while not eof(f) do
begin
inc(i);
read(f,a[i]);
end;

for k:=1 to i-1 do
for l:=k+1 to i do
if a[k]>a[l] then
begin
x:=a[k];
a[k]:=a[l];
a[l]:=x;
end;

rewrite(f);

for k:=1 to i do
write(f,a[k]);
reset(f);

while not eof(f) do
begin
read(f,x);
writeln(x);
end;
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.