Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2008, 07:31   #11
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Кинь на форму 2 memo и 1 кнопку

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  s:string;
  i:integer;
begin
  s:=form1.Memo1.Text;
  repeat
    delete(s,pos('  ',s),1)
  until pos('  ',s)=0;
  for i:=length(s) downto 1 do
     begin
       if (s[i]='.')and (s[i+1]<>' ')and (i<length(s)) then
       insert(' ',s,i+1);
     end;
  for i:=length(s) downto 1 do
     begin
       if (i=1)or (s[i-2]='.')then
         case s[i] of
         'a'..'z':s[i]:=UpCase(s[i]);
         'а'..'п':dec(s[i],32);
         'р'..'я':dec(s[i],80);
              'ё':s[i]:='Ё';
         end;
    end;
  form1.Memo2.Text:=s;
end;

Последний раз редактировалось Kostia; 06.01.2008 в 07:35.
Kostia вне форума Ответить с цитированием
Старый 06.01.2008, 08:24   #12
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

В Делфи кодировка символов отличается от Паскаля, поэтому код нужно переделать. Кроме того по условию задачи не нужно удалять лишние пробелы, хотя я бы тоже их удалил, но условие есть условие. Вот переделанный код.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  s:string;
  i:integer;
begin
  s:=form1.Memo1.Text;
  for i:=length(s) downto 1 do
     begin
       if (s[i]='.')and (s[i+1]<>' ')and (i<length(s)) then
       insert(' ',s,i+1);
     end;
  for i:=length(s) downto 1 do
     begin
       if (i=1)or (s[i-2]='.')then
         case s[i] of
         'a'..'z','а'..'я':dec(s[i],32);
         'ё':s[i]:='Ё';
         end;
    end;
  form1.Memo2.Text:=s;
end;
P.S. Вам остальные задачи тоже в Delphi нужны? Впредь сразу указывайте на каком языке и в какой оболочке писать.

Последний раз редактировалось puporev; 06.01.2008 в 09:20.
puporev вне форума Ответить с цитированием
Старый 06.01.2008, 10:10   #13
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
двумерный массив:
расположить столбцы матрицы D[M,N] в порядке возрастания элементов k-ой строки (1<=k<=M).
Положите на форму три Edit, два Memo и Button.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var m,n,k,i,j,p,x:integer;
    a:array[1..50,1..50]of integer;
begin
m:=strtoint(edit1.text);
n:=strtoint(edit2.text);
k:=strtoint(edit3.text);
if (k<1)or(k>m)then
  begin
     ShowMessage('Недопустимое значение k');
     exit;
  end;
randomize;
for i:=1 to m do
   begin
     for j:=1 to n do
        begin
          a[i,j]:=random(10);
          memo1.Text:=memo1.Text+inttostr(a[i,j])+'  ';
       end;
     memo1.Text:=memo1.Text+#13+#10;
   end;
//Сортировка по возрастанию в строке k
for j:=1 to n-1 do
for p:=1 to n-1 do
if a[k,p]>a[k,p+1] then
     begin
       for i:=1 to m do
          begin
            x:=a[i,p];a[i,p]:=a[i,p+1];a[i,p+1]:=x;
          end;
     end;
//Вывод обработанной матрицы
for i:=1 to m do
   begin
     for j:=1 to n do
        begin
          memo2.Text:=memo2.Text+inttostr(a[i,j])+'  ';
       end;
     memo2.Text:=memo2.Text+#13+#10;
   end;
end;

end.
puporev вне форума Ответить с цитированием
Старый 06.01.2008, 10:31   #14
Lapyle4ek
 
Регистрация: 05.01.2008
Сообщений: 8
По умолчанию

учту на будующее........я просто первый раз с такой просьбой обращаюсь.....
Lapyle4ek вне форума Ответить с цитированием
Старый 06.01.2008, 14:24   #15
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
подпрограммы:
найти все натуральные числа, не превосходящие данного n, которые делятся на каждую из своих цифр
Код:
//На форме размещаем Edit1 для ввода N, Button1 и Memo1 для вывода данных.
//На Memo1 помещаем полосу вертикальной прокрутки для вывода большого 
//количества чисел.
procedure TForm1.Button1Click(Sender: TObject);
var n:longint;i:integer;
//Создаем функцию логического типа,определяющую делится или нет
//число на все свои цифры.
function Del(a:integer):boolean;
var k,i,b:integer;c:boolean;
begin
k:=0;i:=0;b:=a;
   while b>0 do
     begin
        n:=b mod 10;//находим последнюю цифру
        if n=0 then //если она 0, заканчиваем цикл 
          begin
            c:=false;exit;
          end else
          begin
            i:=i+1;//считаем количество цифр
            if a mod n=0 then k:=k+1;//считаем количества положительных результатов
            b:=b div 10;//отбрасываем использованную цифру
          end;
     end;
   if k=i then c:=true//делится не все цифры
   else c:=false;      //не на все цифры
result:=c;
end;

begin
n:=strtoint(edit1.text); //вводим N
for i:=1 to n do
if Del(i)=true then      //исследуем все числа от 1 до N
memo1.Text:=memo1.Text+inttostr(i)+' ';
end;

end.
puporev вне форума Ответить с цитированием
Старый 06.01.2008, 19:51   #16
Lapyle4ek
 
Регистрация: 05.01.2008
Сообщений: 8
По умолчанию

спасибо вам огромное! все очень помогли!!!
Lapyle4ek вне форума Ответить с цитированием
Старый 08.01.2008, 23:35   #17
Маришка
 
Регистрация: 08.01.2008
Сообщений: 3
По умолчанию Помогите!!

Не могу дописать программу "Размещение графа по уровням". В самой программе рисую граф, потом сохраняю его в матрицу смежности и файл *.bmp. Затем мне надо разместить граф по уровням. Надо прочитать матрицу смежности, записать ее в массив, и, если a[i]:=0, то вершины не смежны, иначе надо нарисовать ребро и вершину. Проблема в том, что на уровне может быть не больше k вершин, и если на уровень претендует большее количество вершин, то вершина, у которой меньше всего связей перемещается на следующий уровень. Как это реализовать?
Маришка вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите решить задачи proq Паскаль, Turbo Pascal, PascalABC.NET 2 17.07.2008 22:14
Помогите решить 3 задачи VANOLORD Паскаль, Turbo Pascal, PascalABC.NET 16 12.05.2008 22:04
Помогите решить задачи в C++ marsius Помощь студентам 4 18.04.2008 23:33
Помогите решить задачи Andyst Помощь студентам 3 25.12.2007 15:14