Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#include <stdafx.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdbool.h>
- #include<stdio.h>
- #include<math.h>
- #include<locale.h>
- #include<conio.h>
- #include<Windows.h>
- int W[12][15];
- int n;
- int P[12];
- int positive_element_in_array(int n, int *b) {
- int positiveElement = -1;
- for (int i = n - 1; i >= 0; i--) {
- if (b[i] > 0) {
- positiveElement = b[i];
- break;
- }
- }
- return positiveElement;
- }
- /* Функция ввода матрицы A(n*m) */
- void vvod(int m, int n) {
- for (int i = 0; i < m; i++) {
- for (int j = 0; j < n; j++)
- scanf("%d", &W[i][j]);
- }
- }
- /*Функция вывода матрицы A(n*m) */
- void vyvod(int m, int n) {
- printf("Inputting matrix: \n");
- for (int i = 0; i < m; i++) {
- for (int j = 0; j < n; j++)
- printf("%5d ", W[i][j]);
- printf("\n");
- }
- }
- /*задание 6*/
- void WP(int n, int m, int *index) {
- printf("\npreob matrix:\n");
- int W2[12][15];
- for (int i = 0; i < m; i++) {
- for (int j = 0; j < n; j++) {
- W2[i][j] = W[index[i]][j];
- }
- }
- for (int i = 0; i < m; i++) {
- for (int j = 0; j < n; j++) {
- printf("%d", W2[i][j], "%c", " ");
- }
- printf("\n");
- }
- }
- void swap(int *a, int i, int j) {
- int temp;
- temp = a[i];
- a[i] = a[j];
- a[j] = temp;
- }
- void sortP(int n, int m) {
- int *index = (int *) malloc(sizeof(int) * n);
- for (int i = 0; i < n; i++) {
- index[i] = i;
- }
- for (int i = 0; i < n; i++) {
- int mink = i;
- int minimum = P[i];
- for (int j = i; j < n; j++) {
- if (P[j] < minimum) {
- minimum = P[j];
- mink = j;
- }
- }
- swap(P, i, mink);
- swap(index, i, mink);
- }
- for (int j = 0; j < n; j++)
- printf("%d", P[j], "%c"," ");
- printf("\n");
- /*делает 6 задание тут же*/
- WP(n, m, index);
- }
- /* 4 задание*/
- void p(int m, int n) {
- int n1 = n;
- int *H1 = (int *) malloc(sizeof(int) * n);
- for (int i = 0; i < m; i++) {
- for (int j = 0; j < n; j++) {
- H1[i] = W[i][j];
- }
- P[i] = positive_element_in_array(n, H1);
- }
- printf("\n4 task\n");
- for (int j = 0; j < n; j++)
- printf("%d", P[j]);
- //printf("\n");
- sortP(n, m);
- }
- /* Главная программа */
- int main() {
- setlocale(LC_ALL, "russian");
- printf("\nmatrix \n");
- int m, i, j;
- float sra, srg;
- scanf("%d",&m);
- scanf("%d",&n);
- printf("\ninput matrix:\n");
- vvod(m, n);
- vyvod(m, n);
- p(m, n);
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement