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




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



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

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

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

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


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

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



Партнер
 

Member
Статус: Не в сети
Регистрация: 03.01.2003
Откуда: Ростов-на-Дону
И не удивительно, как оно может работать:) Я тебе говорю процедура тут не в тему :)

Или обьясни мне как и где h получит true?

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


 

Zеrg
ну как?! впроцедуру передается B( в прцедуре она А) там она проверяется, и если оно простое, то c:=true, имхо с должнопередаватся как h в основную прогу


 

Код:
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:=1 to a do
    if a mod i=0 then inc(p);
    if p=2 then c:=true;
end;
begin
  clrscr;
  writeln('введите число');
  readln(n);
  for i:=1 to n do
    begin
      z:=0;
     for b:=1 to i do
      begin
       prost(b,h);
       if (h=true) and (i mod b=0)
    then begin
      inc(z);
           j:=z;
      x[j]:=b;
    end;
      end;
      if (z=3) then writeln(b,'(',x[1],'*',x[2],'*',x[3],')');
    end;
  readln;
end.


ВОТ как я решил эту задачу :D
Zеrg
процедура работает как часы :wink:


 

Member
Статус: Не в сети
Регистрация: 23.01.2006
помогите с задачкой...

имеется n-угольник, его надо разрезать на k частей, причём так, чтобы линии разреза пересекались только в вершинах. требуется написать программу, которая посчитает кол-во способов разрезания. входные данные: 6 4, выходные: 14.


 

Member
Статус: Не в сети
Регистрация: 19.10.2005
Откуда: Севастополь
ребят, помогите плз, в паскале ваще не шарю, но надо лабу сделать, заранее балгодрен!!!

Найти максимальный элемент среди элементов массива А[20] с чётными номерами

_________________
Глупость-это дар Божий, но не надо им злоупотреблять!


 

Member
Статус: Не в сети
Регистрация: 10.03.2003
Откуда: Россия, Моск...
v1c

Код:
Program Pr;
  Var A : Array[1..20] Of INTEGER;
        B : Array[1..9] Of INTEGER;
        I,K,P,MAX : INTEGER;
  Function FMax(MAX,A : INTEGER) : INTEGER;
    Begin
      If MAX<A Then
        A:=MAX
      Else;
    End;
Begin
  For I:=1 To 20 Do
    Begin
      Write('A[',I,']=');
      Readln(A[I])
    End;
  MAX:=A[1];
  For I:=1 To 20 Do
    K:=I mod 2;
    If K=0 Then
      For P:=1 To 9 Do
        B[P]:=A[I]
    Else;
  For I:=1 To 9 Do
      MAX:=FMAx(MAX,A[I]);
  Writeln('MAX=',MAX);
  Readln
End.

Добавлено спустя 34 секунды
только проверь ее. А то я не проверял
Добавлено спустя 7 минут, 8 секунд
А вот теперь моя задачка... Проблема в том, что лекций еще не было, а лабы уже требуют.
Задачка элементарна... я это чувствую. Чувство программы!
Надо нарисовать на экране четырехугольник, заштриховать его как-нибудь, заствить как-нибудь двигаться и звук пустить (писк)...

По книжкаа пробывал. Делал так, сначала рисовал прямоугольник, потом стирал и рисовал новый. Хотел сделать, чтобы двигался горизонтально. Поэтому координаты Х засунул в цикл. То ли машина у меня быстрая и движение проходит в секунду, то ли еще что-то...
еще откуда-то появляется серый фон на три четверти экрана...
Вот код:
Код:
Program Pr_7;
  Uses CRT, GRAPH;
  Var I,A,B,E,X1,X2,Y1,Y2 : INTEGER;
Begin
  X1:=0;
  Y1:=50;
  X2:=150;
  Y2:=200;
  A:=Detect;
  InitGraph(A,B,'');
  E:=GraphResult;
    If E <> grOk Then
      Writeln(GraphErrorMsg(E))
    Else
      Begin
        For I:=1 To 100  Do
          Begin
            Clrscr;
            X1:=X1+1;
            X2:=X2+1;
            Rectangle(X1,Y1,X2,Y2)
          End
      End;
  Readln
End.

Как штриховать я не догоняю, звук как подключить тоже... сдавать завтра.


 

Member
Статус: Не в сети
Регистрация: 15.09.2004
Откуда: Санкт-Петербург
Вместо штриховки попробуй выводить какой-нить символ, что-нибудь вроде альт+219.

Прога для звука:
Код:
uses crt;
const speaker_port = $61;
pit_control = $43;
pit_channel_2 = $42;
pit_freq = $1234dd;

procedure sound( freq:word );
var
counter word;
begin
counter:=pit_freq div freq;
port[pit_control] :=  $b6;
port[pit_channel_2] := lo(counter);
port[pit_channel_2] := hi(counter);
port[speaker_port] := port[speaker_port] or 3;
end;

procedure nosound;
begin
port[speaker_port] := port[speaker_port] and $fc;
end;

begin
sound(200);
repeat until keypressed;
nosound;
end.

(c)turbo pascal - учебник
Добавлено спустя 4 минуты, 17 секунд
блин, graph.
попробуй
Код:
setfillstyle(3,4);
bar( x1,y1,x2,y2 );


 

Member
Статус: Не в сети
Регистрация: 19.10.2005
Откуда: Севастополь
m2, огромное спасиб!

_________________
Глупость-это дар Божий, но не надо им злоупотреблять!


 

Member
Статус: Не в сети
Регистрация: 10.03.2003
Откуда: Россия, Моск...
v1c
пожалуйста.

Ps там можно было более грамотно сделать...но времени не было...


 

Member
Статус: Не в сети
Регистрация: 04.12.2005
Откуда: Е-бург
Фото: 0
Нид хелп: прога рисует обьект(подобие летаюшей тарелки)передвигает его по экрану с помошью нажатия стрелок :
Код:
program TheObject;
uses crt,graph;
type
   NLO1= object
   x,y: integer;
   constructor Lego(kx,ky: integer);
   procedure Move (dx,dy: integer);
   end;

var Driver, mode,tab,x,y,dx,dy: integer;
constructor NLO1.Lego(kx,ky: integer);
begin
 x:=kx;
 y:=ky;
end;
   procedure NLO1.Move(dx,dy: integer);
begin
  setcolor(GetBkColor);

  Arc(x,y,100,0,180,50);
  circle(x-20,y-30,5);
  circle(x+20,y-30,5);
  FillEllipse(x,y,100,20);
  line(x-40,y+20,240,150);
  line(x+40,y+20,360,150);

  SetColor(white);
  x:=x+dx;
  y:=y+dy;

  Arc(x,y,100,0,180,50);
  circle(x-20,y-30,5);
  circle(x+20,y-30,5);
  FillEllipse(x,y,100,20);
  line(x-40,y+20,240,150);
  line(x+40,y+20,360,150);
 end;
    var
    NLO:NLO1;
    Stop:Boolean;
begin
 driver:=VGA;
 mode:=VGAHi;
 InitGraph(Driver,mode, '');
 NLO.Lego(300,100);
 NlO.Move(0,0);
 case readkey of
 #27 : Stop:=true;
 #9 : begin
  if Tab=0 then Tab:=1 else Tab:=0;
      end;
 #0 : Case readkey of
 #77 : begin
  if Tab=0 then NLO.Move(3,0);
      end;
 #72 : begin
  if Tab=0 then NLO.Move(0,-3);
      end;
 #75 : begin
  if Tab=0 then NLO.Move(-3,0);
      end;
 #80 : begin
  if Tab=0 then NLO.Move(0,3);
      end;
       end;
  end;
   until stop = true
end.


так задуманно :) на деле же прога вылитает после нажатия кнопки дл передвижения,но обьект успивает сдвинутся,надо как то вылечить, ещё ругается на Arc(x,y,100,0,180,50); почему то в обшем помогите плиз


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
HotGuy ну дык until stop <> true :-)

_________________
Ку ку


 

Member
Статус: Не в сети
Регистрация: 04.12.2005
Откуда: Е-бург
Фото: 0
блин-теперь выдаёт ошибку 113: Error in statement c указанием на until stop хоть = хоть неравно :( это почему?

_________________
there's no greater power than the power off ©


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
HotGuy может потому, что ты repeat забыл :D

_________________
Ку ку


 

Member
Статус: Не в сети
Регистрация: 04.12.2005
Откуда: Е-бург
Фото: 0
Daemon может :) у меня знания поверхностные :( теперь невылетает :) но двигается тока один раз птом висит-как это исправить?
Добавлено спустя 5 минут, 41 секунду
ха-всё таки думать головой полезно! :D repeat надо вписать перед case readkey :) тогда невылитает и двигается-но оставляет за собой следы по форме обьекта :( как пофиксить сие? :)
Добавлено спустя 12 минут, 26 секунд
Цитата:
думать головой полезно
:) ещё раз подтвердается-сделал эллипс незакрашенным теперь всё пучком! хотя елсли надо закрашенный....

_________________
there's no greater power than the power off ©


 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
HotGuy писал(а):
щё раз подтвердается-сделал эллипс незакрашенным теперь всё пучком! хотя елсли надо закрашенный....

Это сложнее. Надо запоминать облась куда рисуемся. Потом востанавливать и запоминать новую и опять рисовать. Хотя это конечно тупо в лоб получается, но пахать будет :)
Лучше уж под Windows писать начал. Там по проще с такими делами возится.


 

Member
Статус: Не в сети
Регистрация: 04.12.2005
Откуда: Е-бург
Фото: 0
Ray Adams было бы это в моих силах-давно бы начал,мы вот тока с паскалем закончили долги доздою :(,щас паралельно идёт С и делфи но все пока тож тока в кансоли... вобше это тока часть проги-в полнаценном варианте требуется реализовать какой либо класс,с определёнными умениями-двигатся показыватся и скрыватся,потом на его основе реализовать потомков умеюших всё то что родитель+немного больше,так что шас буду мается,посиму в этот топик как минимум весь день за помошью лазить буду :)

_________________
there's no greater power than the power off ©


 

Member
Статус: Не в сети
Регистрация: 17.09.2003
Откуда: UA г.Донецк
Demileech не
Код:
 while L<R do begin

а
Код:
 while L<=R do begin

_________________
Debian Lenny/Sid
при установке линукс не пострадал ни один пингвин, полегли все дятлы


 

Member
Статус: Не в сети
Регистрация: 18.07.2005
Откуда: Из Москвы
нихрена в задачах не понимаю Wink Помогите пжалуста
Вводится последовательность положительных целых чисел за которой следует число 0(это признак конца последовательности)Определить сумму чисел,их количество,минимальное и максимальное число тех чисел,которые обладают свойствами кратности трем(3) Плиз!Хелп!

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


 

Куратор темы
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
Russia KamRat Сколько разрядодов в каждом числе? Один? Если они должны вводиться в строчку, то нужно применить какой-либо разделитель. Поподробней про ввод, иначе помочь не смогу.

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


 

Member
Статус: Не в сети
Регистрация: 10.03.2003
Откуда: Россия, Моск...
Lord_of_Darkness да просто там массив воодится последовательно, иначе бы условие было другое
Добавлено спустя 32 секунды
Russia KamRat
ищешь ноль, берешь его номер и вперед!


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

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


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

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


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

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