Заменить элементы ниже главной диагонали на элементы выше главной диагонали - 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();
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.933 из 5
Похожие ответы