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

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

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

 
 Ответить  Открыть новую тему 
> Записи, вывод в файл
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


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

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


Новичок
*

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

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


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


Новичок
*

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

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


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

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

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


Гуру
*****

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

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




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


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


Новичок
*

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

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


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

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

 





- Текстовая версия 2.10.2020 3:43
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name