Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as Matlab by viper ( 15 years ago )
clear all;
clc;
data = {
{ 'одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать', 'шеснадцать', 'семнадцать', 'восемнадцать', 'девятнадцать' },
{ 'один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять' },
{ 'десять', 'двадцать', 'тридцать', 'сорок', 'пятьдесят', 'шестьдесят', 'семдесят', 'восемьдесят', 'девяносто' },
{ 'сто', 'двести', 'триста', 'четыреста', 'пятьсот', 'шестьсот', 'семьсот', 'восемьсот', 'девятьсот' }
};
pos = 2;
arr = {};
flag = 0;
number = num2str(input('Введите число: '));
while length(number) ~= 0
if pos == 5
arr(end + 1) = 'тысяч';
data{2}{1} = 'одна';
data{2}{2} = 'две';
pos = 2;
flag = 1;
end
if length(number) > 1 && pos == 2
val = str2num(number(end-1:end));
if val > 10 && val < 20
arr(end + 1) = data{1}{val - 10};
number = number(1:end - 2);
pos = pos + 2;
flag = 0;
continue;
end
end
val = str2num(number(end));
if val ~= 0
if flag == 1
if val == 1
arr(end) = 'тысяча';
elseif val >= 2 && val <= 4
arr(end) = 'тысячи';
end
end
arr(end + 1) = data{pos}{val};
end
flag = 0;
number(end) = [];
pos = pos + 1;
end
num_str = [];
for i = arr(end:-1:1)
num_str = [num_str i{1} [' '] ];
end
disp(num_str);
Revise this Paste