Объяснение:
program odd;
var
arr1, arr2: array[1..23] of integer;
i, cnt, tmp, buffer: integer;
begin
writeln('исходный массив:');
for i := 1 to 23 do
begin
arr1[i] := random(100);
write(arr1[i], ' ');
end;
writeln();
cnt := 0; //считем сколько нечетных, переносим в другой массив
for i := 1 to 23 do
begin
if arr1[i] mod 2 <> 0 then
begin
cnt := cnt + 1;
arr2[cnt] := arr1[i];
end;
end;
//сортируем arr2 пузырьком
for i := (cnt - 1) downto 1 do
begin
tmp := i;
while ((tmp < cnt) and (arr2[tmp] > arr2[tmp + 1])) do
begin
//swap
buffer := arr2[tmp];
arr2[tmp] := arr2[tmp + 1];
arr2[tmp + 1] := buffer;
tmp := tmp + 1;
end;
end;
Writeln('отсортированные нечетные:');
for i := 1 to cnt do
write(arr2[i], ' ');
writeln();
writeln('всего: ', cnt);
end.
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <vector>
#include <algorithm>
using namespace std;
bool myfunction (int i,int j) { return (i<j); } // comparator
int main() {
setlocale(0, "");
srand(time(0));
float u(0.0f), v(0.0f), w(0.0f); //суточный рацион коровы, состоящий из сена, силоса и комбикорма
float k(0.0f); // колво голов в ъозяйстве
float s(0.0f), t(0.0f), f(0.0f); // сколько осталось сена, силоса и комбикорма
float percP(0.0f); // в день погибает % коров
float percQ(0.0f), percR(0.0f), percT(0.0f); // в день сгнивает сена, силоса и комбкорма %
int dayCounter = 0;
cout << "Сена в день: ";
cin >> u;
cout << "Силоса в день: ";
cin >> v;
cout << "Комбикорма в день: : ";
cin >> w;
cout << "Всего коров: ";
cin >> k;
cout << "Осталось сена: ";
cin >> s;
cout << "Осталось силоса: ";
cin >> t;
cout << "Осталось комбикорма: ";
cin >> f;
cout << "Сколько % в день погибает коров: ";
cin >> percP;
cout << "Сколько % пропадает сена: ";
cin >> percQ;
cout << "Сколько % пропадает силоса: ";
cin >> percR;
cout << "Сколько % пропадает комбикорма: ";
cin >> percT;
while(1) {
if(s<u) {
cout << "Кончилось сено. Прожито дней: " << dayCounter << ". Осталось коров: " << k;
break;
}
if(t<v) {
cout << "Кончился силос. Прожито дней: " << dayCounter << ". Осталось коров: " << k;
break;
}
if(f<w) {
cout << "Кончился комбикорм. Прожито дней: " << dayCounter << ". Осталось коров: " << k;
break;
}
cout << "День:: " << dayCounter << " ";
cout << "Осталось коров: " << static_cast<int>(k) << endl;
// кормим коров
s-=u;
t-=v;
f-=w;
//конец дня. Заного считаем припасы и коров.
k=k/100*(100-percP);
s=s/100*(100-percQ);
t=t/100*(100-percR);
f=f/100*(100-percT);
++dayCounter;
}
system("pause");
}
Повтори 2 раза Сместиться на (1, 2) Сместиться на (3, —4) Сместиться на (—5, 6) конец. Т.е.получаем:
складываем координаты по оси х, начиная с точки 0, повторяем 2 раза: 0+1+3-5+1+3-5=-2 - это точка, где находится чертежник.
Аналогично с координатами по оси у: 0+2-4+6+2-4+6=8.
Координаты чертежник после выполнения цикла (-2;8). Соответственно, чтобы чертежник вернулся в точку (0;0), ему надо сместиться на (2;-8).