Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<stdio.h>
- #include<stdlib.h>
- #include<time.h>
- #define N 7
- #define M 5
- void unit_dynamic(int A[][M],int n);
- void print_dynamic(int A[][M], int n);
- void bubble_dynamic(int A[][M], int n);
- void bubble(int* A, int m);
- void swap(int* a, int* b);
- void transform(int A[][M], int n);
- int main() {
- srand(time(NULL));
- int A[N][M];
- unit_dynamic(A, N);
- print_dynamic(A, N);
- bubble_dynamic(A, N);
- printf("After Bubble:\n");
- print_dynamic(A, N);
- transform(A, N);
- }
- void unit_dynamic(int A[][M], int n) {
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < M; j++) {
- A[i][j] = rand() % 101;
- }
- }
- }
- void print_dynamic(int A[][M], int n) {
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < M; j++) {
- printf("%4d", A[i][j]);
- }
- printf("\n");
- }
- printf("\n");
- }
- void bubble_dynamic(int A[][M], int n) {
- for (int i = 0; i < n; i++) {
- bubble(A[i], M);
- }
- }
- void bubble(int* A, int m) {
- for (int i = 0; i < m - 1; i++) {
- for (int j = 0; j < m - 1 - i; j++) {
- if (A[j] > A[j + 1]) {
- swap(&A[j], &A[j + 1]);
- }
- }
- }
- }
- void swap(int* a, int* b) {
- int temp = *a;
- *a = *b;
- *b = temp;
- }
- void transform(int A[][M], int n) {
- int B[N];
- int min = 10000, t = 0, min_in, p = 0;
- for (int i = 0; i < N; i++) {
- B[i] = 0;
- }
- for (int t = 0; t < N * M; t++) {
- for (int i = 0; i < (n - p); i++) {
- while (B[i] == M) {
- i++;
- if (i == n) {
- p++;
- i = 0;
- }
- }
- if (A[i][B[i]] < min) {
- min = A[i][B[i]];
- min_in = i;
- }
- }
- printf("%4d", min);
- min = 1000;
- B[min_in]++;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement