#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i,j,n,sum,a[30][30];
printf("n=");
srand(time(NULL));
scanf("%d",&n);
printf("Matrix:\n");
sum = 0;
for (i = 1; i <= n; i++)
{
for (j = 1; j<=n; j++)
{
a[i][j]=1+rand()%9;
printf("%d ",a[i][j]);
}
printf("\n");
}
printf("\n");
for (i=2;i<=n-1;i++)
{
for(j=1;j<=2*i-1;j++)
if(i!=j)
sum+=a[i*2-j][j];
a[i][i]=sum;
sum=0;
}
printf("Output matrix:\n");
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n; j++)
printf("%d ", a[i][j]);
printf("\n");
}
return 0;
}
===== PascalABC.NET =====
procedure MinMax(a: array of integer; var min, max: integer);
begin
for var i := 0 to a.High do
if a[i] < min then
min := a[i]
else if a[i] > max then
max := a[i]
end;
begin
var a1 := ArrRandom(10, -99, 99);
a1.Println;
var a2 := ArrRandom(10, -99, 99);
a2.Println;
var a3 := ArrRandom(10, -99, 99);
a3.Println;
var a4 := ArrRandom(10, -99, 99);
a4.Println;
var min1, min2, min3, min4, max1, max2, max3, max4: integer;
MinMax(a1, min1, max1);
MinMax(a2, min2, max2);
MinMax(a3, min3, max3);
MinMax(a4, min4, max4);
var r := Seq(min1, min2, min3, min4, max1, max2, max3, max4)
.Sorted.ToArray;
r.Println
end.
Конечно, подобные задачи намного компактнее и проще писать на базе двумерного массива.
Поделитесь своими знаниями, ответьте на вопрос:
Написать программу, которая преобразует введенное пользователем количество дней в количество полных недель и оставшихся дней. например, пользователь ввел 17 дней, программа должна вывести на экран 2 недели и 3 дня.
' Dim d As Integer
d = CInt(InputBox("Кол-во дней?"))
MsgBox "Недель: " & d\7 & "; Дней: " & d mod 7
End Sub