Паскаль - Создайте массив А [1..12] с генератора случайных чисел с элементами от -20 до 10 и выведете его на экран. Замените все отрицательные элементы массива числом 0.
// PascalABC.NET 3.2, сборка 1407 от 18.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=ReadlnString('Вводите:').ToWords; var c:=a[0].Last; Writeln('Найдено ',a.Where(w->w.First=c).Count, ' слов, начинающихся с "',c,'"') end.
Пример Вводите: Туча дождь астроном баран арбуз зебра астра велосипед Найдено 3 слов, начинающихся с "а"
Вариант "а нас в школе учат так", который якобы "проще"
var s:string; c:char; i,k,l,p:integer; begin // Предполагается, что слова разделены ровно одним пробелом Write('Вводите: '); Readln(s); l:=Length(s); if l=1 then Writeln('Найдено одно слово') else begin p:=Pos(' ',s); if (p=0) and (s[1]=s[l]) then Writeln('Найдено одно слово') else begin c:=s[p-1]; if s[1]=c then k:=1 else k:=0; for i:=p+1 to Length(s)-1 do if (s[i]=' ') and (s[i+1]=c) then Inc(k); Writeln('Найдено ',k,' слов, начинающихся с "',c,'"') end end end.
Узнаем сколько должно быть при заданных размерах фотографий на каждой стороне, чтобы удовлетворялись все условия. 1) 15*у=10*х где у - количество фотографий на вертикальной стороне, а х - количество фотографий а горизонтальной стороне. Также, необходимо, чтобы общее количество фотографий составляло минимум 250, то есть 2) х*у=250. Отсюда, у=250/х. Заменим у через это равенство в 1 уравнение: 15*(250/х)=10*х 3750/х=10х 10х²=3750 х²=375 х≈20 (округляем до целых, так как количество фотографий на стороне должно быть точным) у=250/х=250/20≈13 13*15=195 20*10=200 Сторону принимаем за 200, т.к. должен быть квадрат, а в квадрате со стороной 195 не уместится 3 фотографии. 13*20=260, то есть на доске останется запас в 10 фотографий. Так, минимальная из возможных длина стороны доски для фотографий - 200 см или 2 м.
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ReadlnString('Вводите:').ToWords;
var c:=a[0].Last;
Writeln('Найдено ',a.Where(w->w.First=c).Count,
' слов, начинающихся с "',c,'"')
end.
Пример
Вводите: Туча дождь астроном баран арбуз зебра астра велосипед
Найдено 3 слов, начинающихся с "а"
Вариант "а нас в школе учат так", который якобы "проще"
var
s:string;
c:char;
i,k,l,p:integer;
begin
// Предполагается, что слова разделены ровно одним пробелом
Write('Вводите: '); Readln(s);
l:=Length(s);
if l=1 then Writeln('Найдено одно слово')
else begin
p:=Pos(' ',s);
if (p=0) and (s[1]=s[l]) then Writeln('Найдено одно слово')
else begin
c:=s[p-1];
if s[1]=c then k:=1 else k:=0;
for i:=p+1 to Length(s)-1 do
if (s[i]=' ') and (s[i+1]=c) then Inc(k);
Writeln('Найдено ',k,' слов, начинающихся с "',c,'"')
end
end
end.
где у - количество фотографий на вертикальной стороне, а х - количество фотографий а горизонтальной стороне. Также, необходимо, чтобы общее количество фотографий составляло минимум 250, то есть 2) х*у=250. Отсюда, у=250/х. Заменим у через это равенство в 1 уравнение:
15*(250/х)=10*х
3750/х=10х
10х²=3750
х²=375
х≈20 (округляем до целых, так как количество фотографий на стороне должно быть точным)
у=250/х=250/20≈13
13*15=195 20*10=200
Сторону принимаем за 200, т.к. должен быть квадрат, а в квадрате со стороной 195 не уместится 3 фотографии. 13*20=260, то есть на доске останется запас в 10 фотографий.
Так, минимальная из возможных длина стороны доски для фотографий - 200 см или 2 м.