![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
baby_blues |
![]()
Сообщение
#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 Заранее большое спасибо! |
![]() ![]() |
Julia |
![]()
Сообщение
#2
|
Ассистент ![]() ![]() ![]() ![]() Группа: Julia Сообщений: 593 Регистрация: 23.2.2007 Город: Улан-Удэ Учебное заведение: БГУ Вы: преподаватель ![]() |
А что получилось и с чем проблемы?
|
baby_blues |
![]()
Сообщение
#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 |
![]()
Сообщение
#4
|
Ассистент ![]() ![]() ![]() ![]() Группа: Julia Сообщений: 593 Регистрация: 23.2.2007 Город: Улан-Удэ Учебное заведение: БГУ Вы: преподаватель ![]() |
В цикле, задающем матрицу, не хватает операторных скобок. В результате выполняется только первый оператор v:=v*j;
|
baby_blues |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Продвинутые Сообщений: 5 Регистрация: 20.11.2011 Город: Москва Учебное заведение: РГУ НиГ Вы: студент ![]() |
Спасибо за помощь!!! Ещё не пробовала изменить программу- но надеюсь, что всё получится!!!
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 25.5.2025, 16:37 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru