Другие языки программирования и технологии
Прошу помочь с Pascal
Задание написать программу "Организовать файл вещественных чисел из N компонент. Найти среднее геометрическое всех положительных чисел файла"
вот более сложная прога, примени
{Задан массив размерностью (10х10) элементов. Присвоить
элементам массива значение функции
y=cos(x^0,25-0.5*x^0.5+0.25*x^0.75) при
изменении аргумента от 4,5 с шагом 0,35.
найти в каждом столбце макс положительный элемент
и поменять его местами с элементами главной диагонали
вывести на экран в формате 3 знака после запятой:
исходный массив,
полученный массив,
искомые элементы (если они есть)
Предусмотреть возможность вывода на экран и в файл. }
program massiv;
uses crt;
type mas= array[1..100,1..100] of real;
var
f:file of real;
j,i,k:integer;
y: mas;
max,x:real;
m:array[1..10] of real;
maxi:array[1..10] of integer;
BEGIN
clrscr;
assign(f,'f.tt');
rewrite(f);
x:=4.5;
writeln(' исходный массив ');
writeln('---------------------------');
for i:=1 to 10 do begin
for j:=1 to 10 do begin
y[i,j]:=cos(power(x,0.25) -0.5*sqrt(x) +0.25* power(x,0.75));
write(y[i,j]:7:3); x:=x+0.35;
end;
writeln; end;
writeln('Максимальные по столбцам ');
for j:=1 to 10 do begin
max:=y[1,j];
for i:=1 to 10 do
if (y[i,j]>0) and (y[i,j]>max) then
begin max:=y[i,j]; k:=i end;
m[j]:=max; maxi[j]:=k;
end;
for j:=1 to 10 do
write(maxi[j]:7);
writeln;
for j:=1 to 10 do
write(m[j]:7:3);
writeln;
for i:=1 to 10 do begin
x:=y[i,i]; y[i,i]:=m[i]; y[i,maxi[i]]:=x;
end;
writeln('Enter'); readln;
writeln(' Конечный массив ');
writeln('---------------------------');
for i:=1 to 10 do begin
for j:=1 to 10 do
write(y[i,j]:7:3);
writeln; end;
//Запись в файл
for i:=1 to 10 do
for j:=1 to 10 do
write(f,y[i,j]);
close(f);
reset(f);
writeln('Массив из файла ');
writeln('Enter') ; readln;
for i:=1 to 10 do begin
for j:=1 to 10 do begin
read(f,x);
write(x:7:3); end;
writeln; end;
close(f);
writeln('конец задачи ');
readln;
END.
{Задан массив размерностью (10х10) элементов. Присвоить
элементам массива значение функции
y=cos(x^0,25-0.5*x^0.5+0.25*x^0.75) при
изменении аргумента от 4,5 с шагом 0,35.
найти в каждом столбце макс положительный элемент
и поменять его местами с элементами главной диагонали
вывести на экран в формате 3 знака после запятой:
исходный массив,
полученный массив,
искомые элементы (если они есть)
Предусмотреть возможность вывода на экран и в файл. }
program massiv;
uses crt;
type mas= array[1..100,1..100] of real;
var
f:file of real;
j,i,k:integer;
y: mas;
max,x:real;
m:array[1..10] of real;
maxi:array[1..10] of integer;
BEGIN
clrscr;
assign(f,'f.tt');
rewrite(f);
x:=4.5;
writeln(' исходный массив ');
writeln('---------------------------');
for i:=1 to 10 do begin
for j:=1 to 10 do begin
y[i,j]:=cos(power(x,0.25) -0.5*sqrt(x) +0.25* power(x,0.75));
write(y[i,j]:7:3); x:=x+0.35;
end;
writeln; end;
writeln('Максимальные по столбцам ');
for j:=1 to 10 do begin
max:=y[1,j];
for i:=1 to 10 do
if (y[i,j]>0) and (y[i,j]>max) then
begin max:=y[i,j]; k:=i end;
m[j]:=max; maxi[j]:=k;
end;
for j:=1 to 10 do
write(maxi[j]:7);
writeln;
for j:=1 to 10 do
write(m[j]:7:3);
writeln;
for i:=1 to 10 do begin
x:=y[i,i]; y[i,i]:=m[i]; y[i,maxi[i]]:=x;
end;
writeln('Enter'); readln;
writeln(' Конечный массив ');
writeln('---------------------------');
for i:=1 to 10 do begin
for j:=1 to 10 do
write(y[i,j]:7:3);
writeln; end;
//Запись в файл
for i:=1 to 10 do
for j:=1 to 10 do
write(f,y[i,j]);
close(f);
reset(f);
writeln('Массив из файла ');
writeln('Enter') ; readln;
for i:=1 to 10 do begin
for j:=1 to 10 do begin
read(f,x);
write(x:7:3); end;
writeln; end;
close(f);
writeln('конец задачи ');
readln;
END.
Похожие вопросы
- Помогите разобраться, Pascal!
- Помогите с Pascal 7.0!Кто чем может!
- Прошу помогите решить на Pascal
- Помогите с Pascal, найдите ошибку
- Прошу помочь разобраться, пояснить некоторые пункты требования ТИПОГРАФИИ.
- ПОМОГИТЕ С PASCAL!!!
- Помогите пожалуйста (pascal). В долгу не останусь ;)
- помогите с pascal! пожалуйста!!
- помогите пожалуйста.pascal
- Люди помогите с Pascal