Вывод верхней правой треугольной матрицы - C (СИ)

Узнай цену своей работы

Формулировка задачи:

как в этой проге вывести верхнюю правую треугольную матрицу в общепринятом виде(ну чтобы столбцы, строчки и треугольник)?
#include <stdio.h> 
#include <conio.h> 
#include <stdlib.h> 
#include <time.h> 
#include <locale.h> 
#define N 10 
int main() { 
    int a[N][N], n, m, k, temp; 
    srand((unsigned)time(NULL)); 
    setlocale(LC_CTYPE, "Russian_Russia.1251"); 
    for (n = 0; n < N; n++) 
        for (m = 0; m < N; m++) 
            a[n][m] = rand() % 11; 
    printf("\tИсходная матрица 10 х 10:\n\n"); 
    for (n = 0; n < N; n++, printf("\n")) 
        for (m = 0; m < N; m++) 
            printf("%4i", a[n][m]); 
    printf("\n\tОтсортированная матрица: \n\n"); 
    for (n = 0; n < N; n++) { 
        for (m = 1; m < N; m++) { 
            for (k = 0; k < N - m; k++) { 
                if (a[n][k] > a[n][k + 1]) { 
                    temp = a[n][k]; 
                    a[n][k] = a[n][k + 1]; 
                    a[n][k + 1] = temp; 
                } 
            } 
        } 
    } 
    for (n = 0; n < N; n++, printf("\n")) 
        for (m = 0; m < N; m++) 
            printf("%4i", a[n][m]); 
    _getch(); 
    return 0; 
}

Решение задачи: «Вывод верхней правой треугольной матрицы»

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>
#define N 10
int main()
{
    int a[N][N], n, m, k, temp;
    srand((unsigned)time(NULL));
    setlocale(LC_CTYPE, "Russian_Russia.1251");
    for (n = 0; n < N; n++)
        for (m = 0; m < N; m++)
            a[n][m] = rand() % 11;
    printf("\tИсходная матрица 10 х 10:\n\n");
    for (n = 0; n < N; n++, printf("\n"))
        for (m = 0; m < N; m++)
            printf("%4i", a[n][m]);
    printf("\n\tОтсортированная матрица: \n\n");
    for (n = 0; n < N; n++)
    {
        for (m = 1; m < N; m++)
        {
            for (k = 0; k < N - m; k++)
            {
                if (a[n][k] > a[n][k + 1])
                {
                    temp = a[n][k];
                    a[n][k] = a[n][k + 1];
                    a[n][k + 1] = temp;
                }
            }
        }
    }
    for (n = 0; n < N; n++, printf("\n"))
        for (m = 0; m < N; m++) {
            if (n <= m)
                printf("%4i", a[n][m]);
            else
                printf("    ");
        }
 
    _getch();
    return 0;
}

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы
  2. Определяется размер матрицы N = 10
  3. Инициализируются переменные a[n][m], n, m, k, temp;
  4. Задается начальное значение для матрицы a[n][m] = rand() % 11;
  5. Выводится исходная матрица a[n][m]
  6. Сортируется матрица a[n][m] по возрастанию
  7. Выводится отсортированная матрица a[n][m]
  8. Программа ожидает нажатия клавиши для завершения работы
  9. Возвращается 0, чтобы завершить работу программы

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


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

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

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