![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Регистрация: 22.05.2012
Сообщений: 7
|
![]() Код:
Последний раз редактировалось Stilet; 28.05.2012 в 21:33. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Ну так и создайте объект с тремя методами: ввод данных, вычисления, печать.
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 22.05.2012
Сообщений: 7
|
![]()
я не умею, помоги пожалуйста
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Я не вижу никаких собственных попыток что-то сделать.
Код, судя по всему, писал не ты. Значит, оно тебе не нужно. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 109
|
![]()
Андрей11111, первое - где описание переменных? Без описания переменных сложновато как-то переделать. Второе - программа не работает так как нужно, как можно не рабочую программу переделать?
Код:
Если сделаешь рабочую программу, которую я себе скопирую и она будет работать, сделаю объект. |
![]() |
![]() |
![]() |
#6 |
Регистрация: 22.05.2012
Сообщений: 7
|
![]()
так что нужно сделать?
|
![]() |
![]() |
![]() |
#7 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
Дописать представленную программу до рабочего состояния.
Тогда kuy согласится помочь с ООП.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#8 |
Регистрация: 22.05.2012
Сообщений: 7
|
![]()
я не смогу. у меня ещё второй вариант этой задачи:
Program Umnoj2; Const Max=50; Var AA,BB,CC: array [1..Max,1..Max] of Double; {to est' mesto dlya matric videlyaem s zapasom} ii,jj,kk,nn,mm,ll : integer; Summa: double; begin writeln ('Programma umnozhaet matricu A na matricu B'); write('Vvedite chislo strok 1-y matricy - A (<=50)--> ');readln(NN); write('Vvedite chislo stolbcov 2-y matricy - A (<=50)--> ');readln(KK); write('Vvedite chislo stolbcov 2-y matricy - B (<=50)--> ');readln(MM); writeln('Vvedite 1-yu matricu (A):'); for ii:=1 to nn do for jj:=1 to kk do begin write('Vvedite A[',ii,',',jj,'] --> '); readln(AA[ii,jj]); end; writeln('Vvedite 2-yu matricu (B):'); for ii:=1 to kk do for jj:=1 to mm do begin write('Vvedite B[',ii,',',jj,'] --> '); readln(BB[ii,jj]); end; {Vychislyaem elementy matricy-rezul'tata} for ii:=1 to nn do for jj:=1 to mm do begin Summa:= 0; for ll:= 1 to kk do Summa:= Summa + AA[ii,ll]*BB[ll,jj]; CC[ii,jj] := Summa; end; {Vyvodim matricy-rezul'tat} writeln('---- rezul'tat: -----'); for ii:=1 to nn do begin for jj:=1 to mm do write(CC[ii,jj]:8:2); writeln; end; readln; end. |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 109
|
![]()
Андрей11111, апостроф для вывода в консоль пишется с двума штрихами (по крайней мере в моём компиляторе, мб в твоём с одной, но я сомневаюсь), вот: не writeln('---- rezul'tat: -----');, а writeln('---- rezul''tat: -----');
Ну а в целом второй вариант программы очень даже не плохой. Если нужны комментарии обращайся, а вкратце: я создал объект, в поля скопировал твои переменные, 3 метода(ввод данных, вычисления, печать), тоже в них твой код скопировал и вызвал в программе. Код:
Последний раз редактировалось kuy; 29.05.2012 в 22:22. |
![]() |
![]() |
![]() |
#10 |
Регистрация: 22.05.2012
Сообщений: 7
|
![]()
спасибо большое))))
можешь ещё метод крамера переделать под ООП?) program Kramer; uses crt; type Tmass=array[1..20] of real; Tmatrix=array[1..20] of Tmass; procedure Per(k,n:integer;var a:Tmatrix;var p:integer); var z:Real;j,i:integer; begin z:=abs(a[k,k]); i:=k; p:=0; for j:=k+1 to n do begin if abs(a[j,k])>z then begin z:=abs(a[j,k]); i:=j; p:=p+1; end; end; if i>k then for j:=k to n do begin z:=a[i,j]; a[i,j]:=a[k,j]; a[k,j]:=z; end; end; function Znak(p:integer):integer; begin if p mod 2=0 then Znak:=1 else Znak:=-1; end; procedure Opr(n:integer;a:tmatrix;var det:real); var k,i,j,p:integer;r:real; begin det:=1.0; for k:=1 to n do begin if a[k,k]=0 then Per(k,n,a,p); det:=znak(p)*det*a[k,k]; for j:=k+1 to n do begin r:=a[j,k]/a[k,k]; for i:=k to n do begin a[j,i]:=a[j,i]-r*a[k,i]; end; end; end; end; var a:Tmatrix; c:array[1..20] of Tmatrix; b,x:Tmass; det,det1:real; n,k,j,i:integer; begin clrscr; write('Порядок системы n='); readln(n); writeln('Введите коэффициенты системы:'); for i:=1 to n do for j:=1 to n do read(a[i,j]); readln; writeln('Введите свободные члены:'); for i:=1 to n do read(b[i]); readln; clrscr; writeln('Расширенная матрица системы:'); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:7:2); write(b[i]:9:2); writeln; end; Opr(n,a,det);{определитель системы исходной} for i:=1 to n do begin for k:=1 to n do begin for j:=1 to n do c[i][k,j]:=a[k,j]; c[i][k,i]:=b[k]; end; Opr(n,c[i],det1); if(det=0)and(det1=0) then begin writeln('Система не определена!'); readln; exit; end; if(det=0)and(det1<>0) then begin writeln('Система не имеет решений!'); readln; exit; end; x[i]:=det1/det;{корень} end; writeln('Корни сиcтемы:'); for i:=1 to n do writeln('x',i,'=',x[i]:7:3); readln end. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
объектно-ориентированное программирование | ГульнарочкаГ | Помощь студентам | 3 | 09.02.2012 16:14 |
Объектно-ориентированное программирование | Kira444 | Помощь студентам | 21 | 03.02.2011 16:34 |
Объектно ориентированное программирование в С++ | SeReGa48 | Помощь студентам | 0 | 16.11.2010 23:27 |
Объектно-ориентированное программирование | valiaam55 | Паскаль, Turbo Pascal, PascalABC.NET | 17 | 10.07.2010 10:30 |
Объектно-ориентированное программирование | dzhI | Помощь студентам | 8 | 19.03.2009 13:38 |