IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Записи, вывод в файл
Kaliban
сообщение 15.05.2007 20:41
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской

Репутация: -  0  +


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

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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 7)
Артемий
сообщение 15.05.2007 21:29
Сообщение #2


Помощник капитана
****

Группа: Пользователи
Сообщений: 601
Пол: Мужской
Реальное имя: Артем

Репутация: -  2  +


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.

Вторая...


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Kaliban
сообщение 15.05.2007 21:38
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской

Репутация: -  0  +


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

Необходимо организовать третий файл File3.txt,в который должны быть переписаны в порядке возрастания все числа из первого и второго файла.причем числа, содержащиеся одновременно в первом и втором файлах,в файле File3.txt повторяться не должны
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Kaliban
сообщение 15.05.2007 23:28
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской

Репутация: -  0  +


Но вот первая как раз сейчас особенно актуальна ph34r.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Kaliban
сообщение 22.05.2007 21:25
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской

Репутация: -  0  +


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

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

Можно зделать так if x[i]<>x[i-1] then do типа вывод, else ничего не выводить
но прога будет проверять только предыдущий элемент?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Kaliban
сообщение 22.05.2007 22:43
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской

Репутация: -  0  +


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

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.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 23.05.2007 9:35
Сообщение #7


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +




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


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Kaliban
сообщение 23.05.2007 20:20
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской

Репутация: -  0  +


все, с этой разобрался, первую сделать немогу, хелп
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.06.2025 23:18
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"