Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ] > Код на шару!
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.12.2015, 13:51
Uuuu Uuuu вне форума
Прохожий
 
Регистрация: 22.12.2015
Сообщения: 13
Версия Delphi: Code Gear
Репутация: 10
Сообщение 2 задачки по строкам, условия внутри

1. Дана строка, состоящая из слов, разделенных одним пробелом. Вывести строку, состоящую из этих же слов, расположенных в алфавитном порядке.

2. Дан текст (массив строк) в котором каждая строка содержит до 255 цифр. Составить программу, которая для каждой строки определяет, является ли число "палиндромом" (читается одинаково в одну и в другую сторону).

Скоро конец семестра, а сдать нужно чем поскорее
Ответить с цитированием
  #2  
Старый 22.12.2015, 14:39
Rosenkrantz Rosenkrantz вне форума
Активный
 
Регистрация: 04.12.2007
Адрес: Москва
Сообщения: 234
Версия Delphi: Delphi 7
Репутация: 40
По умолчанию

1.
Код:
program split_and_sort;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Windows,
  Classes,
  StrUtils;

  function ConvertAnsiToOEM(const S: String): String;
  begin
    SetLength(Result, Length(S));
    CharToOEM(PChar(S), PChar(Result));
  end;

var
  Text: String;
  i   : Integer;
  S   : TStringList;
begin
  Text := 'Дана строка состоящая из слов разделенных одним пробелом';
  S    := TStringList.Create;
  try
    S.Delimiter     := #32;
    S.DelimitedText := Text;

    S.Sort;
    for i := 0 to S.Count - 1 do
      Writeln(ConvertAnsiToOEM(S[i]));
  finally
    FreeAndNil(S);
  end;

  Readln;
end.

2.
Код:
program Palindroms;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const
  STR_COUNT = 3;
  ResStr: Array [False..True] of String = ('No ',
                                           'Yes');

var
  Data    : Array [1..STR_COUNT] Of String;
  i, j, k : Integer;
  YesNo   : Boolean;
begin
  Data[1] := '689986';
  Data[2] := '12344';
  Data[3] := '23455432';

  for i := Low(Data) to High(Data) do begin
    j     := 1;
    k     := Length(Data[i]);
    YesNo := True;
    while (j <= k) and YesNo do begin
      YesNo := Data[i][j] = Data[i][k];
      j     := j + 1;
      k     := k - 1;
    end;

    Writeln(ResStr[YesNo], ' ', Data[i]);
  end;
  
  Readln;
end.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:45.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter