Помощь - Поиск - Пользователи - Календарь
Полная версия: Задачи на векторы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
vitox
Помогите, пожалуйста, решить задачи на векторы:

1) Вводится длина вектора и значения его элементов. Составить и вывести новый вектор со значениями элементов исходного вектора, не равных заданному значению.

2) Ввести размерность матрицы и значения ее элементов. Построить вектор В, где В(i) - среднее арифметическое отрицательных элементов в i-ой строке.

Заранее спасибо!
volvo
Цитата
1) Вводится длина вектора и значения его элементов. Составить и вывести новый вектор со значениями элементов исходного вектора, не равных заданному значению.
Уточни задание, ты ничего не сказал про "задание значения" (по первому предложению, вводится только длина вектора и он сам, больше ничего...)... Приведи пример ввода и вывода...

Вторая задача уже решалась - пользуйся поиском...
vitox
Цитата(volvo @ 27.12.2005 15:25) *

Уточни задание, ты ничего не сказал про "задание значения"

как я понял, значение вводится пользователем
klem4
Это хорошо .. что конкретно у тебя на получается какая часть задания ? Что уже готово ?
vitox
klem4
в том то и дело, что ничего не занаю, как делать, ибо полсеместра проболел, вышел и тут мне лабораторку дают: "до завтра реши" а я векторов вообще в глаза никогда не видел...
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.



2)
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.
vitox
спосибо тебе ОГРОМНОЕ!!! give_rose.gif smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.