Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




МЭИ (ТУ)

Rusa




Слепl 828x232i 6;в С.С.

Препl 828x232i 6;даватель: Выборова Нина Евгеньевна

Заданы три целочисленных массива: A[15], B[20], C[10]. Определить, какой из массивов имеет максимальное значение минимального элемента. 

na, nb, nc

A, B, C

0 < nx <= 20

Массивы целых чисел, |Ai| <= 99,

XX (:2)

XX (:2)

maxarr

i

min1, min2, min3

maxmin

0 < i <= 10

Минимальные значения элементов массивов, |min1| <= 99

|maxmin| <= 99

XX (:2)

XX (:2)

XX (:2)

1. Ввести элементы массивов A[na], B[nb], C[nc].

2. Найти минимальные значения в массивах A, B, C.

3. Сравнить мин. значения min1, min2, min3 в массивах A, B, C, определить, в каком массиве такое значение наибольшее (maxarr).

4. Вывести значение maxarr на экран/в файл.

Пусть содержание массивов A, B, C будет следующим:

A[na]:

min1 = -92

B[nb]:

min2 = -64

C[nc]:

min3 = -65

Массив B[nb] имеет максимальное значение минимального элемента среди всех трех массивов(-64).

Нахождение минимального элемента массива будет происходить в цикле. Сначала установим min = X[1] (где X - текущий массив). Пусть i - индекс текущего элемента массива. Если X[i] < min, присваиваем min значение X[i]. В противном случае переходим к следующему элементу.

A[15]:

B[20]:

C[15]:

'B'

Массив B имеет максимальное значение минимального элемента

A[15]:

B[20]:

C[15]:

ABC

A[15]:

B[20]:

C[15]:

BC

Текст программы на ЯВУ Pascal

Program arrays;

const MAX = 20;

type

ma = array[1..MAX] of integer;

var

na, nb, nc, min1, min2, min3:integer;

dat1, dat2, dat3, res:TextFile;

A, B, C:ma;

maxarr:string;

procedure finput(var n:integer;

var X:ma;

var dat:TextFile);

var i:integer;

begin

Reset(dat);

readln(dat, n);

for i := 1 to n do

read(dat, X[i]);

CloseFile(dat);

end;

procedure findmin(const n:integer;

var X:ma;

var min:integer);

var i:integer;

begin

min := X[1];

for i := 1 to n do

if(X[i] < min) then

min := X[i];

end;

procedure fmaxmin(const min1, min2, min3:integer;

var maxarr:string);

var maxmin:integer;

begin

maxmin := min1;

maxarr := 'A';

if((min1 = min2) and (min2 = min3)) then

maxarr := 'ABC'

else if((min2 > maxmin) and (min2 = min3)) then

maxarr := 'BС'

else if(min2 > maxmin) then

maxarr := 'B'

else if(maxmin = min2) then

maxarr := 'AB'

else if(maxmin = min3) then

maxarr := 'AC'

else if(min3 > maxmin) then

maxarr := 'C';

end;

BEGIN

AssignFile(dat1, ParamStr(1));

AssignFile(dat2, ParamStr(2));

AssignFile(dat3, ParamStr(3));

AssignFile(res, ParamStr(4));

finput(na, A, dat1);

finput(nb, B, dat2);

finput(nc, C, dat3);

findmin(na, A, min1);

findmin(nb, B, min2);

findmin(nc, C, min3);

fmaxmin(min1, min2, min3, maxarr);

Rewrite(res);

write(res, maxarr);

CloseFile(res);

END.

Program arrays;

const MAX = 20;

type

ma = array[1..MAX] of integer;

var

na, nb, nc, min1, min2, min3:integer;

dat1, dat2, dat3, res:TextFile;

A, B, C:ma;

procedure finput(var n:integer;

var X:ma;

var dat:TextFile);

var i:integer;

begin

Reset(dat);

readln(dat, n);

for i := 1 to n do

read(dat, X[i]);

CloseFile(dat);

end;

function findmin(const n:integer;

var X:ma):integer;

var i, min:integer;

begin

min := X[1];

for i := 1 to n do

if(X[i] < min) then

min := X[i];

findmin := min;

end;

function fmaxmin(const min1, min2, min3:integer):string;

var maxmin:integer;

maxarr:string;

begin

maxmin := min1;

maxarr := 'A';

if((min1 = min2) and (min2 = min3)) then

maxarr := 'ABC'

else if((min2 > maxmin) and (min2 = min3)) then

maxarr := 'BС'

else if(min2 > maxmin) then

maxarr := 'B'

else if(maxmin = min2) then

maxarr := 'AB'

else if(maxmin = min3) then

maxarr := 'AC'

else if(min3 > maxmin) then

maxarr := 'C';

fmaxmin := maxarr;

end;

BEGIN

AssignFile(dat1, ParamStr(1));

AssignFile(dat2, ParamStr(2));

AssignFile(dat3, ParamStr(3));

AssignFile(res, ParamStr(4));

finput(na, A, dat1);

finput(nb, B, dat2);

finput(nc, C, dat3);

min1 := findmin(na, A);

min2 := findmin(nb, B);

min3 := findmin(nc, C);

Rewrite(res);

write(res, fmaxmin(min1, min2, min3));

CloseFile(res);

END.


Document Info


Accesari: 1658
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )