<u>// PascalABC.NET 3.2, сборка 1467 от 02.06.2017</u>
<u>// Внимание! Если программа не работает, обновите версию!</u>
begin
ReadlnString('Вводите:').ToWords.Where(w->(w.Length).IsOdd)
.Where(w->w.Right(2)='ая').Println
end.
Все зависит от того, о каком языке идет речь.
Если язык допускает только типизированные массивы, то тип элементов массива может быть любым, как базовым, так и определенным пользователем, но все элементы массива должны быть одного типа.
Если в языке допускаются нетипизированные массивы, то любые элементы массива могут иметь любой, предопределенный в языке тип, либо ранее объявленный тип, либо быть бестиповыми. Другими словами, если в языке допускаются нетипизированные массивы, то тип каждого элемента может определяться, а также переопределяться в процессе выполнения программы.
Например, Паскаль - язык с жесткой типизацией. В нем тип массива определяет тип всех элементов этого массива. Сам тип может быть как предопределенным (числовым, логическим, булевым, строковым,...), так и определенным пользователем посредством конструкции Type.
Индекс массива - это порядковый номер элемента в массиве, поэтому он всегда целочисленный. В ряде языков можно указывать индексы вещественного и даже строкового типа, но в любом случае они будут приведены к целочисленным.
В программе для создания коллажей.
Program t2; var a: integer; Begin write ('Введите колличество суток'); read (a);writeln ('Колличество часов ', a*24);writeln ('Колличество минут ',a*24*60);writeln ('Колличество секунд ',a*24*60*60); end.
Uses Crt;
const
p=5; { ежегодный процент }
n100=100; { количество лет }
n200=200; { количество лет }
s0=1000; {начальная сумма }
soz=100000; { на постройку общественных зданий }
sb=1061000; { оставить жителям Бостона }
var
s,s100,s200:longint;
k100,k200:real;
begin
ClrScr;
k100:=exp(n100*ln(1+p/100)); {процент за 100 лет}
k200:=exp(n200*ln(1+p/100)); {процент за 200 лет}
s100:=Trunc(s0*k100);
Writeln('Через первые 100 лет сумма составит ',s100);
Writeln('На постройку общественных зданий: ',soz);
s:=s100-soz;
Writeln('Остаток: ',s);
s100:=Trunc(s*k100);
Writeln('Через вторые 100 лет сумма составит ',s100);
Writeln('Оставить бостонским жителям: ',sb);
Writeln('Правлению Массачусетской общины: ',s100-sb);
Writeln('*** За ',n200,' лет, если бы сумм не снимали: ',
Trunc(s0*k200));
Readkey;
end.
<em><u>Тестовое решение:</u></em>
Через первые 100 лет сумма составит 131501
На постройку общественных зданий: 100000
Остаток: 31501
Через вторые 100 лет сумма составит 4142421
Оставить бостонским жителям: 1061000
Правлению Массачусетской общины: 3081421
*** За 200 лет, если бы сумм не снимали: 17292580