Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.IO;
- namespace ConsoleApplication169
- {
- class Program
- {
- /*Treba da uneses ime, prezime i ID korisnika... upises u fajl ako fajl ne postoji,
- * a ako postoji ocitas sta pise i dodas ovo novo. Prva linija u fajlu je broj koliko ima korisnika u fajlu.
- * Od njihovih ID-jeva treba da napravis matricu..ali tako da oni od nazad budu uneseni..Sa konzole treba da se u
- * nese jos jedna matrica dimenzija koje se zadaju isto preko konzole ... ako mozes oduzmes matrice,
- * ako ne moze saberes parne elemente na glavnoj dijagonali jedne te matrice i ispises u neki novi fajl
- * i da ako nemos da popunis matricu sa ID treba da izadje iz svega
- *
- * */
- struct Korisnik
- {
- public string ime;
- public string prezime;
- public int id;
- }
- static int[,] matrica3x3(List<Korisnik> Lista)
- {
- int[,] matrica = new int[3,3];
- for (int i = matrica.GetLength(0) - 1 ; i >= 0; i--)
- {
- for (int j = matrica.GetLength(0) - 1; j >= 0; j--)
- {
- foreach (var kor in Lista)
- {
- matrica[i, j] = kor.id;
- }
- }
- }
- return matrica;
- }
- static int[,] UnosMatrice()
- {
- Console.Write("Unesite broj redova: ");
- int br = int.Parse(Console.ReadLine());
- Console.Write("Unesite broj kolona: ");
- int bk = int.Parse(Console.ReadLine());
- int[,] matrica = new int[br, bk];
- Console.WriteLine("Unesite elemente matrice: ");
- for (int i = 0; i < br; i++)
- {
- for (int j = 0; j < bk; j++)
- {
- matrica[i, j] = int.Parse(Console.ReadLine());
- }
- }
- return matrica;
- }
- static int[,] razlikaMatrica(int[,] matrica1, int[,] matrica2)
- {
- StreamWriter sr = new StreamWriter("razlikaMatrica.txt");
- int[,] razMat = new int[matrica1.GetLength(0), matrica1.GetLength(1)];
- for (int i = 0; i < razMat.GetLength(0); i++)
- {
- for (int j = 0; j < razMat.GetLength(1); j++)
- {
- razMat[i, j] = matrica1[i, j] - matrica2[i, j];
- }
- }
- for (int i = 0; i < razMat.GetLength(0); i++)
- {
- for (int j = 0; j < razMat.GetLength(1); j++)
- {
- sr.Write(razMat[i, j]);
- }
- sr.WriteLine();
- }
- sr.Close();
- return razMat;
- }
- static int sumDijagonala(int[,] matrica)
- {
- StreamWriter sw = new StreamWriter("sumaParnihDijagonala.txt");
- int sumDijagonala = 0;
- for (int i = 0; i < matrica.GetLength(0); i++)
- {
- for (int j = 0; j < matrica.GetLength(1); j++)
- {
- if (i == j)
- {
- if (matrica[i, j] % 2 == 0)
- {
- sumDijagonala = sumDijagonala + matrica[i, j];
- }
- }
- }
- sw.Write("Suma dijagonala je: {0}", sumDijagonala);
- }
- sw.Close();
- return sumDijagonala;
- }
- static void Main(string[] args)
- {
- Korisnik korisnik;
- List<Korisnik> ListaKorisnika = new List<Korisnik>();
- string imeFajla = "Korisnici.txt";
- string opcija = "";
- if (File.Exists(imeFajla))
- {
- StreamReader f = File.OpenText(imeFajla);
- foreach (var kor in ListaKorisnika)
- {
- int brKorisnika = ListaKorisnika.Count;
- brKorisnika = int.Parse(f.ReadLine());
- korisnik.ime = f.ReadLine();
- korisnik.prezime = f.ReadLine();
- korisnik.id = int.Parse(f.ReadLine());
- }
- f.Close();
- }
- do {
- Console.Write("Unesite ime: ");
- korisnik.ime = Console.ReadLine();
- opcija = korisnik.ime;
- if (opcija == "end")
- break;
- Console.Write("Unesite prezime: ");
- korisnik.prezime = Console.ReadLine();
- opcija = korisnik.prezime;
- if (opcija == "end")
- break;
- Console.Write("Unesite ID korisnika: ");
- korisnik.id = int.Parse(Console.ReadLine());
- ListaKorisnika.Add(korisnik);
- } while(opcija != "end");
- if (ListaKorisnika.Count < 9)
- {
- do
- {
- Console.WriteLine("Greska!");
- break;
- } while (ListaKorisnika.Count < 9);
- }
- else
- {
- int[,] matrica = matrica3x3(ListaKorisnika);
- int[,] matricaTast = UnosMatrice();
- if (matrica.GetLength(0) == matricaTast.GetLength(0) && matrica.GetLength(1) == matricaTast.GetLength(1))
- {
- razlikaMatrica(matrica, matricaTast);
- }
- else
- {
- sumDijagonala(matricaTast);
- }
- }
- StreamWriter sw = File.AppendText(imeFajla);
- foreach (var kor in ListaKorisnika)
- {
- int brKorisnika = ListaKorisnika.Count;
- sw.WriteLine(brKorisnika);
- sw.WriteLine(kor.ime);
- sw.WriteLine(kor.prezime);
- sw.WriteLine(kor.id);
- }
- sw.Close();
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement