Guest
Новичок
|
HELP!! Никак не получается, необходимо посчитать многочлен Р, который состоит из суммы двух многочленов Q и R, никак не могу почленно подсчитать сумму!! program Laba2; uses crt; type nodeptr=^nodetype; nodetype=record number:integer; nextnode:nodeptr; end; var list,list1:nodeptr; x:integer; procedure list_init(var list:nodeptr; var x:integer); var p:nodeptr; a,r,n,m,z:integer; flag:boolean; begin writeln('Введите многочлен Q(x):'); readln(n); z:=n; begin repeat flag:=false; writeln('Введите ',n-1,' аргументы :'); readln(a); if a<>0 then begin while z-2>0 do begin z:=z-1; end; new(list); list^.number:=a; p:=list; flag:=true; n:=n-1; end else n:=n-1; until flag=true; z:=n; repeat while z-2>0 do begin z:=z-1; end; writeln('‚ўҐ¤ЁвҐ ',n-1,' н«ҐҐв бЇЁбЄ :'); readln(a); if a<>0 then begin if n-1 =0 then begin new(p^.nextnode); p^.nextnode^.number:=a; p^.nextnode:=nil; end; new(p^.nextnode); p^.nextnode^.number:=a; p:=p^.nextnode; n:=n-1; z:=n; end else n:=n-1; until n-1<0; p^.nextnode:=nil; end; end; procedure listinit(var list1:nodeptr; var x:integer); var p1:nodeptr; a,r,n,m,z:integer; flag:boolean; begin writeln('Введите многочлен R(x):'); readln(n); z:=n; begin repeat flag:=false; writeln('Введите',n-1,'аргументы :'); readln(a); if a<>0 then begin while z-2>0 do begin z:=z-1; end; new(list); list^.number:=a; p1:=list; flag:=true; n:=n-1; end else n:=n-1; until flag=true; z:=n; repeat while z-2>0 do begin z:=z-1; end; writeln('‚ўҐ¤ЁвҐ ',n-1,' н«ҐҐв бЇЁбЄ :'); readln(a); if a<>0 then begin if n-1 =0 then begin new(p1^.nextnode); p1^.nextnode^.number:=a; p1^.nextnode:=nil; end; new(p1^.nextnode); p1^.nextnode^.number:=a; p1:=p1^.nextnode; n:=n-1; z:=n; end else n:=n-1; until n-1<0; p1^.nextnode:=nil; end; end; procedure scan_list(list:nodeptr); var p:nodeptr; begin p:=list; while p<>nil do begin write(p^.number:5); p:=p^.nextnode; end; end; function sum(var list,list1:nodeptr):Integer; var p,p1,p2:nodeptr; s:Integer; begin p:=list; p1:=list1; s:=0; new (list); while (p<>nil) and (p1<>nil) do begin s:=p^.number+p1^.number; p2:=p^.nextnode; p2:=p; end; sum:=s; end; begin clrscr; list_init(list,x); writeln; writeln('Њ®Ј®з«Ґ Q(x): '); scan_list(list); writeln; listinit(list,x); writeln; writeln('Њ®Ј®з«Ґ R(x): '); scan_list(list); writeln; writeln('Многочлен P(x)= ',sum(list,list1)); writeln; writeln; readln; end.
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 4 мая 2008 18:53 | IP
|
|
Guest
Новичок
|
Google вам в помощь: есть замечательный сайт algolist.ru там рассмотрена эта задача и вообще задание тривиальное - стыдно таким флудить форумы по программированию, мы такое в 10 классе решали От КМА: А мы в 8... Однако этим занимаются специализированное мат. отделение... Если ты считаешь себя крутым программером, то напиши какую нибудь прогу, аналог маткада, вот тогда, тебя реально будут уважать. А флудом здесь занимаешься ты. Если реально хочешь помочь, то найди где ошибка, это будет в сто раз полезнее, чем отправлять человека, да еще просто на ресурс, а не на конкретную ссылку. (Сообщение отредактировал KMA 5 мая 2008 2:19)
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 4 мая 2008 21:52 | IP
|
|
Vladislav Vasiliev
Новичок
|
Дан массив из n-элементов, определить сумму тех элементов которые кратны 5. program p1; uses cr; const n=5; var a:=array[1...n] of integer; S,i:integer; begin clrscr; writeln('4,6,5,10'); for i:=1 to n do begin readln(a[ i ]); end; S:=0; for i:=1 to n do begin if i mod 5=0 then S:=S+a[ i ]; end; writeln('S=',S); readln end. Задача вроде простая но ответ не находится! Укажите ошибку?! (Сообщение отредактировал KMA 6 мая 2008 23:14)
|
Всего сообщений: 8 | Присоединился: май 2008 | Отправлено: 6 мая 2008 9:54 | IP
|
|
Serega1992
Новичок
|
Тут ошибка не одна... Ошибки выделил жирным шрифтом uses cr; {а слона то я и не приметил КМА} const n=5; var a:=array[1...n] of integer; S,i:integer; begin clrscr; writeln('4,6,5,10'); for i:=1 to n do begin readln(a); end; S:=0; for i:=1 to n do begin if i mod 5=0 then S:=S+a; end; writeln('S=',S); readln end. Особено внимательно посмотрите, что ВЫ делаете в строке if i mod 5=0 then S:=S+a; а что нужно сделать НА САМОМ ДЕЛЕ. (Сообщение отредактировал Serega1992 6 мая 2008 14:16) (Сообщение отредактировал KMA 6 мая 2008 23:15)
|
Всего сообщений: 50 | Присоединился: апрель 2008 | Отправлено: 6 мая 2008 14:15 | IP
|
|
KMA
Долгожитель
|
HELP!! Никак не получается, необходимо посчитать многочлен Р, который состоит из суммы двух многочленов Q и R, никак не могу почленно подсчитать сумму!!
У тебя ошибка в самой идее сложения односвязного списка. В итоге, на выходе у тебя должен быть так же список, представленный как многочлен R(x). А вот он уже в свою очередь, есть сумма двух первых. Да, еще не забудь проверку делать на nil, когда складываешь... а то бывает, что не в так, что можешь не в ту ячейку залезть (ты просто не расматриваешь ситуации, когда один список закончился, а второй еще нет... однако ты постоянно смещаешься на следующий. Будь внимательнее... Если никак вообще не пойдет, я напишу решение).
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 6 мая 2008 23:27 | IP
|
|
Vladislav Vasiliev
Новичок
|
извиите но большинство ошибок из-за клавиатуры, не все печатает а учебник по паскалю и дельфи никому не нужен,а? огромное вам спасибо за помощь. (Сообщение отредактировал KMA 7 мая 2008 19:39)
|
Всего сообщений: 8 | Присоединился: май 2008 | Отправлено: 7 мая 2008 18:32 | IP
|
|
ZimAN
Новичок
|
Построить на экране компьютера график следующей функции: помогите ... (Сообщение отредактировал ZimAN 9 мая 2008 23:57)
|
Всего сообщений: 8 | Присоединился: апрель 2008 | Отправлено: 9 мая 2008 11:28 | IP
|
|
HelenaBCN
Новичок
|
Помогите решить простенькую задачку: Определить сумму и количество введённых чисел. При Аi+1=Ai закончить работу. Я попробывала написать но она не работает program 1; uses crt; var i,k,n,j,sum:integer; A:array [1..200] of longint; begin begin write('vvedite stroky A'); readln(A); end; for i:=1 to n do j:=0; begin writeln(A:5); inc(j); end; for i:=1 to j do Begin sum:=sum+A; end; Writeln('summa chisel ',sum); readKey; end. Условие совсем не знаю куда ставить.... Помогите пожалуйста!!!!!!!!!!
|
Всего сообщений: 2 | Присоединился: май 2008 | Отправлено: 9 мая 2008 20:57 | IP
|
|
Serega1992
Новичок
|
HelenaBCN, эта программа в принципе не может работать. Я вообще не уловил никакого смысла в написанном коде. Код - вообще полная бессмыслица. Как можно складывать число со ВСЕМ массивом... Прибавлять-то нужные отдельные элементы... В общем, ерунда... Если предполагается поточный ввод чисел, пока не будет введено два одинаковых числа, массив использовать вообще не надо, ведь прибавить число к сумме и увеличить количество чисел можно сразу же после ввода числа, и всё это в одном цикле while. (Сообщение отредактировал Serega1992 9 мая 2008 22:41)
|
Всего сообщений: 50 | Присоединился: апрель 2008 | Отправлено: 9 мая 2008 22:39 | IP
|
|
DaImeR
Новичок
|
Доброго времени суток. Дан текст, в котором имеются цифры. Найти максимальное число и их сумму. Доэтого уже звучал такой вопрос, но не было дано ответов. Подскажите как он должен находить цифры в строке. Как я понял строка будет выглядеть так:""правп54выа78пав34прп87 пр34о89"??? так?
|
Всего сообщений: 7 | Присоединился: апрель 2008 | Отправлено: 10 мая 2008 10:00 | IP
|
|
|