-=InFeRn@L=- Опубликовано 2 апреля, 2013 Жалоба Поделиться Опубликовано 2 апреля, 2013 Люди добрые! Нужна помощь, т.к. я сам в этом деле НУЛЬ - прошу помощи знающих)2 задания, вроде как *почти* правильные, но где то есть небольшие ошибки.Помогите) vector=array[1..50] of real;var A:massiv; {переменная массива} B:vector; {переменная массива} i,j,m,n:integer; {переменные для циклов}{------------------------------------------------------------}function simple(x:real):boolean; {процедура проверки числа на "простоту"}label 1; var i:longint;beginif (x=1) or (x=0) then begin result:=false; goto 1; end; for i:=2 to round(x) div 2 do if round(x) mod i=0 then begin result:=false; goto 1; end; result:=true;1:simple:=result;end; {***конец процедуры проверки числа на "простоту"}{------------------------------------------------------------}procedure make_vector(A:massiv;m,n:integer;var B:vector);var i,j :integer;pr :real;begin for j:=1 to m do begin pr:=1; for i:=1 to n do if simple(A[i,j]) then pr:=pr*A[i,j]; B[j]:=pr; end;end;{------------------------------------------------------------}beginwrite('N= '); readln (n); {считываем размер массива}write('M= '); readln (m); {считываем размер массива}writeln ('Vvedite elementy massiva A: ');for i:=1 to n dofor j:=1 to m do beginwrite ('A[',i,',',j,']='); readln (A[i,j]); end; {считываем элементы массива}write ('Vot vvedennyi vami massiv A: ');for i:=1 to n do begin writeln;for j:=1 to m do write (A[i,j]:4,' '); end; {выводим массив на экран}writeln;writeln;make_vector(A,m,n,;writeln ('Vot vector B: ');for j:=1 to m do write (B[j]:4,' ');readln;end. type massiv=array[1..50,1..50] of real;Здесь матрица вроде как считается, но не запрашиваются данные для вектора, в этом загвоздка. Var n,i,j,k,r:integer; max,c,s,M:real; a:array [1..50,1..50] of real; b:array [1..50] of real; x:array[1..50] of real;begin ClrScr; Write('Введите размерность'); Readln(n); for i:=1 to n do begin for j:=1 to n do begin Write('a[',i,',',j,']='); Read(a[i,j]); end; Write('b[',i,']='); Readln(b[i]); end; for k:=1 to n do begin max:=abs(a[k,k]); r:=k; for i:=k+1 to n do if abs(a[i,k])>max then begin max:=abs(a[i,k]); r:=i; end; for j:=1 to n do begin c:=a[k,j]; a[k,j]:=a[r,j]; a[r,j]:=c; end; c:=b[k]; b[k]:=b[r]; b[r]:=c; for i:=k+1 to n do begin M:=a[i,k]/a[k,k]; for j:=k to n do begin a[i,j]:=a[i,j]-a[k,j]*M; end; b[i]:=b[i]-b[k]*M; end; end; Writeln('Ступенчатый вид системы'); Writeln; for i:=1 to n do begin for j:=1 to n do Write(a[i,j]); Write('|'); Writeln(b[i]); Writeln; end; Writeln('Ответ'); Writeln; if a[n,n]=0 then if b[n]=0 then Writeln('Уравнение имеет бесконечное множество решений') else Writeln('Уравнение не имеет решений') else begin for i:=n downto 1 do begin s:=0; for j:=i+1 to n do begin s:=s+a[i,j]*x[j]; end; x[i]:=(b[i]-s)/a[i,i]; end; for i:=1 to n do Writeln('x[',i,']=',x[i]:2:1); end; readln; end. Uses Crt;А тут я вообще не понял в чем проблема) Ссылка на комментарий
ArtyomK Опубликовано 2 апреля, 2013 Жалоба Поделиться Опубликовано 2 апреля, 2013 Метод ЯкобиЧто это за ад? Какое отношение он имеет к методу Якоби?Как задание то звучало изначально?Метод ГауссаА от такого форматирования кода выпить захотелось.А тут я вообще не понял в чем проблема)Подробнее. Далеко не у всех есть какая-нибудь среда разработки для pascal/delphi. В чем проблема? Не компилируется (если да, то какие ошибки)? Неправильно работает (если да, то что именно не так: неправильно считает для такого-то примера или еще чего)? Ссылка на комментарий
-=InFeRn@L=- Опубликовано 2 апреля, 2013 Автор Жалоба Поделиться Опубликовано 2 апреля, 2013 Метод ЯкобиЧто это за ад? Какое отношение он имеет к методу Якоби?Как задание то звучало изначально?Метод ГауссаА от такого форматирования кода выпить захотелось.А тут я вообще не понял в чем проблема)Подробнее. Далеко не у всех есть какая-нибудь среда разработки для pascal/delphi. В чем проблема? Не компилируется (если да, то какие ошибки)? Неправильно работает (если да, то что именно не так: неправильно считает для такого-то примера или еще чего)?Я не понимаю в этом нифига)Препод сказал что ошибки какие то, мы там командой *гениев* так и не смогли разобраться!А этом (вроде Якоби) не запрашивает ввод значений для вектора в конце программы, а сразу выдает значеияДобавлено спустя 1 минуту 44 секунды:А на счет самого задания, просто сделать 2 программы по этим 2-м методам Ссылка на комментарий
ArtyomK Опубликовано 2 апреля, 2013 Жалоба Поделиться Опубликовано 2 апреля, 2013 -=InFeRn@L=-http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%AF%D0%BA%D0%BE%D0%B1%D0%B8А в том, что написано в посте, строится вектор из произведений всех простых чисел матрицы по столбцам. С неизвестными целями. Ссылка на комментарий
-=InFeRn@L=- Опубликовано 2 апреля, 2013 Автор Жалоба Поделиться Опубликовано 2 апреля, 2013 -=InFeRn@L=-http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%AF%D0%BA%D0%BE%D0%B1%D0%B8А в том, что написано в посте, строится вектор из произведений всех простых чисел матрицы по столбцам. С неизвестными целями.Ну вот именно) а как сделать чтобы с целью какой то он строился)Добавлено спустя 4 минуты 51 секунду:ArtyomKЕсли не сложно, скиньте хоть что то рабочее по этим методам) Ссылка на комментарий
piecemaker Опубликовано 2 апреля, 2013 Жалоба Поделиться Опубликовано 2 апреля, 2013 А что вас учат с goto программировать? Ссылка на комментарий
-=InFeRn@L=- Опубликовано 2 апреля, 2013 Автор Жалоба Поделиться Опубликовано 2 апреля, 2013 piecemakerУчили бы, да только это технолажа, дали задание, как хочешь так и делай Ссылка на комментарий
promises Опубликовано 3 апреля, 2013 Жалоба Поделиться Опубликовано 3 апреля, 2013 вот например (сам не пробовал):http://sguprog.narod.ru/Sources/Pascal/а вообще, научитесь гуглом искать, пригодится Ссылка на комментарий
_delphin_ Опубликовано 3 апреля, 2013 Жалоба Поделиться Опубликовано 3 апреля, 2013 piecemakerУчили бы, да только это технолажа, дали задание, как хочешь так и делайИмелось ввиду что операторы перехода типа GOTO и GOSUB в ООП не используются ВООБЩЕ. НИКАК. Ни при каких обстоятельствах. Как и глобальные переменные. Да, это усложняет код простых задач. Но значительно упрощает разработку крупных проектов. Ссылка на комментарий
ArtyomK Опубликовано 3 апреля, 2013 Жалоба Поделиться Опубликовано 3 апреля, 2013 http://sguprog.narod.ru/Sources/Pascal/Только не вздумай брать оттуда метод Якоби, тебе не этот нужен)А что вас учат с goto программировать?Серьезно?) Это больше всего смущает?) Ссылка на комментарий
piecemaker Опубликовано 4 апреля, 2013 Жалоба Поделиться Опубликовано 4 апреля, 2013 да я этот код даже не стал смотреть особо Ссылка на комментарий
-=InFeRn@L=- Опубликовано 4 апреля, 2013 Автор Жалоба Поделиться Опубликовано 4 апреля, 2013 Всем спасибо)Сдал уже) Ссылка на комментарий
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти