10) (Первый скриншот):
static void Main(string[] args)
{
int N = 0;
int count = 0;
double srednekv = 0;
Console.Write("Введите размерность вектора: ");
N = Convert.ToInt32(Console.ReadLine());
int count2 = N;
int[] A = new int[N];
Random rnd = new Random();
for (int i = 0; i < N; i++)
{
A[i] = rnd.Next(0, 10);
}
Console.WriteLine();
Console.Write("Первоначальный вектор А: ");
for (int i = 0; i < N; i++)
{
Console.Write(String.Format("{0,3}", A[i]));
}
for (int i = 0; i < N; i++)
{
srednekv += Math.Pow(A[i], 2);
if (A[i] != 0)
{
int memory = A[count];
A[count] = A[i];
A[i] = memory;
count++;
}
}
for (int i = 0; i < N; i++)
{
if (A[i] == 0)
{
int memory = A[count2 - 1];
A[count2 - 1] = A[i];
A[i] = memory;
count2--;
}
}
Console.WriteLine();
Console.WriteLine();
Console.Write("Изменённый вектор А: ");
for (int i = 0; i < N; i++)
{
Console.Write(String.Format("{0,3}", A[i]));
}
Console.WriteLine();
Console.WriteLine();
Console.WriteLine("Среднеквадратичное элементов вектора = {0}", srednekv/N);
Console.ReadKey();
}
7) (Второй скриншот):
static void Main(string[] args)
{
int N = 5;
double[,] C = new double[N, N];
double sumGlav = 0;
double sumPoboch = 0;
Random rnd = new Random();
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
C[i, j] = rnd.Next(0, 10);
}
}
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
if (i==j)
{
sumGlav += C[i, j];
}
if (i + j == N - 1)
{
sumPoboch += C[i, j];
}
}
}
Console.WriteLine();
Console.Write("Массив: ");
Console.WriteLine();
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
Console.Write(String.Format("{0,3}", C[i, j]));
}
Console.WriteLine();
}
Console.WriteLine("Сумма элементов главной диагонали = {0}", sumGlav);
Console.WriteLine("Сумма элементов побочной диагонали = {0}", sumPoboch);
Console.ReadKey();
}
Объяснение:
В первом - просто ввести размерность вектора, во втором задании он по условию уже задан как 5x5.
Uses GraphABC;
const MaxShar=50;
type shar = record
x,y:integer;
dx,dy:integer;
end;
var i:byte;
x,y,r:integer;
shars: array[1..MaxShar] of shar;
begin
randomize;
setwindowsize(500,500);
centerwindow;
r:=10;
setpenwidth(3);
for i:=1 to MaxShar do
with shars[i] do
begin
x:=7+r+random(500-2*r-14);
y:=7+r+random(500-2*r-14);
dx:=random(8) + 1;
dy:=random(8) + 1;
end;
lockdrawing;
repeat
clearwindow;
for i:=1 to MaxShar do
with shars[i] do
begin
x:=x+dx;
if (x+r+dx>=493) or (x-r+dx<=7) then dx:=-dx;
y:=y+dy;
if (y+r+dy>=493) or (y-r+dy<=7) then dy:=-dy;
setpencolor(clBlue);
setbrushcolor(clBlue);
circle(x,y,r);
end;
setpencolor(clBlack);
setpenwidth(3);
moveto(5,5);
lineto(495,5);
lineto(495,495);
lineto(5,495);
lineto(5,5);
sleep(1);
redraw;
until false;
end.
Примечание:
В конце программы есть команда sleep(), чем больше в ней значение, тем меньше скорость шариков. Также её можно просто убрать, тогда скорость будет максимальной.
Два варианта:
1) Если двойное условие допустимо в одном условном блоке
2) Если двойное условие не допустимо в одном условном блоке