Вопрос № 70021: Плз помогите мне ещё раз!Мне надо решить до 21 00 ещё 3 программы!Заранее спс!
1)Работа со списками:
Вставить элемент e1 в односвязную очередь q, за каждым вхождением элемента e2
С весом w.
2)Построить график функции y=sin(10/x), Xmin...Вопрос № 70070: Dobriy den. Podskachite pojalusta, kak mojno sozdat programmu kotoraya opredelayet den. to est 2007 god 10 yanvar - sreda. 2007 god 12 yanvar - pyatnica.
Podskajite pojalusta xotya bi algoritm etogo programmi....
Вопрос № 70.021
Плз помогите мне ещё раз!Мне надо решить до 21 00 ещё 3 программы!Заранее спс!
1)Работа со списками:
Вставить элемент e1 в односвязную очередь q, за каждым вхождением элемента e2
С весом w.
2)Построить график функции y=sin(10/x), Xmin=-5 Xmax=5;
Координаты графического окна(где будет размещён график): x1=0 y1=0 x2=400 y2=300!
3)По заданным значениям координат центра окружностей, радиуса R самой внутренней окружности и числа окружностей N нарисовать концентрические окружности и закрасить образуемые ими кольца разными цветами.
Отправлен: 08.01.2007, 18:23
Вопрос задал: SHTEP (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Ivanich
Здравствуйте, SHTEP!
На счет графика. Проверь почту!
Фича с окружностями см. приложение
Приложение:
Ответ отправил: Ivanich (статус: 3-ий класс)
Ответ отправлен: 08.01.2007, 18:41
Отвечает: Форсман Павел Вячеславович
Здравствуйте, SHTEP!
Надеюсь, что с окружностью и графиком Вам уже помогли.
Попробую помочь со списком.
Давайте сразу определимся, что нам нужно в данном случае, а именно - значение элемента e1, т. о. задача сведется к обычной процедуре вставки элемента в список, в противном случае, мы не сможем корректно построить ссылки, т. к. никтьо не гарантировал, что элемент с весом w будет единственным.
Итак, вот что получается (если я не совсем правильно понял задание - уточните, что-нибудь придумаем).
Program ListInsert; {Вставка элемента в список}
type
PList=^List; {Описание списка}
List=record
Weight:Word; {Вес}
Next:PList;{Ссылка на следующий элемент nil-элемента не будет}
end;
var
Head,E1:PList; {Голова списка, с которым будем работать}
T:Word;
Procedure AppendList(var Head:PList;T:Word); {Добавление элемента в список}
var
C:PList;
begin
if Head<>nil then {Если список непустой - ищем последний элемент}
begin
C:=Head;
while C^.Next<>nil do C:=C^.Next; {Навигация по списку}
New(C^.Next); {Создание нового элемента}
with C^.Next^ do {и работа с ним через with для сокращения записи}
begin
Weight:=T;
Next:=nil;
end;
end
else
begin {Пустой список? - инициализируем}
New(Head);
Head^.Next:=nil;
Head^.Weight:=T;
end;
end;
Procedure OutList(L:PList); {Вывод списка L не передаем параметр с var,}
{т. к. менять ничего не требуется, в любом случае будет выделено
4 байта а переменная на навигацию по списку (текущий элемент) не потребуется}
begin
while L<>nil do
begin
write(L^.Weight,#32);
L:=L^.Next;
end;
writeln;
end;
Procedure InsertElem(var Dest,Match:PList;w:Word); {Вставка элементов}
var
C,T:PList;
begin
if Head<>nil then {Оперировать с пустым списком нет смысла выход из процедуры}
begin
C:=Head;
while C<>nil do {Навигация по списку}
begin
if C^.Weight=w then {Нашли искомый}
begin
New(T); {Генерируем новый элемент}
T^.Next:=C^.Next; {Исправляем ссылки и вставляем его с список}
C^.Next:=T;
T^.Weight:=Match^.Weight;
C:=T^.Next;
end
else
C:=C^.Next; {Иначе просто переходим к следующему}
end;
end;
end;
Procedure DestroyList(var Head:PList); {После работы список необходимо}
var {разрушить}
C:PList;
begin
while Head<>nil do
begin
C:=Head;
Head:=Head^.Next;
Dispose(C);
end;
end;
begin {Использование процедур}
Head:=nil;
repeat
write('Введите значение текущего элемента (65535 для завершения):');
readln(T);
if T<>65535 then AppendList(Head,T);
until T=65535;
write('Введите значение e1:'); {Ввод значения для вставки}
New(E1); {можно просто переменную Word, но, следуя условию задачи формируем}
E1^.Next:=nil; {элемент E1 как элемент списка}
readln(E1^.Weight);
writeln('Исходный список:');
OutList(Head);
write('Введите вес. W=');
readln(T);
InsertElem(Head,E1,T);
writeln('Результат:');
OutList(Head);
DestroyList(Head);
readln;
end.
Если что - спрашивайте.
С наилучшими пожеланиями Павел Форсман.
--------- Научить нельзя, но можно попробовать научиться!!!
Ответ отправил: Форсман Павел Вячеславович (статус: 2-ой класс)
Ответ отправлен: 09.01.2007, 03:26 Оценка за ответ: 5
Вопрос № 70.070
Dobriy den. Podskachite pojalusta, kak mojno sozdat programmu kotoraya opredelayet den. to est 2007 god 10 yanvar - sreda. 2007 god 12 yanvar - pyatnica.
Podskajite pojalusta xotya bi algoritm etogo programmi.
Отвечает: Coupler
Здравствуйте, Muhammedov Abdurohman!
Решение задачи в приложении. Вначале дата проверяется на корректность, а потом используется универсальная формула для определения дня недели.
Приложение:
Ответ отправил: Coupler (статус: Студент)
Ответ отправлен: 09.01.2007, 13:46