IPB

Здравствуйте, гость ( Вход | Регистрация )

> Pascal!!!!, Пожалуйста, помогите с задачей!
baby_blues
сообщение 20.11.2011, 14:26
Сообщение #1


Новичок
*

Группа: Продвинутые
Сообщений: 5
Регистрация: 20.11.2011
Город: Москва
Учебное заведение: РГУ НиГ
Вы: студент



Пожалуйста, помогите с задачей! Уже неделю с ней мучаюсь- ничего не получается!

Дана матрица А={a [i, j] }, {i=1, 2, .., n; j = 1, 2, .., m}
n=4 и m=7.
Найти среднее значение элементов 1 столбца и среднее значение элементов 2 столбца.
В каждом столбце подсчитать число элементов, больших среднего значения.
Среди элементов первых двух столбцов найти наибольший и поменять его с элементом последнего столбца, принадлежащим той же строчке. Напечатать элементы исходной и преобразованной матрицы.

для j>3 a[i,j]=x+y/(i+j*scrt(x)
В остальных случаях а=x+x/j!+ exp(5*ln(x))/i

Заранее большое спасибо!

Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов(1 - 4)
Julia
сообщение 20.11.2011, 14:36
Сообщение #2


Ассистент
****

Группа: Julia
Сообщений: 593
Регистрация: 23.2.2007
Город: Улан-Удэ
Учебное заведение: БГУ
Вы: преподаватель



А что получилось и с чем проблемы?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
baby_blues
сообщение 20.11.2011, 15:50
Сообщение #3


Новичок
*

Группа: Продвинутые
Сообщений: 5
Регистрация: 20.11.2011
Город: Москва
Учебное заведение: РГУ НиГ
Вы: студент



В общем, программа получилась, но в ответах одни нули.
program laboratornaja;
uses crt;
type matr=array[1..4,1..7] of real;
var a:matr;
i,j,v,k1,k2:integer;
x,y,s1,s2:real;
maxi,maxj:integer;{budut hranit' nomera naibolsh element
massiva}
buf:real;
f:text;
begin
clrscr;
writeln('Введите x');
readln(x);
writeln('Введите y');
readln(y);
assign(f,'r.pas');
rewrite(f);
v:=1;
for i:=1 to 4 do
for j:=1 to 7 do
v:=v*j;
if j>3 then a[i,j]:=x+y/(i+j*sqrt(x)) else
a[i,j]:=x+x/v+exp(5*ln(x))/i;
writeln(f,'Полученная матрица А');
for i:=1 to 4 do
begin
for j:=1 to 7 do write(f,a[i,j]:6:3, ' ');
writeln(f);
end;
s1:=0;
for i:=1 to 4 do
for j:=1 to 1 do
s1:=s1+a[i,j];
S1:=s1/4;
writeln(f,'Среднее арифметическое первого столбца',s1:6:3);
s2:=0;
for i:=1 to 4 do
for j:=2 to 2 do
s2:=s2+a[i,j];
S2:=s2/4;
writeln(f,'Среднее арифметическое второго столбца',s2:6:3);
k1:=0;
k2:=0;
for i:=1 to 4 do
for j:=1 to 1 do
if a[i,j]>s1 then k1:=k1+1;
writeln(f,'Чичло элементов 1 столбца больших среднего');
writeln(f,'k1=',k1:3);
for i:=1 to 4 do
for j:=2 to 2 do
if a[i,j]>s2 then k2:= k2+1;
writeln(f,'Число элементов 2 столбца больших среднего');
writeln(f,'k2=',k2:3);
maxi:=1;
maxj:=1;
for i:=1 to 4 do
for j:=1 to 2 do
if (a[i,j]>a[maxi,maxj]) then maxi:=i;
if (a[i,j]>a[maxi,maxj]) then maxj:=j;
buf:=a[maxi,maxj];
a[maxi,maxj]:=a[maxi,7];
a[maxi,7]:=buf;
writeln(f,'Максимальный элемент');
writeln(f,'a[maxi,maxj]',a[maxi,maxj]:3);
for i:=1 to 4 do
for j:=1 to 7 do
writeln(f,a[i,j]:6:3, ' ');
close(f);
end.


В ответе:
Полученная матрица А
0.000 0.000 0.000 0.000 0.000 0.000 0.000
0.000 0.000 0.000 0.000 0.000 0.000 0.000
0.000 0.000 0.000 0.000 0.000 0.000 0.000
0.000 0.000 0.000 0.000 0.000 0.000 4.167
Среднее арифметическое первого столбца 0.000
Среднее арифметическое второго столбца 0.000
Чичло элементов 1 столбца больших среднего
k1= 0
Число элементов 2 столбца больших среднего
k2= 0
Максимальный элемент
a[maxi,maxj] 0.0E+000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
4.167
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Julia
сообщение 23.11.2011, 9:06
Сообщение #4


Ассистент
****

Группа: Julia
Сообщений: 593
Регистрация: 23.2.2007
Город: Улан-Удэ
Учебное заведение: БГУ
Вы: преподаватель



В цикле, задающем матрицу, не хватает операторных скобок. В результате выполняется только первый оператор v:=v*j;
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
baby_blues
сообщение 24.11.2011, 19:37
Сообщение #5


Новичок
*

Группа: Продвинутые
Сообщений: 5
Регистрация: 20.11.2011
Город: Москва
Учебное заведение: РГУ НиГ
Вы: студент



Спасибо за помощь!!! Ещё не пробовала изменить программу- но надеюсь, что всё получится!!!
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 25.5.2025, 16:37

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru