Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Записи

Автор: Kaliban 16.05.2007 0:41

Напишите плиз две проги простеньких

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.

Автор: Артемий 16.05.2007 1:29

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 16.05.2007 1:38

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

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

Автор: Kaliban 16.05.2007 3:28

Но вот первая как раз сейчас особенно актуальна ph34r.gif

Автор: Kaliban 23.05.2007 1:25

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

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

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

Автор: Kaliban 23.05.2007 2:43

чтения из файлов не проходит, сортировка вроде бы работает...

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я 23.05.2007 13:35



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



Автор: Kaliban 24.05.2007 0:20

все, с этой разобрался, первую сделать немогу, хелп