Модераторы: volvo877, Snowy, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как зделать ету задачу!!! HELP!!! 
:(
    Опции темы
Славан
  Дата 7.11.2005, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 4.11.2005
Где: Киев

Репутация: нет
Всего: нет



В етой задаче нужно росставть все двохзначные числа в порядке увилечения!!!Одно что я знаю что типдолжен быть STRING.Помогите please!!!
Пример:12 76 35
Вот что должно быть:12 35 76!!!
PM MAIL   Вверх
Rencom
Дата 7.11.2005, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 27.9.2005

Репутация: нет
Всего: нет



сортируй методом пузырька, а т.к. стринг, то нужно будет переводить литеры в числа по средствам ф-ции ord и вычитать ord от нуля, т.е. перевод литер '12' в число будет выглядеть примерно так:
(ord(1)-ord(0))*10 + ord(2)-ord(0)
PM MAIL   Вверх
Quadr0
Дата 7.11.2005, 23:54 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 02:41
  Вверх
Славан
Дата 8.11.2005, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 4.11.2005
Где: Киев

Репутация: нет
Всего: нет



Твоя програма не роботает!!!Проверь!!!
PM MAIL   Вверх
volvo877
Дата 8.11.2005, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Славан, все нормально работает, просто для Дельфи написано... Вот тебе на Паскале:
Код

const
  n = 3;
  A: array[1 .. n] of string =
    ('12', '76', '35');
var
  i, j: integer;
  p: string;

begin
  for i := 1 to n do
    for j := 1 to n - i do
      if A[j] > A[j+1] then begin
        p := A[j];
        A[j] := A[j+1];
        A[j + 1] := P;
      end;

  for i := 1 to n do
    writeln(a[i]);
end.

PM MAIL   Вверх
sergejzr
Дата 8.11.2005, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Модератор: Название темы должно отражать ее суть!


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Славан
Дата 8.11.2005, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 4.11.2005
Где: Киев

Репутация: нет
Всего: нет



Ето был примерюМне нужно числа написать самому.Числа все двохзначные.Я ввожу 30,23,57,13:Результат:13,23,30,50.
PM MAIL   Вверх
volvo877
Дата 8.11.2005, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Цитата
Мне нужно числа написать самому.

Ну, так измени чуть-чуть программу. Добавь САМ 3 строчки, неужели же ВСЁ надо сделать за тебя ???
PM MAIL   Вверх
darkart
Дата 9.11.2005, 03:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 9.11.2005

Репутация: нет
Всего: 31



Код

const
  n=3;
type
  TArr=array[1..n] of integer;//количество вводимых цифр
var
  s,sTemp:string;//s-вводимая строка, STemp - строка для преобразования
  Arr:TArr;//массив для сортировки
  i,k,code:integer;//i,k-счетчики
procedure SkipSpaces;//пропуск пробелов
begin
  while (s[i]=' ') and (i<=Length(s)) do
    inc(i);
end;
procedure GetStrNumber;//получение одного числа
begin
  sTemp:='';
  while (s[i]<>' ') and (i<=Length(s)) do
  begin
    sTemp:=sTemp+s[i];
    inc(i);
  end;
end;
begin
  read(s);
  i:=1;k:=0;
  while i<=Length(s) do
  begin
    SkipSpaces;
    if i<=Length(s) then
    begin
      inc(k);
      GetStrNumber;
      Val(sTemp,Arr[k],code);
    end;
  end;
  for i:=1 to n do
    for k:=i+1 to n do
      if Arr[k]<Arr[i] then
      begin
        code:=Arr[i];
        Arr[i]:=Arr[k];
        Arr[k]:=code;
      end;
  for i:=1 to n-1 do
    write(Arr[i],' ');
  writeln(Arr[n]);
  readln;
end.



Это сообщение отредактировал(а) darkart - 9.11.2005, 03:43
PM MAIL WWW ICQ Skype GTalk   Вверх
Славан
Дата 9.11.2005, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 4.11.2005
Где: Киев

Репутация: нет
Всего: нет



Это задачка работает немножко неправильно. Я увожу 4 числа она выдает только 3 числа.
PM MAIL   Вверх
darkart
Дата 9.11.2005, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 9.11.2005

Репутация: нет
Всего: 31



Константа n определяет количество вводимых чисел. Если нужно для 4 чисел замени n=3 на n=4!!!
PM MAIL WWW ICQ Skype GTalk   Вверх
banan
Дата 9.11.2005, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 21.11.2004
Где: Киев

Репутация: нет
Всего: нет



я так понял не обизательно 3 числа.Может быть 5,6,45.Нужно делать без константы
PM MAIL   Вверх
Rencom
Дата 10.11.2005, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 27.9.2005

Репутация: нет
Всего: нет



поставь n=1000, т.к. массив нужно описать, прежде чем использовать, затем попроси ввести число элементов последовательности, после чего запрашивай ввод членов последовательности.
PM MAIL   Вверх
Славан
Дата 10.11.2005, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 4.11.2005
Где: Киев

Репутация: нет
Всего: нет



Я ставлю n=1000, она выдает правильно только сначала 0.0.0.0.0... а потом уже числа!!!
PM MAIL   Вверх
darkart
Дата 10.11.2005, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 9.11.2005

Репутация: нет
Всего: 31



А сколько чисел ты вводишь! n штук?
PM MAIL WWW ICQ Skype GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0559 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.