Н
никитан10
составить программу на языке С сортировки двумерного массива размером 6 на 6. (стрелка указывает от меньшего к большему элемента
Последнее редактирование модератором:
B правой части каждого сообщения есть стрелки ⇧ и ⇩. Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок ✔ в правой части сообщения.
Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
я немного делалМожете чуть поподробнее описать задачу, какие значения могут быть в массиве. Лучше будет вообще привести пример.
нужно отсортировать элементы массива так, как показано на рисунке стрелка показывает как должно располагаться элемент (от меньшего к большему)Можете чуть поподробнее описать задачу, какие значения могут быть в массиве. Лучше будет вообще привести пример.
засунул бы все вод "код", читать удобнейя немного делал
#define _CRT_SECURE_NO_WARNINGS
#include "stdio.h"
#include<stdlib.h>
#include <time.h>
#define N 6
int main()
{
int a[N][N], b[N - 5], c[N];
int i, j, k, mas;
srand(time(0));
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
a[j] = rand() % 100;
for (i = 0; i < N; i++)
{
printf("\n");
for (j = 0; j < N; j++)
printf("%3d", a[j]);
}
for (j = N; j > 3; j--)
{
b[j] = a[j - 4][N - 6];
printf("\n%3d", b[j]);
}
for (k = N - 1; k >= 0; k--)
for (j = 0; j < k; j++)
if (b[j] > b[j + 1])
{
mas = b[j + 1];
b[j + 1] = b[j];
b[j] = mas;
}
for (j = 0; j < N; j++)
{
printf("\n");
for (i = 0; i < N; i++)
printf("%3d", a[j]);
}
for (i = 0; i < N; i++)
{
printf("\n");
for (j = 0; j < N ; j++)
printf("%3d", a[j]);
}
for (j =N; j>3; j--)
{
b[j] = a[j-4][N-5];
printf("\n%3d", b[j]);
}
for (k = N - 1; k >= 0; k--)
for (j = 0; j < k; j++)
if (b[j] > b[j + 1])
{
mas = b[j + 1];
b[j + 1] = b[j];
b[j] = mas;
}
return 0;
}
[doublepost=1511023617,1511023233][/doublepost]
нужно отсортировать элементы массива так, как показано на рисунке стрелка показывает как должно располагаться элемент (от меньшего к большему)
#define _CRT_SECURE_NO_WARNINGS
#include "stdio.h"
#include<stdlib.h>
#include <time.h>
#define N 6
int main()
{
int a[N][N], b[N - 5], c[N];
int i, j, k, mas;
srand(time(0));
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
a[j] = rand() % 100;
for (i = 0; i < N; i++)
{
printf("\n");
for (j = 0; j < N; j++)
printf("%3d", a[j]);
}
for (j = N; j > 3; j--)
{
b[j] = a[j - 4][N - 6];
printf("\n%3d", b[j]);
}
for (k = N - 1; k >= 0; k--)
for (j = 0; j < k; j++)
if (b[j] > b[j + 1])
{
mas = b[j + 1];
b[j + 1] = b[j];
b[j] = mas;
}
for (j = 0; j < N; j++)
{
printf("\n");
for (i = 0; i < N; i++)
printf("%3d", a[j]);
}
for (i = 0; i < N; i++)
{
printf("\n");
for (j = 0; j < N ; j++)
printf("%3d", a[j]);
}
for (j =N; j>3; j--)
{
b[j] = a[j-4][N-5];
printf("\n%3d", b[j]);
}
for (k = N - 1; k >= 0; k--)
for (j = 0; j < k; j++)
if (b[j] > b[j + 1])
{
mas = b[j + 1];
b[j + 1] = b[j];
b[j] = mas;
}
return 0;
}
спасибозасунул бы все вод "код", читать удобней
Код:#define _CRT_SECURE_NO_WARNINGS #include "stdio.h" #include<stdlib.h> #include <time.h> #define N 6 int main() { int a[N][N], b[N - 5], c[N]; int i, j, k, mas; srand(time(0)); for (i = 0; i < N; i++) for (j = 0; j < N; j++) a[j] = rand() % 100; for (i = 0; i < N; i++) { printf("\n"); for (j = 0; j < N; j++) printf("%3d", a[j]); } for (j = N; j > 3; j--) { b[j] = a[j - 4][N - 6]; printf("\n%3d", b[j]); } for (k = N - 1; k >= 0; k--) for (j = 0; j < k; j++) if (b[j] > b[j + 1]) { mas = b[j + 1]; b[j + 1] = b[j]; b[j] = mas; } for (j = 0; j < N; j++) { printf("\n"); for (i = 0; i < N; i++) printf("%3d", a[j]); } for (i = 0; i < N; i++) { printf("\n"); for (j = 0; j < N ; j++) printf("%3d", a[j]); } for (j =N; j>3; j--) { b[j] = a[j-4][N-5]; printf("\n%3d", b[j]); } for (k = N - 1; k >= 0; k--) for (j = 0; j < k; j++) if (b[j] > b[j + 1]) { mas = b[j + 1]; b[j + 1] = b[j]; b[j] = mas; } return 0; }
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define N 6
int main()
{
int a[N][N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35}; //Исходный массив
int i, j, k, //Переменные для прохода по массиву
ch, //Переменная для отслеживания цикла смены направления сортировки
sw, //Переменная-переключатель сортировки
buff, //Дополнительная переменная для смены значений
line; //Переменная для отслеживания линий
int b[N*N]; //Массив для преобразования матрицы в строку
k = 0;
/*Преобразовываем матрицу в строку*/
for (i = 0; i<N; i++)
{
for (j = 0; j<N; j++)
{
b[k] = a[i][j];
k++;
}
}
ch = 0;
sw = 0;
line = 0;
/*Производим сортировку*/
for (i = 0; i < N*N - 6; i++){
switch(sw){
case 0:
if (b[i] < b[i + 6]){
buff = b[i];
b[i] = b[i + 6];
b[i + 6] = buff;
}
break;
case 1:
if (b[i] > b[i + 6]){
buff = b[i];
b[i] = b[i + 6];
b[i + 6] = buff;
}
break;
default: break;
}
ch++;
if (ch == 2){
if (sw == 0){
sw = 1;
ch = 0;
}
else {
sw = 0;
ch = 0;
}
}
line++;
if (line == 6){
i += 6;
line = 0;
}
}
/*Преобразовываем строку в матрицу*/
i = 0;
j = 0;
for (k = 0; k < N*N; k++){
a[i][j] = b[k];
j++;
if (j == 6) {
i++;
j = 0;
}
}
getchar(); getchar();
return 0;
}
Обучение наступательной кибербезопасности в игровой форме. Начать игру!