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




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

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
Frolis А искать не пробовал?
Вот пример, и еще. А тут еще целая тьма.

GUES
Цитата:
Такая тема уже была.
Дык вроде обсуждали как на паскале (под DOS) делать, а тут немножко другое.

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



Партнер
 

Member
Статус: Не в сети
Регистрация: 03.05.2004
Lord_of_Darkness
Я её вообще не читал. Просто название видел. Так что...:))

_________________
Помогу купить по 3-ей колонке в Юлмарте. Пишите в ЛС.


 

Lord_of_Darkness да просто я думал может у кого есть готовое , просто я не умею программировать, оно мне и не нужно... будет искать дальше

Добавлено спустя 2 часа, 4 минуты, 36 секунд:
люди добрые если кому не сложно сделайте доброе дело


 

Member
Статус: Не в сети
Регистрация: 17.10.2003
Откуда: Киев
HofD
Посмотри текст программы. Там я выделил ту часть, где определяются координаты центра знака- меняй как хочешь.

А вот как правильнее вывести синус не знаю. Первое что приходит в голову- заменить параметрическое уравнение чем-нибудь вроде
Код:
......
x=60;//до цикла
......
y=240+180*sin(x*Pi/(32));
x+=0.1;
if (x==580) return 0;

Эту синусоиду нарисовать в самом начале программы, а потом каждый раз после очистки экрана перерисовывать ее часть (от x-r1 до x+r1). Но это наверноее будет слишком медленно, может есть способ лучше.


 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
Frolis Вот
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  rStr, sourceSTR: string;
  pos: integer;

implementation

{$R *.dfm}

function runstr():boolean;
begin
  rStr:=copy(sourceStr,pos,Length(sourceSTR)-pos);
  rStr:=rStr+' '+copy(sourceStr,1,pos);
  Form1.Label1.Caption:=rStr;
  inc(pos);
  if pos>= Length(sourceSTR) then pos:=1;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  sourceSTR:='Это бегущая строка! ';
  pos:=1;
  Form1.BorderStyle:=bsNone;
  Form1.Top:=0;
  Form1.Left:=0;
  Form1.Width:=Screen.Width;
  Form1.Height:=Screen.Height;
  Form1.FormStyle:=fsStayOnTop;
  Label1.Width:=Screen.Width;
  Label1.Top:=(Screen.Height div 2) - (Label1.Height div 2);
  Label1.Left:=(Screen.Width div 2) - (Label1.Width div 2);
  Form1.Color:=clBlack;
  Label1.Color:=clBlack;
  Label1.Font.Color:=clWhite;
  Label1.Font.Size:=72;
  Label1.Font.Name:='Arial';
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=27 then Close;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 runstr();
end;

end.

На форме нужен Label и Timer

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


 

Member
Статус: Не в сети
Регистрация: 04.01.2005
Откуда: Москва
LS Ok! Спасибо за мысли. Времени у меня еще много, думаю справлюсь, если что - напишу.

_________________
Win XP - если бы не этот отстой, то сидели бы сейчас в DOS...


 

Lord_of_Darkness спасибо конечно огромное , но куда мне это вставлять :-) ... я же говорю не прогаммер я .... скинь плиз на мэил frolis@yandex.ru ехешник спасибо


 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
Frolis Отправил.

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


 

Lord_of_Darkness а как монжо сделать :
1) чтоб это было внизу и на фоне другой программки
2) и как вставлять свою инфу


 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
Frolis
1. Что значит "на фоне другой программы"?
2. Могу сделать ввод текста из файла.

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


 

Member
Статус: Не в сети
Регистрация: 08.12.2004
Откуда: Москва
Цитата:
1. Что значит "на фоне другой программы"?

наверно имеется в виду поверх остальных программ. это можно сделать изменив свойство формы FormStyle на значение fsStayOnTop. сорри если не в тему

_________________
Я не суеверный. Я наблюдательный


 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
khasya Я тоже об этом подумал, но пусть уж автор сам ответит...

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


 

спасибо всем кто не бросил в беде , а теперь по подробнее нужно чтоб бегущая строчка была на фоне другой проги т.е. вообще идея такая работает прога QUIK (это терминал для работы с акциями) и хотелось чтоб на фоне неё бежала бегущая строчка (внизу экрна), в которую я мог из буфера или из файли ТХТэшного вставлял которивки или новости .. вот вроде подробно ответил . И еще экрна плазма хотелось чтоб полность от начала до конца экрна бежала строчка.


 

Member
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
Frolis Ок, ченить слабаю, но попозже. Занят щас.

Добавлено спустя 2 часа, 50 минут, 13 секунд:
киданул на почту

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


 

Member
Статус: Не в сети
Регистрация: 25.06.2004
Откуда: Ukraine
Вот такие две проги нужно написать:
8.Перечислите все слова данного предложения, которые состоят из тех же букв, что и первое слово предложения.
9.Заданы две строки. Найдите самую длинную их общую часть.
Или хоть на теорию ссылки дайте. Со строками в Си у меня большие проблемы.


 

Member
Статус: Не в сети
Регистрация: 08.12.2004
Откуда: Москва
yuris
Напиши поподробнее: какого типа входные данные, на каком языке и в какой среде надо реализовать.
Насчет теории скажу так: читай Подбельского, там все понятно изложено. Если не так понятно, как мне кажется;),
пиши сюда.
Добавлено спустя 5 минут, 36 секунд
Ура! У меня юбилей: ровно 50 сообщений! Принимаю всеобщие поздравления ;)!

_________________
Я не суеверный. Я наблюдательный


 

Member
Статус: Не в сети
Регистрация: 25.06.2004
Откуда: Ukraine
khasya Программа на C или C++.


 

Member
Статус: Не в сети
Регистрация: 04.02.2004
Откуда: Москва|СВАО
yuris
Ну в первой задаче алгоритм приблезительно таков:
1. Определяем множество букв из которых состоит первое слово предложения (предлагаю назвать это Тезаурусом), для этого считываем в строку (Str1) все буквы исходного текста(Txt) до первого пробела или точки (вдруг предложение из одного слова!)
После этого берем первую букву слова(из Str1) и запоминаем ее как первый элемент новой строки (Str2), далее берем вторую букву сравниваем ее со всеми символами в Str2, если там уже есть такая (у слова первая и вторая буква одинкаовые) то переходим к третей букве Str2, если нет то сохраняем ее в Str2 (теперь у нас там две разных буквы). Надеюсь Вы поняли идею, так надо прошерстить всю Str1 и в результате в Str2 окажутся все буквы которые есть были в Str1 (без повторений) тость например из слова "программа" мы получим "прогам".
Далее предлогаю упорядочить тезаурус - методов для этого масса (можно использовать код ASCI и сортирновать как обычные числа), то есть выстраиваем его элементы по алфавиту (в результате имеем новый вариант Str2 упорядоченный по алфавиту)
После этого возвращаемя к исходному тексту Txt из него последовательно выбираем слова (считывая их от пробела до пробела/точки). Получаем тезаурус этого слова (алгоритм я описал для первого слова). Упорядычиваем его. Получаем строку Str3
После этого сравниваем Str2 и Str3...N
Надеюсь Вы поняли что я пытался объяснить.

Если до завтра не кто не поможет попробу описать алгоритм второй.

_________________
Счастье - это когда тебя понимают.
Разыскиваю (куплю) оригинальный USB-kit для Chaintech 5AGM2 (подробности в Л.С.).


 

Member
Статус: Не в сети
Регистрация: 08.12.2004
Откуда: Москва
yuris
Вот набросал тут вариант решения пункта 8. Получилось довольно длинно, наверно где-то можно упростить.
Из особенностей: разбирается только первое предложение Memo1; точки, запятые и т.д. воспринимаются как слова или части слова(м.исправить); сами слова, удовлетворяющие условию никуда не копируются, а просто выводятся на экран.

Написано в Билдере, на форме размещены кнопка Button1 и мемо Memo1. Если у тебя VisualC, BC3.1 или еще что-то другое, пиши, постараюсь исправить код, чтоб работало везде. Если надо, могу выслать проект целиком тебе на мыло, только оставь координаты.

Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//Перечислите все слова данного предложения, которые состоят из тех же букв, что и первое слово предложения.
  char sPredlogenie[100];
  char sBukvy[33];                               //зависит от языка
  char sCurSlovo[20];                            //текущее слово
  int nSlovoLen = 0;
  int nBukvyCol = 0;
  int nWords = 0;
  int i = 0;
  int j = 0;
  int fl = 0;
  char *buf  = new char[ Memo1->Lines->Strings[0].Length() + 1 ];

  strcpy( buf, Memo1->Lines->Strings[0].c_str() );

  //Очистка предложения
  strcpy(sPredlogenie, "");
  //Рассматриваем первое предложение
  strcpy( sPredlogenie, buf);

  //Берем первое слово
  while( sPredlogenie[i] != ' ')
  {
    fl = 0;
    //Проверка, что символ раньше не встречался
    for( j = 0; j < nBukvyCol; j++)
      if( sPredlogenie[i] == sBukvy[j] )
        fl = 1;

    //Добавить в набор букв
    if( fl == 0 )
    {
      sBukvy[nBukvyCol] = sPredlogenie[i];
      nBukvyCol++;
    }
    i++;
  }

  nWords = 0;                                    //Число слов

  while(sPredlogenie[i] != '\0')                 //Пока не конец предложения
  {
    strcpy( sCurSlovo, "");
    nSlovoLen = 0;
    //Пропускаем пробелы
    while( sPredlogenie[i] == ' ')
      i++;

    //Получаем теущее слово
    while( sPredlogenie[i] != ' ' && sPredlogenie[i] != '\0')
    {
      sCurSlovo[nSlovoLen] = sPredlogenie[i];
      nSlovoLen++;
      i++;
    }

    if(nSlovoLen > 0)
    {
      sCurSlovo[nSlovoLen] = '\0';               //уловка для более красивого вывода на экран
                                                 //если закомментировать, все равно будет работать правильно
      nWords++;
    }

    fl = 0;
    int k = 0;                                   //доп.счетчик
    for(k = 0; k < nSlovoLen; k++)
    {
      for( j = 0; j < nBukvyCol; j++)
        if( sCurSlovo[k] == sBukvy[j] )
        {
          fl = 1;
          break;  //из for по j
        }
      //Если весь массив букв пройден, совпадений нет
      if( j == nBukvyCol )
      {
        fl = 0;
        break;  //из for по k
      }
    }

    if(fl == 1)
      ShowMessage("Слово "+IntToStr(nWords)+" состоит из букв первого слова:\n\n" + AnsiString(sCurSlovo));
    else
      ShowMessage("Слово "+IntToStr(nWords)+" состоит НЕ только из букв первого слова:\n\n" + AnsiString(sCurSlovo));

  } //while

_________________
Я не суеверный. Я наблюдательный


 

Member
Статус: Не в сети
Регистрация: 25.06.2004
Откуда: Ukraine
Peter_P :beer: Спасибо!
khasya В ЛС ответил


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

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


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

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


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

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