Сортировка матрицы с условием, что 0 самое большое число - C (СИ)
Формулировка задачи:
Дана матрица размером 7*7
Требуется отсортировать ее от меньшего к большему при условии,
что 0 самое большое число. Мне и это удалось самому сделать.
Спросите, моя программа подтвердит.
P.S.
Трудно поверить, ведь я только начал изучать Си
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int i, j, k, l, b, a[7][7];
- int main()
- {
- srand(time(NULL));
- for (i = 0; i < 7; i++ ){
- for (j = 0; j < 7; j++ ){
- a[i][j] = rand()% 16 - 8;
- printf("%4d", a[i][j]);}
- printf("\n");}
- for (k = 0; k < 49; k++ )
- {
- for (i = 0; i < 6; i++ )
- {
- for (j = 0; j < 6; j++ ){
- b = (a[i][j] > a[i][j+1]) && (a[i][j+1] != 0) || (a[i][j] == 0);
- if(b) {l = a[i][j]; a[i][j] = a[i][j+1]; a[i][j+1] = l;}
- b = a[i][6] > a[i+1][0] && a[i+1][0] != 0 || a[i][6] == 0;
- if(b) { l = a[i][6]; a[i][6] = a[i+1][0]; a[i+1][0] = l;}}
- }
- for (j = 0; j < 6; j++ ){
- b = a[6][j] > a[6][j+1] && a[6][j+1] != 0 || a[6][j] == 0;
- if(b){l = a[6][j]; a[6][j] = a[6][j+1]; a[6][j+1] = l;}}
- }
- printf("\n");
- for (i = 0; i < 7; i++ ){
- for (j = 0; j < 7; j++ )
- printf("%4d", a[i][j]);
- printf("\n");}
- _getch();
- return 0;
- }
Решение задачи: «Сортировка матрицы с условием, что 0 самое большое число»
textual
Листинг программы
- fprintf(stdout, "f.var1 = %i, f.var2 = %i\n", f.get(&f, 0), f.get(&f, 1));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д