KMA
Долгожитель
|
Что значит с использование стека??? В Паскале прямого обращения к стеку нет (ну если только возвращать значения регистра SP - указателя на стек). Тебе со стеком либо в С, либо в Ассемблер. А так задача ведь плевая Посчитать количество открывающихся и закрывающихся скобок. (Сообщение отредактировал KMA 2 марта 2008 0:11)
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 2 марта 2008 0:11 | IP
|
|
Guest
Новичок
|
Может быть есть у кого нить решение данной задачи: Реализовать структуры данных «линейный список» Многочлен P(x)=anx^n + an-1x^n-1 +...+ a1x + a0 с целыми коэффициентами можно представить в виде списка, причем если ai=0, то соответствующее звено не включать в список. Определить функцию, вычисляющую значения многочлена в точке x.
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 5 марта 2008 0:00 | IP
|
|
KMA
Долгожитель
|
Может быть есть у кого нить решение данной задачи: Реализовать структуры данных «линейный список» Многочлен P(x)=anx^n + an-1x^n-1 +...+ a1x + a0 с целыми коэффициентами можно представить в виде списка, причем если ai=0, то соответствующее звено не включать в список. Определить функцию, вычисляющую значения многочлена в точке x.
Почему бы тебе в массив не забахать все эти значения коэффициентов а, и будет тебе счастье:
Code Sample:
CONST n={указываешь цифрой количество многочленов}; Var a: array [1..n] of real;
И вопросов тогда будет мало с реализацией на самими решением:
Code Sample:
px:=0; xx:=1; for i:=1 to n do begin xx:=xx*x; px:=px+a[ i ]*xx; end;
Собственно, тебе осталось оформить ввод и и вывод.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 5 марта 2008 14:44 | IP
|
|
Guest
Новичок
|
Просто реализовать нужно с использыванием линейного списка И с выделением динамической памяти (Сообщение отредактировал KMA 6 марта 2008 1:22)
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 5 марта 2008 15:31 | IP
|
|
KMA
Долгожитель
|
Просто реализовать нужно с использыванием линейного списка И с выделением динамической памяти В чем проблема? внешняя ссылка удалена ты найдешь все что тебе надо. А так Google тебе поможет. Идея та же самая. Если ты добрался до динамики, значит специальность у тебя как минимум замешанна на ИТ, поэтому я сделаю тебе только хуже, если напишу решение задачи, разберись сам. Когда код начнешь писать, вот тогда и будет о чем поговорить. Просто я уже устал повторять: Я НЕ РЕШАЮ ЗАДАЧ, Я ПОМОГАЮ ИХ РЕШИТЬ. Мне от того, что я тебе помогу по сути ни жарко ни холодно и благодарности как правило в ответ я не слышу, поэтому предъявлять мне грубо свои требования тоже не стоит (а ты это делаешь, еще и наглым образом).
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 6 марта 2008 1:29 | IP
|
|
Nistel
Новичок
|
Ребят, пожалуйста помогите срочно, а то я в этом программировании плохо понимаю и не могу составить алгоритм решения этой задачи! Задача. Дано уравнение y=k*x+b и даны координаты точки А. Определить, находится ли точка А выше, ниже или на данной прямой. Здесь я что-то написал, но не до конца и однозначно у меня неправильно. Program Line; uses crt; Var y,x,k,x1,b,y1,x2,y2:real; Begin clrscr; Writeln ('Введите значения для первой точки прямой - k, x и b:'); Write ('k='); readln (k); Write ('x='); readln (x); Write ('b='); readln (b); y:=k*x+b; Write ('Введите координаты для второй точки прямой'); Write ('x1='); readln (x1); y1:=k*x1+b; Writeln ('Введите координаты точки А:'); write ('x2='); readln (x2); write ('y2='); readln (y2); вот конкретно здесь я не могу понять что дальше писать, но написал вот так: if (x1>x) and (x2>x) and (y2>y) and (y1>y) then Write ('Выше прямой'); if (x1<x) and (x2<x) and (y2<y) and (y1<y) then Write ('Ниже прямой'); if (x1=x) and (y1=y) or (x2=x) (y2=y) Then write ('Лежит на прямой'); readkey; end. Заранее огромное спасибо за помощь и за объяснение!
|
Всего сообщений: 2 | Присоединился: март 2008 | Отправлено: 12 марта 2008 22:08 | IP
|
|
Nistel
Новичок
|
Спасибо за помощь, но я уже нашелл решение этой простой задачи: Program Line; Var k,b,x,y:real; Begin Write ('k='); readln(k); Write ('b='); readln(b); Write ('y='); readln(y); Write ('x='); readln(x); if (k*x+b)=y then writeln ('Точка лежит на прямой') else Begin if (k*x+b)>y then writeln('Точка лежит ниже прямой') else writeln ('Точка лежит выше прямой'); end; readln Еnd.
|
Всего сообщений: 2 | Присоединился: март 2008 | Отправлено: 12 марта 2008 23:16 | IP
|
|
KMA
Долгожитель
|
Во первых тебе дано не уравнение (т. к. уравнение это тождество с неизвестной величиной), а функция, а если быть еще точнее, то функциональная зависимость одной величины от другой. Поэтому тебе необходимо знать только две величины (это k и b). А так же координаты точки А. Поэтому тебе нужно вычислить значение функции в той x где находиться эта точка, полученное значение у тебя будет yp - ордината прямой. Ну и останется только сравнить.
Code Sample:
program myProg; var k, b, Ax, Ay, yp: real; BEGIN write ('k='); readLn (k); write ('b='); readLn (b); write ('x='); readLn (Ax); write ('y='); readLn (Ay); yp:=k*Ax+b; if Ay>yp then writeLn('Выше') else if Ay=yp then writeLn('На прямой') else writeLn('Ниже') END.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 12 марта 2008 23:16 | IP
|
|
Irina Koroleva
Новичок
|
Сост.прогр.,котор.по вводим.с клавы строке символов вставляет в неё после каждого символа латинской прописной буквы его ASCII-код
|
Всего сообщений: 2 | Присоединился: март 2008 | Отправлено: 14 марта 2008 0:56 | IP
|
|
KMA
Долгожитель
|
Сост.прогр.,котор.по вводим.с клавы строке символов вставляет в неё после каждого символа латинской прописной буквы его ASCII-код
Что пыт. дел. сама? Пиши что конкр. не получ.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 14 марта 2008 18:24 | IP
|
|
|