Помогите, пожалуйста, решить задачи на векторы:
1) Вводится длина вектора и значения его элементов. Составить и вывести новый вектор со значениями элементов исходного вектора, не равных заданному значению.
2) Ввести размерность матрицы и значения ее элементов. Построить вектор В, где В(i) - среднее арифметическое отрицательных элементов в i-ой строке.
Заранее спасибо!
Это хорошо .. что конкретно у тебя на получается какая часть задания ? Что уже готово ?
klem4
в том то и дело, что ничего не занаю, как делать, ибо полсеместра проболел, вышел и тут мне лабораторку дают: "до завтра реши" а я векторов вообще в глаза никогда не видел...
Проболел .. ну так преподу так бы и сказал ... :dry:
держи, подарок тебе к новому году ;)
1)
uses crt;
var
a,b : array[1..10] of integer;
i,j,n : byte;
k : integer;
begin
clrscr;
write('n='); readln(n);
write('k='); readln(k);
j := 0;
for i := 1 to n do begin
write('a[',i,']=');
readln(a[i]);
if a[i] <> k then begin
inc(j);
b[j] := a[i];
end;
end;
writeln;
for i := 1 to j do writeln(b[i]);
readln
end.
uses crt;
const
n = 3;
type
Tarray = array[1..n] of single;
TMatrix = array[1..n] of TArray;
function Sr(mx : TMatrix; i : byte) : single;
var
s : single;
j ,count: byte;
begin
s := 0;
count := 0;
for j := 1 to n do
if mx[i,j] < 0 then begin
s := s + mx[i,j];
inc(count);
end;
if count = 0 then Sr := 0
else Sr := s/count;
end;
procedure Input(var mx : TMatrix);
var
i,j : byte;
begin
for i := 1 to n do
for j := 1 to n do begin
write('mx[',i,',',j,']=');
readln(mx[i,j]);
end;
writeln;
end;
procedure Print(mx : TMatrix);
var
i,j : byte;
begin
for i := 1 to n do begin
writeln;
for j := 1 to n do write(mx[i,j]:3:2,' ');
end;
writeln;
end;
procedure GetArray(mx : TMatrix; var arr : TArray);
var
i: byte;
begin
writeln;
for i := 1 to n do begin
arr[i] := Sr(mx,i);
writeln('a[',i,']=',arr[i]:2:2);
end;
end;
var
a : TArray;
m : TMatrix;
begin
clrscr;
Input(m);
Print(m);
GetArray(m,a);
readln
end.
спосибо тебе ОГРОМНОЕ!!!