Advertisement
Nagy_Szabolcs

atalakitas 3

Sep 21st, 2019
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.76 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. void beolvasas(int p_e_mat[][50], int& n, int& m){
  6.     ifstream fin("pontel.txt");
  7.  
  8.     fin >> n >> m;
  9.  
  10.     for(int i = 0; i < n; i++){
  11.         for(int j = 0; j < m; j++)
  12.             fin >> p_e_mat[i][j];
  13.     }
  14. }
  15.  
  16. void kiiratas(int p_e_mat[][50], int n, int m){
  17.     for(int i = 0; i < n; i++){
  18.         for(int j = 0; j < m; j++)
  19.             cout << p_e_mat[i][j] <<' ';
  20.         cout << endl;
  21.     }
  22. }
  23.  
  24. void ellista_tolt(int p_e_mat[][50],int ellista[][2],int n, int m){
  25.     int e, u, i, j;
  26.  
  27.     for( i = 0; i < m; i++){
  28.         e = -1;
  29.         u = -1;
  30.         for(j = 0; j < n; j++){
  31.             if(p_e_mat[j][i] == 1 && e == -1) e = j;
  32.             else if(p_e_mat[j][i] == -1 || p_e_mat[j][i] == 1) u = j;
  33.         }
  34.         ellista[i][0] = e;
  35.         if(u != -1) ellista[i][1] = u;
  36.         else ellista[i][1] = e;
  37.     }
  38. }
  39.  
  40. void ellista_ki(int ellista[][2],int m){
  41.     for(int i = 0; i < m; i++){
  42.         cout << ellista[i][0]+1 <<' '<< ellista[i][1]+1 <<' '<< endl;
  43.     }
  44. }
  45.  
  46. void p_p_mat_tolt(int n, int p_p_mat[][50], int m, int ellista[][2]){
  47.     for ( int i = 0; i < m; i++){
  48.         p_p_mat[ellista[i][0]][ellista[i][1]] = 1;
  49.     }
  50. }
  51.  
  52. void p_p_mat_ki(int n, int p_p_mat[][50]){
  53.     for(int i = 0; i < n; i++){
  54.         for(int j = 0; j < n; j++)
  55.             cout << p_p_mat[i][j] <<' ';
  56.         cout << endl;
  57.     }
  58. }
  59.  
  60. int main() {
  61.     int p_e_mat[50][50],n,m;
  62.  
  63.     beolvasas(p_e_mat,n,m);
  64.     kiiratas(p_e_mat,n,m);
  65.  
  66.     cout << endl << endl;
  67.     int ellista[m][2];
  68.     ellista_tolt(p_e_mat, ellista, n, m);
  69.     ellista_ki(ellista, m);
  70.  
  71.     cout << endl << endl;
  72.     int p_p_mat[50][50] = {};
  73.     p_p_mat_tolt(n, p_p_mat, m, ellista);
  74.     p_p_mat_ki(n, p_p_mat);
  75.  
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement