ДОДЕЛАТЬ ОСТАЛЬНЫЕ СТОРОНА ПЕРПЯТСТВИЯ ДЛЯ КРУГА
ПРОГРАММА ПАСКАЛЬ
ВОТ РАБОТА:
uses
GraphABC;
var
k:integer;
x,y, xp, yp:integer;
xc,yc: array[1..10] of integer ;
procedure roma2();
begin
brush.color := clgreen;
circle(x, y, 40);
brush.color := clwhite;
circle(x+15, y-10, 13);
circle(x-25, y-10, 13);
brush.color := clblack;
circle(x+15, y-10, 05);
circle(x-25, y-10, 05);
brush.color := clred;
circle(x-4, y+20, 15);
end;
procedure roma();
begin
for var i:=1 to 10 do
begin
if (x=xc[i])and(y=yc[i])
then begin
xc[i]:=450;
k:=k+1;
end;
brush.color := clwhite;
circle(xc[i],yc[i],40);
brush.color := clyellow;
circle(xc[i],yc[i],20);
end;
end;
//
procedure KeyDown(Key: integer);
begin
lockdrawing;
window.Clear;
case Key of
vk_left:
begin
if x<0
then x:=500
else x := x - 1;
end;
//
vk_right:
begin
if (x >=xp)and (y >= yp) and (y <= yp+100) and (x <= xp+100)
then x:=x
else if x > 500
then x:=0
else x := x + 1;
end;
//
vk_up:
begin
if y<0
then y:=500
else y := y - 1;
end;
vk_down:
begin
if y>500
then y:=0
else y := y + 1;
end;
end;
brush.Color:=clyellow;
rectangle(xp,yp,xp+100,yp+100);
TextOut(20,20,inttostr(k));
roma2;
roma;
redraw;
end;
begin
k:=0;
window.Height:=500;
window.Width:=500;
x:=200; y:=300;
xp:=300;
yp:=350;
brush.Color:=clyellow;
rectangle(xp,yp,xp+100,yp+100);
for var i:=1 to 10 do
begin
xc[i]:=random (400);
yc[i]:=random (400);
roma;
end;
roma2;
OnKeyDown := KeyDown;
end.
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
srand(time(0));
int quantity = 0;
const int size = 4;
int arr[size][size] = {};
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
arr[i][j] = rand() % 31;
cout << arr[i][j] << " ";
}
cout << endl;
}
for (int i = 0; i < size; i++)
{
if (arr[i][i] == 0)
{
quantity++;
}
}
cout << quantity;
}
Объяснение:
Если пишете в codeblocks, то добавьте библиотеку stdlib.h
#include <iostream> // Библиотека ввода - вывода
#include <ctime> // Библиотека для работы со временем
using namespace std; // Пространство имён
int main()
{
srand(time(0)); // Обнуляем время (каждый раз новые числа в массиве)
int quantity = 0; // Создание целочисленной переменной, хранящей количество нулевых элементов, расположенных на главной диагонали
const int size = 4; // Константная целочисленная переменная, хранящая в себе размер квадратной матрицы
int arr[size][size] = {}; // Создание целочисленной квадратной матрицы, заполненной нулями
for (int i = 0; i < size; i++) // Идём по массиву
{
for (int j = 0; j < size; j++) // Идём по массиву
{
arr[i][j] = rand() % 31; // Заполнения массива числами диапазона [0, 30]
cout << arr[i][j] << " "; // Вывод значений
}
cout << endl; // Перевод на следующую строку
}
for (int i = 0; i < size; i++) // Так как нам нужна только главная диагональ, а индексы этих элементов равны, то используем только один цикл
{
if (arr[i][i] == 0) // Если элемент главной диагонали = 0
{
quantity++; // Количество + 1
}
}
cout << quantity; // Вывод ответа
}