Воть... решаю задачку и не могу понять где у меня ошибка... люди умные, гляньте плииз ;)
Условие задачи:
Разработать функцию Add(const S1,S2:string):string, дописывающую все гласные латинские буквы из строки S1 в конец S2 и выдающей получившуюся строку в качестве результата. С помощью данной функции в каждую строку из введенного набора дописать все гласные латинские буквы из предыдущей строки. Гласными считаются следующие буквы: aeiouyAEIOUY.
Вход
В первой строке входа дано количество строк N. Затем следуют N строк, по одной в каждой строке.
Выход
На выход напечатать строки результата, по одной в каждой строке.
Пример
Вход:
3
abc
abd
as
Выход:
abc
abda
asa
Вот мой код...
попробуй в последнем цикле заменить
Ну, зачем же так длинно? Можно и покороче:
const
vowels = ['A', 'E', 'I', 'O', 'U', 'Y'];
function Add(const S1, S2: string): string;
var
i: byte;
s: string;
begin
s := s2;
{ Зачем здесь надо было идти от конца строки к началу? }
for i := 1 to Length(S1) do
if upcase(s1[i]) in vowels
then s := s + s1[i];
Add := s;
end;
var
N, i: integer;
Mas: array [0 .. 100] of string;
begin
mas[0] := ''; { это чтобы и первая строка распечатывалась }
Write('n = '); ReadLn(N);
for i := 1 to N do begin
Write(i, '.s = '); ReadLn(Mas[i])
end;
for i:=0 to N-1 do
begin
Writeln(add(mas[i], mas[i + 1]));
ReadLn
end;
end.
Спасибо...
только вот серверу не нравится это решение...видимо нужно чтобы на выходе все три строки сразу вылетали...
2Valkirie: какому серверу?
Опять TIMUS? :o
Институтскому...
Я же не от нечего делать задачки тут сижу решаю...
А что такое TIMUS ?
Есть такой "acm.timus.ru" для решения задач online
нет..нет... никаких тимусов... ;(((
for i:=0 to N-1 do
Writeln(add(mas[i], mas[i + 1]));
А случайно не нужно читать все данные из файла и вывод делать в файл???? Может серверу нужна только функция..