Другие языки программирования и технологии
Требуется написать программу, которая из цифр двух натуральных чисел создает наименьшее возможное число, сохраняя при эт
Требуется написать программу, которая из цифр двух натуральных чисел создает наименьшее возможное число, сохраняя при этом порядок следования цифр в этих числах.
Вопрос не полный:
каким способом должно быть создано новое число?
− можно взять самую маленькую цифру из этих чисел;
− можно к меньшему справа приписать большее;
− можно ещё кучу вариантов придумать…
Как нужно по заданию?
Мой телепат подсказывает, что нужно слить в одно число.
Вот так:
Дано 133 и 20
Результат 12033
function Natur(var S : String) : Boolean;
var B : Boolean; P : Byte;
begin
while S[1] = '0' do Delete(S, 1, 1);
B := True; for P := 1 to Length(S) do B := B and (S[P] in ['0'..'9']);
Natur := B;
end;
var N1, N2, R : String; P1, P2 : Byte;
begin
Write('Введите 1 натуральное чило: '); ReadLn(N1);
if Not Natur(N1) then begin WriteLn('Введённое значение - не натуральное число. '); Halt; end;
Write('Введите 2 натуральное чило: '); ReadLn(N2);
if Not Natur(N2) then begin WriteLn('Введённое значение - не натуральное число. '); Halt; end;
if Length(N1) = 0 then R := N2
else if Length(N2) = 0 then R := N1
else begin
R := ''; P1 := 1; P2 := 1;
repeat
if N1[P1] < N2[P2] then begin R := R + N1[P1]; Inc(P1); end
else begin R := R + N2[P2]; Inc(P2); end;
until (P1 > Length(N1)) Or (P2 > Length(N2));
while P1 <= Length(N1) do begin R := R + N1[P1]; Inc(P1); end;
while P2 <= Length(N2) do begin R := R + N2[P1]; Inc(P2); end;
end;
WriteLn('Получено число: ', R);
end.
каким способом должно быть создано новое число?
− можно взять самую маленькую цифру из этих чисел;
− можно к меньшему справа приписать большее;
− можно ещё кучу вариантов придумать…
Как нужно по заданию?
Мой телепат подсказывает, что нужно слить в одно число.
Вот так:
Дано 133 и 20
Результат 12033
function Natur(var S : String) : Boolean;
var B : Boolean; P : Byte;
begin
while S[1] = '0' do Delete(S, 1, 1);
B := True; for P := 1 to Length(S) do B := B and (S[P] in ['0'..'9']);
Natur := B;
end;
var N1, N2, R : String; P1, P2 : Byte;
begin
Write('Введите 1 натуральное чило: '); ReadLn(N1);
if Not Natur(N1) then begin WriteLn('Введённое значение - не натуральное число. '); Halt; end;
Write('Введите 2 натуральное чило: '); ReadLn(N2);
if Not Natur(N2) then begin WriteLn('Введённое значение - не натуральное число. '); Halt; end;
if Length(N1) = 0 then R := N2
else if Length(N2) = 0 then R := N1
else begin
R := ''; P1 := 1; P2 := 1;
repeat
if N1[P1] < N2[P2] then begin R := R + N1[P1]; Inc(P1); end
else begin R := R + N2[P2]; Inc(P2); end;
until (P1 > Length(N1)) Or (P2 > Length(N2));
while P1 <= Length(N1) do begin R := R + N1[P1]; Inc(P1); end;
while P2 <= Length(N2) do begin R := R + N2[P1]; Inc(P2); end;
end;
WriteLn('Получено число: ', R);
end.
кому требуется? Неужели мне? Кто требует?
пиши в агент или icq 452371863
пиши в агент или icq 452371863
сравниваем "количество" символов, выбираем минимум... ну и так до конца последовательности (сохраняя разрядность).
на чем нужна програмулина
500р и я сделаю :)
Похожие вопросы
- Разработайте программу, которая заполняет двумерный массив натуральными числами по спирали. Максимальное число N задается.
- ПОЖАЛУЙСТА!!!!Напишите программу для вычисления суммы 10 натуральных чисел последовательностью 1+2+4+8+..в Pascal
- Напишите программу, которая выводит запись переданного ей числа в римской системе счисления. Используйте процедуру. С++
- C++ Помогите написать программу, которая выводит первые n простых чисел.
- c++ цикл: for Написать программу, которая выводит на экран все числа в диапазоне указанном пользователем.
- аскаль. Написать программу которая переводит число из одной системы счисления в другую
- Как написать программу, которая будет представлять вещественное число в памяти компьютера
- 1. Написать программу, которая заполняет массив целых чисел размеров 20 элементов значениями роста учащихся (случайные ч
- Написать программу, которая формирует два массива чисел
- Помогите! Информатика. Вводится пять чисел. Написать программу, которая вычисляет сумму всех четных из них.