Advertisement
Guest User

Funkcije unos, ispis matrica, sabiranje ili oduzimanje

a guest
Dec 22nd, 2014
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.96 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace ConsoleApplication1
  7. {
  8.     class Program
  9.     {
  10.         static int[,] upis(int red,int kolona)
  11.         {
  12.             int[,] Matrica = new int[red, kolona];
  13.                                                                // unos elemenata prve matrice
  14.             for (int i = 0; i < red; i++)                      // unosimo jedan po jedan element
  15.             {                                                  // prvo unosimo sve elemente u jednom redu
  16.                 for (int j = 0; j < kolona; j++)               // pa onda prelazimo u drugi red i tako redom
  17.                 {                                              // koliko redova ima
  18.                     Console.Write("[{0},{1}] = ", i, j);
  19.                     int.TryParse(Console.ReadLine(), out Matrica[i, j]);
  20.                 }
  21.             }
  22.             return Matrica;
  23.         }
  24.         static void ispis(int[,] Matrica, int red, int kolona)
  25.         {
  26.             Console.WriteLine("================\t");
  27.  
  28.             for (int i = 0; i < red; i++)                       // ispis
  29.             {                                                   // na
  30.                 Console.WriteLine();                            // konzolu
  31.                 for (int j = 0; j < kolona; j++)                // rezultata
  32.                 {                                               // sabiranja
  33.                     Console.Write("{0}\t", Matrica[i, j]);      // dvije
  34.                 }                                               // matrice
  35.             }
  36.  
  37.             Console.WriteLine();
  38.             Console.WriteLine("================\t");
  39.         }
  40.  
  41.         static void sababiranje_oduzimanje (int[,] X, int[,] Y, char znak, int red, int kolona)
  42.     {
  43.         int[,] REZ;
  44.         REZ = new int[red,kolona];
  45.         if (znak == '+')
  46.         {
  47.             for (int i = 0; i < red; i++)                       // sabiramo tako sto uzimamo elemente sa istih pozicija..
  48.             {                                                   // ..iz prve i druge matrice i saberemo ih
  49.                 for (int j = 0; j < kolona; j++)
  50.                 {
  51.                     REZ[i, j] = X[i, j] + Y[i, j];              // rezultat sacuvamo u matrici "REZ"
  52.                 }
  53.             }
  54.             Console.WriteLine("Rezultat sabiranja dvije matrice.");
  55.             ispis(REZ,red,kolona);
  56.         }
  57.         else
  58.         {
  59.             for (int i = 0; i < red; i++)
  60.             {
  61.                 for (int j = 0; j < kolona; j++)
  62.                 {
  63.                     REZ[i, j] = X[i, j] - Y[i, j];
  64.                 }
  65.             }
  66.             Console.WriteLine("Rezultat zadate operacije dvije matrice.");
  67.             ispis(REZ, red, kolona);
  68.         }
  69.        
  70.     }
  71.         static void Main(string[] args)
  72.         {
  73.             int[,] A;
  74.             int[,] B;
  75.  
  76.             int br_kol_a, br_red_a, br_kol_b, br_red_b;
  77.             char znak;
  78.  
  79.             Console.WriteLine("Unesite dimenzije prve matrice.");   // dimenzije prve matrice
  80.             Console.Write("Unesite broj kolona prve matrice: ");
  81.             int.TryParse(Console.ReadLine(), out br_kol_a);
  82.             Console.Write("Unesite broj redova prve matrice: ");
  83.             int.TryParse(Console.ReadLine(), out br_red_a);
  84.  
  85.             Console.WriteLine("Unesite dimenzije druge matrice.");  // dimenzije druge matrice
  86.             Console.Write("Unesite broj kolona druge matrice: ");
  87.             int.TryParse(Console.ReadLine(), out br_kol_b);
  88.             Console.Write("Unesite broj redova druge matrice: ");
  89.             int.TryParse(Console.ReadLine(), out br_red_b);
  90.  
  91.             A = new int[br_red_a, br_kol_a];                        // deklaracija prve matrice
  92.             B = new int[br_red_b, br_kol_b];                        // deklaracija druge matrice
  93.  
  94.             Console.WriteLine("Unesite elemente prve matrice : ");  // unos elemenata prve matrice
  95.             A = upis(br_red_a,br_kol_a);
  96.  
  97.             Console.WriteLine("==================================");
  98.  
  99.             Console.WriteLine("Unesite elemente druge matrice : "); // unos elemenata druge matrice
  100.             B = upis(br_red_b, br_kol_b);
  101.  
  102.             Console.WriteLine("==================================");
  103.  
  104.             if (br_red_a == br_red_b && br_kol_a == br_kol_b)
  105.             {                
  106.                 Console.Write("Date matrice se mogu sabrati ili oduzeti.Da li zelite da saberete ili oduzmete matrice (Za sabiranje unesite \"+\", za oduzimanje\"-\") :");
  107.                 char.TryParse(Console.ReadLine(), out znak);
  108.                 if (znak == '+' || znak == '-')
  109.                 sababiranje_oduzimanje(A, B, znak, br_red_a,br_kol_a);
  110.                 else Console.WriteLine("Unesite znak \"+\" ili \"-\"");              
  111.  
  112.             }
  113.             else
  114.                 Console.WriteLine("Nemoguce je sabrati ili oduzeti matrice datih dimenzija.");
  115.  
  116.         }
  117.     }
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement