Часовой пояс: UTC + 3 часа




Куратор(ы):   Lord_of_Darkness   



Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 985 • Страница 11 из 50<  1 ... 8  9  10  11  12  13  14 ... 50  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 
Прилепленное (важное) сообщение

Убедительная просьба ко всем, кто выкладывает исходники:
1. Обязательно пользуйтесь тэгом code (иначе очень трудно читать)
2. Старайтесь делать отступы

Если вы хотите чтобы вам помогли в написании программы, внятно излагайте задание!

Прежде чем задать вопрос, воспользуйтесь учебником


Возможно, что нужная вам программа уже написана, поэтому советую просмотреть список здесь и здесь

Отредактировано куратором: Lord_of_Darkness. Дата: 07.07.2006 19:36



Партнер
 

Куратор темы
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
eldarovich88 мдя, делать мульты в паскале - это жестко :( Мой тебе совет, юзай OpenGL/DX + Delphi/VC++, или уж флэш какой-нибудь.
PS а так, если я правильно понял, то режимы должны чередоваться. Тогда сделай логическую переменную и после каждого прохода цикла отрисовки инвертируй ее, а в начале цикла проверяй ее значение и соответственно выбирай вариант отрисовки.

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 17.04.2005
Lord_of_Darkness
да я не мульт делаю, я ж не мазохист:)) Просто в универе РГЗ задали "движение объекта в паскале, вывести изображение в различных режимах"


 

Куратор темы
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
eldarovich88 Ох уж мне эти универы... У самого древности с 98-м мастдаем стоят, которые матлаб по 5минут грузят. И паскаль изучали тоже, и еще С чуть-чуть. Никакого технического прогресса :( К слову сегодня в спортмастере был, там комп стоит типа база с товарами... Смотрю на экран и аж ностальгия накатила - старый добрый нортон командер!
Ну ладно, без лирики, я правильно понял что нужно? Т.е. делаешь цикл на необходимое кол-во режимов вывода, переменную-счетчик, и проверку типа:
Код:
case sGrMode of
0: <инициализация первого граф. режима>;
1: <инициализация второго граф. режима>;
 . . . . . .
end;

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 17.04.2005
Да да, я уж сделал вывод в гр. режиме, только в цикле... буду анимировать человечка


 

Member
Статус: Не в сети
Регистрация: 23.06.2004
Народ помогите, срочно надо: Изменить все элементы массива на противоположные по знаку. Использовать функцию смены знака.

Ооочень срочно надо.

_________________
Весь мир игра, а мы вней монстры...


 

Member
Статус: Не в сети
Регистрация: 14.08.2004
Откуда: Москва
Mutant-13
Mutant-13 писал(а):
Использовать функцию смены знака.

Обзязательно?? Пример:
Код:
for i:=1 to 10 do
a[i]:=-a[i]


 

Member
Статус: Не в сети
Регистрация: 01.06.2003
Откуда: Pskov
Mutant-13
cj_remix писал(а):
А вот смену знака в обратую сторону не нашёл даже в Help-e...
Возможно, задание предполагает самостоятельное написание подобной функции ;)

_________________
ПС: [13-06-2006] Идеальный скриншот BIOS'а ? Запросто ! // K.V.


 

Junior
Статус: Не в сети
Регистрация: 28.10.2005
Откуда: Дальний Восток
На каком языке? Pascal?
Попробуй через условие:
If a[i]>0 Then a[i]:=0-a[i]
Else a[i]:=abs(a[i])

Вроде так.


 

Member
Статус: Не в сети
Регистрация: 14.08.2004
Откуда: Москва
alex_007
мой способ быстрее :)


 

Member
Статус: Не в сети
Регистрация: 05.12.2004
Блин что то не воткну ни как каким образом в списке при бинарном поиске переходить на серединный элемент (односвязный список) ?
То есть если в массиве я пишу че нить типа
L:=0; R:=N;
while L<R do begin
m:=(L+R) div 2;
if а[m]<x then L:=m+1 else R:=m
end;
То как это сделать в списке (не с головы же линейный поиск устраивать :) )


 

Member
Статус: Не в сети
Регистрация: 18.07.2005
Откуда: Из Москвы
помогите системку разветвляющегося алгоритма рашить вот типо-

М=(система и там 3 уравнения) 1-ое 4х(х в квадрате)+2х-19,если ах<т
2-ое 1/(3х+4) ,если ах=т
3-е -5х,если ах>т
а,х,т-произвольные числа

_________________
Let's have no sadness — furrowed brow.
There's nothing new in dying now


 

Куратор темы
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
Russia KamRat
Это не система уравнений, радуйся, ато бы вмиг познал метод Гаусса али метод простых итераций или еще чего похуже :D
Вот, примерно так (не проверял, прям сюда пишу)
Код:
uses crt;
var
  a, x, t, M : real;
begin
 clrscr;
 write('a=');
 readln(a);
 write('x=');
 readln(x);
 write('t=');
 readln(t);
 if a*x < t then
    M:=4*x*x+2*x-19
 else if a*x = t then
    M:=1/(3*x+4)
 else M:=-5*x;
 writeln('M=',M:10:2);
 readln;
end.


Demileech Промотай просто список до нужного момента, ориентируясь по счетчику. Кол-во элементов в списке ты знаешь... Это не долго, там ведь работа с указателями.

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 05.12.2004
Lord_of_Darkness
А остальную половину убивать придется ? То есть список в конце распадется ?


 

Member
Статус: Не в сети
Регистрация: 18.07.2005
Откуда: Из Москвы
Lord_of_Darkness писал(а):
метод Гаусса

охх...мне рассказывали об этом. :slobber: Посибо тебе :applause:
Добавлено спустя 1 минуту, 4 секунды
Lord_of_Darkness писал(а):
clrscr;

а эт че?я такого не знаю

_________________
Let's have no sadness — furrowed brow.
There's nothing new in dying now


 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
Russia KamRat писал(а):
а эт че?я такого не знаю

Clear Screen - отчистка экрана и перевод каретки в левый верхний угол. Help ведь есть. :)


 

Member
Статус: Не в сети
Регистрация: 05.12.2004
Lord_of_Darkness
Хм все понял написал, посмотри плиз все работает, НО самый последний элемени не находит :(

Код:
procedure find_elem_bin(value:integer; var find:boolean;
                                         var count_compare:integer);
var L,R,m,n,i:integer;

begin
 count_compare:=0;
 find:=false;
 L:=0;
 R:=counter;
 curr:=head;
 n:=(L+R) div 2;
 m:=n;
 for i:=1 to (n-1) do curr:=curr^.next;

 while L<R do begin
  if curr^.data<value then begin
    L:=m+1;
    m:=(L+R) div 2;
    for i:=n to (m-1) do curr:=curr^.next;
    n:=m;
  end
  else
  if curr^.data>value then begin
    R:=m;
    m:=(L+R) div 2;
    curr:=head;
    for i:=1 to m-1 do curr:=curr^.next;
    n:=m;
  end
  else
  if curr^.data=value then begin
    find:=true;
    break;
  end;
  //writeln('L=',L,' R=',R,' m=',m,' n=',n,' curr=',curr^.data);
 end;

end;


 

Member
Статус: Не в сети
Регистрация: 11.10.2005
Откуда: Самара
Помогите решить задачку.

Реализовать рекурсивный алгоритм нахождения суммы делителей данного натурального числа.

_________________
Все видюхи не протестируешь, но к этому надо стремиться.
http://people.overclockers.ru/Mihanik


 

подскажите, в чем трабла? тока не смейтесь, я тока учусь
Код:
uses crt;
const max=3;
type mytype=array[1..max] of word;
var i,b,n,z,j: integer;
    x: mytype;
procedure prost(a: integer; var c boolean);
  var i,p: integer;
begin
  p:=0;
  c:=false;
  for i:=2 to a-1 do
    if a mod i=0 then inc(p);
    if p=0 then c:=true;
end;
begin
  writeln('введите число');
  readln(n);
  for i:=1 to n do
    begin
      for b:=1 to n-1 do
       if (prost(b)=true) and (i mod b=0)
    then begin
      inc(z);
      for j:=1 to 3 do
        x[j]:=b;
    end;
      if z=3 then writeln(n,'(',x[1],'*',x[2],'*',x[3],')');
    end;
  readln;
end.



 

Member
Статус: Не в сети
Регистрация: 03.01.2003
Откуда: Ростов-на-Дону
Ну первое что бросается в глаза, это то что в процедуре корява проварина второе переменная, ты пропустил двеоточие.
Второе, для выполнения этой программы, тебе нужно писать функцию, а не процедуру. Потому что ты хочешь что бы она возвращала тебе значения.
Даже если для тебе нужно только процедура, и я что не так понял, то почему ты описываешь процедуру с двумя переменными, а когда выываешь её ставьшь в неё только один аргумент?

_________________
Just Zerg! Остановим деградацию русского языка, скажем нет удафкомовской лексике!!


 

Zеrg процедура уменя проверяет является ли число B простым

вообще задача такая:
вводится число n и в промежутке от 1 до n находятся числа имеющие ровно 3 простых множителя.

тогда такЖ
Код:
uses crt;
const max=3;
type mytype=array[1..max] of word;
var i,b,n,z,j: integer;
    x: mytype;
    h: boolean;
procedure prost(a: integer; var c: boolean);
  var i,p: integer;
begin
  p:=0;
  c:=false;
  for i:=2 to a-1 do
    if a mod i=0 then inc(p);
    if p=0 then c:=true;
end;
begin
  writeln('введите число');
  readln(n);
  for i:=1 to n do
    begin
      for b:=1 to n-1 do
       prost(b,h);
       if (h=true) and (i mod b=0)
    then begin
      inc(z);
      for j:=1 to 3 do
        x[j]:=b;
    end;
      if z=3 then writeln(n,'(',x[1],'*',x[2],'*',x[3],')');
    end;
  readln;
end.


все равно не работает :(


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 985 • Страница 11 из 50<  1 ... 8  9  10  11  12  13  14 ... 50  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan