Помогите пожалуйста перевести программы с Pascal на Borland C, с Borland C ни разу не работал. Заранее спасибо! Код | program kr2; uses crt; const MAX = 21; {размер массива} type Tvect = array[1..MAX] of real; {имя массива тип индекса тип элемента} {-----------------------------------------------------------} {poisk indeksa minimalnogo elementa} function seekIndexMin(pvect : Tvect; n : integer) : integer; {Эта функция ищет мин. индекс в массиве pvect размерностью n}
var i, imin : integer; begin imin := 1; for i := 2 to n do if(pvect[i] < pvect[imin]) then {находим меньший индекс} imin := i; {<--выполняется один оператор т.к. в теле цикла нет begin и end} seekIndexMin := imin; end; {-----------------------------------------------------------} {raschet srednego arifmeticheskogo} function aver(pvect : Tvect; n : integer) : real; {функция aver расчитывает среднее арифметическое в массиве pvect размерностью n} var i : integer; s : real; begin s := 0; for i := 1 to n do s := s + pvect[i]; {складывем элементы и делим на кол-во элеметов} {<--выполняется 1 оперетор т.к. в теле цикла нет begin и end} aver := s / n; end; {-----------------------------------------------------------} {vstavka srednego arif posle min} procedure insertAverAfterMin(var pvect : Tvect; var n : integer; paver : real; pimin : integer); {эта процедура вставляет среднее рифметическое после мин. элемента в массиве pvect размерностью n, paver число} var i : integer; begin for i := n + 1 downto pimin + 2 do {начинаем с конца т.к. downto n+1 делаем отступ для среднего арифметического} pvect[i] := pvect[i - 1]; {<--выполняется 1 оперетор т.к. в теле цикла нет begin и end} pvect[pimin + 1] := paver; inc(n, 1); {освобождение места размером в 1 индекс} end; {-----------------------------------------------------------} {pechat massiva na ekrane} procedure printVect(pvect : Tvect; n : integer); {печатаем массив pvect размерностью n} var i : integer; begin writeln; write('Массив имеет вид: '); for i := 1 to n do {<--выполняется 1 оперетор т.к. в теле цикла нет begin и end} write(pvect[i]:5:0); {вывод массива pvect[i] на экран} writeln; end; {-----------------------------------------------------------} {Основная программа} var pvect : Tvect; n, i : integer; begin clrscr; write('Введите кол-во элементов массива '); readln(n); {Ввод кол-ва элементов} for i := 1 to n do begin writeln('Введите массив:'); Readln(pvect[i]); {Ввод массива} end; printVect(pvect, n);
insertAverAfterMin(pvect, n, aver(pvect, n), seekIndexMin(pvect, n)); printVect(pvect, n); readkey;
end.
|
и вот вторая Код | Program lr15_6; Type konf=record {Описание переменной} nazvan:string[20]; ves,kolvo,veskor:integer; end; var N,i,min,ves,kolvo,s,imin,m:integer; x:array[1..20] of konf; begin Writeln('Сколько будет названий коробок: '); Readln(N); for i:=1 to N do begin writeln('Введите название коробки'); Readln(x[i].nazvan); writeln('Вес конфеты в коробке гр.'); Readln(x[i].ves); writeln('Количество конфет в коробке шт.'); Readln(x[i].kolvo); writeln; end; min:=32767;
for i:=1 to n do {определение самой легкой} begin x[i].veskor:=x[i].kolvo*x[i].ves; {умножаем вес конфеты и количество конфет в коробке, чтобы найти вес коробки} if x[i].veskor<min then min:=x[i].veskor;
Writeln(x[i].nazvan,' ',x[i].veskor); writeln;
end; Writeln('Самые легкие коробки: '); for i:=1 to n do
begin if x[i].veskor=min then
Writeln(x[i].nazvan,' ',x[i].veskor);
end; end.
|
|