Задачка

  • Автор темы ludan
  • Дата начала
Статус
Закрыто для дальнейших ответов.
L

ludan

Гость
#1
1.создать текстовый файл из трех массивов вещественных чисел (в каждой строке один массив). считать его и выдать на экран номера отрицательных элементов в каждом массиве. если таких нет, то тоже выдать сообщение.
2.описать указатель на массив из 10 элементов целого типа. заполнить массив с помощью генератора случайных чисел. найти максимальное и минимальное значения элементов, используя указатели. оставшиеся элементы вывести на экран.
3.написать внешний модуль для ввода массива из 7 вещественных чисел и нахождения минимального его члена. в программе с помощью внешнего модуля ввести 2 массива и вывести на экран минимальные значения для каждого из них.

спасите
 

Vadik(R)

Well-Known Member
12.12.2007
469
0
#2
Могу сделать тебе задачи, не за бесплатно, конечно.
Отпишись, если согласен.
 

Vadik(R)

Well-Known Member
12.12.2007
469
0
#4
Всё прошло успешно с этим человеком, вот решения.
Задача 1:
Код:
program Project1;

{$APPTYPE CONSOLE}

var
a, b, c: array [1..10] of real;
i, na, nb, nc: integer;
f: text;
fl: boolean;
begin
write('na=');
readln(na);
for i := 1 to na do
begin
write('a[', i, ']=');
readln(a[i]);
end;
write('nb=');
readln(nb);
for i := 1 to nb do
begin
write('b[', i, ']=');
readln(b[i]);
end;
write('nc=');
readln(nc);
for i := 1 to nc do
begin
write('c[', i, ']=');
readln(c[i]);
end;
assign(f, 'output.txt');
rewrite(f);
for i := 1 to na - 1 do
write(f, a[i], ' ');
writeln(f, a[na]);
for i := 1 to nb - 1 do
write(f, b[i], ' ');
writeln(f, b[nb]);
for i := 1 to nc - 1 do
write(f, c[i], ' ');
writeln(f, c[nc]);
close(f);
reset(f);
na := 0;
while not eoln(f) do
begin
na := na + 1;
read(f, a[na]);
end;
readln(f);
nb := 0;
while not eoln(f) do
begin
nb := nb + 1;
read(f, b[nb]);
end;
readln(f);
nc := 0;
while not eoln(f) do
begin
nc := nc + 1;
read(f, c[nc]);
end;
close(f);
fl := true;
for i := 1 to na do
if a[i] < 0 then
begin
writeln('Номер отрицательного элемента в первом массиве: ', i, '.');
fl := false;
end;
if fl then writeln('В первом массиве отрицательных элементов нет.');
fl := true;
for i := 1 to nb do
if b[i] < 0 then
begin
writeln('Номер отрицательного элемента во втором массиве: ', i, '.');
fl := false;
end;
if fl then writeln('Во втором массиве отрицательных элементов нет.');
fl := true;
for i := 1 to nc do
if c[i] < 0 then
begin
writeln('Номер отрицательного элемента в третьем массиве: ', i, '.');
fl := false;
end;
if fl then writeln('В третьем массиве отрицательных элементов нет.');
readln;
end.
Задача 2:
Код:
program Project1;

{$APPTYPE CONSOLE}

const
n = 10;

type
TArray = array [1..n] of integer;
PArray = ^TArray;

var
a: PArray;
i: integer;
min, max: ^integer;
begin
randomize;
new(a);
new(min);
new(max);
for i := 1 to n do
begin
a^[i] := random(20) - 10;
writeln('a[', i, ']=', a^[i]);
end;
min^ := a^[1];
max^ := a^[1];
for i := 2 to n do
begin
if a^[i] < min^ then min^ := a^[i];
if a^[i] > max^ then max^ := a^[i];
end;
writeln('Минимальный элемент массива: ', min^, '.');
writeln('Максимальный элемент массива: ', max^, '.');
for i := 1 to n do
if (min^ < a^[i]) and (a^[i] < max^) then write(a^[i], ' ');
dispose(a);
dispose(min);
dispose(max);
readln;
end.
Задача 3, код модуля:
Код:
unit UArray;

interface

uses
crt;

const
n = 7;

type
TArray = array [1..7] of real;

procedure ReadArray(var A: TArray; c: char);
function FindMin(const A: TArray): real;

implementation

procedure ReadArray(var A: TArray; c: char);
var
i: integer;
begin
for i := 1 to n do
begin
write(c, '[', i, ']=');
readln(a[i]);
end;
end;

function FindMin(const A: TArray): real;
var
i: integer;
begin
result := a[1];
for i := 2 to n do
if a[i] < result then result := a[i];
end;

begin

end.
Задача 3, код программы:
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
UArray;

var
a, b: TArray;
mina, minb: real;
begin
ReadArray(a, 'A');
ReadArray(b, 'B');
mina := FindMin(a);
minb := FindMin(b);
writeln('Минимальный элемент массива A: ', mina, '.');
writeln('Минимальный элемент массива B: ', minb, '.');
readln;
end.
 
Статус
Закрыто для дальнейших ответов.