Заменить элементы ниже главной диагонали на элементы выше главной диагонали - C#
Формулировка задачи:
Привет! Можете помочь в Си? Есть начало, но как именно менять может кто-то подсказать?
Дана квадратная матрица действительных чисел размером 6х6. Заменить элементы лежащие ниже главной диагонали соответствующими элементами, лежащими выше главной диагонали, умноженными на максимальный элемент всей матрицы
void form_matr (int *a, int n, int m) { int i,j; for (i=0;i<n;i++) { printf ("\n"); for (j=0;j<m;j++) { *(a+i*m+j)=rand()%100; printf("%4d ",*(a+i*m+j)); } } } void f1 (int *a, int n, int m, int *max) { int i,j; *max=-1000; for(i=0; i<n; i++) { printf("\n"); for(j=0; j<m; j++) { if(*(a+i*m+j)>*max) *max=*(a+i*m+j); } } printf("max= %d ", *max); } int main() { int n=6, m=6, max, a[6][6]; form_matr(&a[0][0], n, m); f1(&a[0][0], n, m, &max); getch(); return 0; }
Решение задачи: «Заменить элементы ниже главной диагонали на элементы выше главной диагонали»
textual
Листинг программы
static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); int[,] mass = new int[n, n]; Random rand = new Random(); for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) mass[i, j] = rand.Next(1, 20); int max = int.MinValue; for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) if (max < mass[i, j]) max = mass[i, j]; Console.WriteLine("Максимальный элемент: " + max); Console.WriteLine("Исходный массив:"); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) Console.Write(mass[i, j] + " "); Console.WriteLine(); } Console.WriteLine("Изменненый массив:"); for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - 1; j++) if (i == j) { mass[i, j + 1] = mass[i + 1, j] * max; } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) Console.Write(mass[i, j] + " "); Console.WriteLine(); } Console.ReadKey(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д