PDA

Просмотр полной версии : [Помогите!] Написать пару программ по предмету


Sylerr
10.06.2010, 20:14
Осталось здать пару программ по предмету, задание дали на дом , нужно срочно сделать,а то ни зачета ни сессии)Помогите пожалйста, буду благодарен.
Задание 1.
Опишите Запись с именем типа post , содержащую информацию в почтовой базе данных о подписчиках на газеты и журналы:
ФИО (тип string);
адрес(тип string);
10 строк с названиями газет и журналов.
Переменную, определяющую запись, назовите G
Написать программу на языке Паскаль, в которой получить и вывести на экран какую корреспонденцию получает указанный подписчик.
2. Дан массив М Целых чисел из 77 элементов.Написать программу , которая выводит на экран максимальный среди отрицательных элементов.
Ввод массива оформить как процедуру ,нахождения max как функцию.

DoctorWho
11.06.2010, 04:50
задача №2.
Функция нахождения максимума в одномерном массиве А[1..N]:

function max(A:array of integer):integer;
var i:byte; maxi:byte;
begin
maxi:=1;
for i:=2 to N do
if A[i]>A[maxi] then maxi:=i;
max:=maxi;
end;
Функции передается массив, она возвращает индекс максимального элемента. Сам максимальный элемент - А[max(A)].
Осталось немного переделать)

Светлана_31rus
12.06.2010, 22:13
var m:array [1..77] of integer; max,fl,i:integer;

procedure vvod(m[i]); /процедура ввод массива
begin
readln(m[i]);
end;

function maxi; /функция нахождение максимального элемента
begin
if m[i]>max then max:=m[i];
maxi:=max;
if max=0 then ('в массиве нет отрицательных цисел')
else writeln('максимальное отрицательное=',max:7);
end;

begin

writeln('введи массив целых чисел');
for i:=1 to 77 do vvod(m[i]);

i:=1; fl:=0;
while (fl=0) and (i<=77) do begin /нахождение 1го отриц.элемента
if m[i]<0 tnen begin fl=1; max:=m[i]; end;
i:=i+1;
end;

if i>77 then max:=0; /если отрицательных нет то мах=0

for i:=1 to 77 do maxi;
end.




примерная программа. не исключены небольшие ошибки. отладите сами

Добавлено через 47 минут
задача 1

type post=record
fio:string;
adr:string;
cor: array [1..10] of string;
end;
var g:array [1..50] of post;n,i,j:integer; fion:string;
begin
writeln('введи кол-во подписчиков');
readln(n);
for i:=1 to n do begin
wtiteln('введи фио',i);
readln(g[i].fio);
wtiteln('введи адресс',i);
readln(g[i].adr);
for j:=1 to 10 do begin
writeln(j,' издание ',i,' подписчика ');
readln(g[i].cor[j]);
end;
writeln('введи необходиное фио');
readln(fion);
for i:=1 to n do begin
if fion=g[i].fio then
for j:=1 to 10 do begin
writeln(j,' издание ',i,' подписчика= ',g[i].cor[j]);
end;
end.

возможны недочеты. отладите сами