Помощь - Поиск - Пользователи - Календарь
Полная версия: Записи
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Kaliban
Напишите плиз две проги простеньких

1) Даны описания:

type str  = string[12];
Exzam = (Matem,Inform,Ximi);
Student = record
FIO: record F,I,O: STR
end;

GR: 1..3;
OTM: array[Exzam] of 2..5
end;


Обработав сведения исходного файла (15 - 20 данных), следует в новый файл помесить номер группы, фамилию, инициалы студентов, не сдавших экзамены и их количество.

2)
Написать программу,которая создает в текущей папке магнитного диска два текстовых файла File 1.txt и File2.txt

В первый файл должны быть записаны в произвольном порядке 25 положительных целых чисел,не привосходящих по своей величине 200. Во второй должны быть записаны в произвольном порядке 20 положительных чисел,так же не превосходящих по своей величине 200.
Артемий
var
f1,f2: Text;
i,j: integer;
begin
assign(f1,'File1.txt');
rewrite(f1);
assign(f2,'File2.txt');
rewrite(f2);
randomize;

for i:=1 to 25 do begin
writeln(f1,random(200)-1); end;

for i:=1 to 20 do begin
writeln(f2,random(200)-1); end;
close(f1); close(f2);
readln
end.

Вторая...
Kaliban
Спасибо большое, сорри, не доисал немного, вывод в 3й файл еще

Необходимо организовать третий файл File3.txt,в который должны быть переписаны в порядке возрастания все числа из первого и второго файла.причем числа, содержащиеся одновременно в первом и втором файлах,в файле File3.txt повторяться не должны
Kaliban
Но вот первая как раз сейчас особенно актуальна ph34r.gif
Kaliban
Во второй задаче при чтении из двух предыдущих файлов ошибка, как записать чтение правильно?

Для сортировки нужно создать массив из 45(20+25) чисел, и как правильно отсортировать, чтобы значения не повторялись?

Можно зделать так if x[i]<>x[i-1] then do типа вывод, else ничего не выводить
но прога будет проверять только предыдущий элемент?
Kaliban
чтения из файлов не проходит, сортировка вроде бы работает...

program laba1;
var
f1,f2,f3: Text;
i,b,j: integer;
a:array [1..45] of integer;
begin
assign(f1,'File1.txt');
rewrite(f1);
assign(f2,'File2.txt');
rewrite(f2);
assign(f3,'File3.txt');
rewrite(f3);

randomize;

for i:=1 to 25 do begin
writeln(f1,random(200)); end;

for i:=1 to 20 do begin
writeln(f2,random(200)); end;

for i:=1 to 25 do
reset(f1);
read(f1, a[i]);

for i:=26 to 45 do
reset(f2);
read(f2, a[i]);

{Исходный массив}
for i:=1 to 45 do writeln (a[i]);
for j:=1 to 44 do for i:=44 downto j do if a[i]>a[i+1] then begin
b:=a[i];
a[i]:=a[i+1];
a[i+1]:=b
end;

{Отсортированный массив}
for i:=1 to 45 do writeln (f3,a[i]);
readln;


close(f1); close(f2); close(f3);
readln
end.
Ozzя


reset(f1); // Тут! До цикла! А НЕ в теле цикла!
for i:=1 to 25 do
read(f1, a[i]);


Kaliban
все, с этой разобрался, первую сделать немогу, хелп
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.