Advertisement
BloodMoonYTC

megszamolas

Nov 5th, 2021
816
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.51 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace feladat
  8. {
  9.     class Program
  10.     {
  11.         static void Beolvasás(out int N, out int M, int[] J, int[] L, int[] Min)
  12.         {
  13.             //Elemszám beolvasása
  14.             //A felhasználónak szánt tájékoztató üzenetek az Error csatotnára írandók! A standard output így nézne ki: Console.WriteLine("Hány eleme van a tömbnek?");
  15.             //Például a kérdések:
  16.             Console.Error.WriteLine("Maximum hány tagú családra van megadva a létminimum?");
  17.             //A bemenetet nem ellenőrizzük sem szintaktikai, sem szemantikai szempontból. (1<=n<=MaxN)
  18.             M = Convert.ToInt32(Console.ReadLine());//A Console.ReadLine() szöveg típusú értékkel tér vissza, ezért kell számmá konvertálni
  19.             //Tömb beolvasása
  20.             for (int i = 0; i < M; i++)//Egy számlálós ciklussal végig megyünk a tömb elemein
  21.             {
  22.                 Console.Error.WriteLine("Írd be a(z) " + (i + 1) + " tagú család létminimumát!");
  23.                 Min[i] = Convert.ToInt32(Console.ReadLine());//string típus az egyszerűség kedvéért
  24.             }
  25.             Console.Error.WriteLine("Hány család adatairól van szó?");
  26.             N = Convert.ToInt32(Console.ReadLine());
  27.             string input;//A be.txt-ben egy sorban két elem van
  28.             for (int i = 0; i < N; i++)//Egy számlálós ciklussal végig megyünk a tömb elemein
  29.             {
  30.                 Console.Error.WriteLine("Írd be a(z) " + (i + 1) + ". számú család létszámát és jövedelmét, szóközzel elválasztva:");
  31.                 input = Console.ReadLine();
  32.                 string[] adatok = input.Split(' ');//A szóköz mentén kettévágjuk
  33.                 L[i] = Convert.ToInt32(adatok[0]);//A sor első eleme
  34.                 J[i] = Convert.ToInt32(adatok[1]);//A sor második eleme
  35.             }
  36.         }
  37.  
  38.         static int Megszámolás(int N, int[] J, int[] L, int[] Min)
  39.         {
  40.             int Db = 0;
  41.             for (int i = 0; i < N; i++)
  42.             {
  43.                 if (J[i]<=Min[L[i]-1])//0-tól kezdődik az indexelés, ezért az 1 tagú családokhoz tartozó adatok a 0. helyen vannak
  44.                 {
  45.                     Db++;
  46.                 }
  47.             }
  48.             return Db;
  49.         }
  50.  
  51.         static void Kiírás(int Db)
  52.         {
  53.             //A kimenetet kísérő szövegek is az Error csatornára irandók!
  54.             Console.Error.Write("A létmiminum alattiak száma: ");
  55.             Console.WriteLine(Db);//lényeg: kimenet, csak ezt írjuk ki Console.WriteLine()-nal
  56.         }
  57.  
  58.         static void Main(string[] args)
  59.         {
  60.             //F16. Létminimum alattiak száma.
  61.             //Maximális elemszám
  62.             const int MaxN = 100;
  63.             //A tömb elemszámának és a darabszám deklarálása
  64.             int N = 0;
  65.             int M = 0;
  66.             int Db = 0;
  67.             //MaxN elemszámú tömbök deklarálása
  68.             int[] J = new int[MaxN];
  69.             int[] L = new int[MaxN];
  70.             int[] Min = new int[MaxN];
  71.             //Beolvasás
  72.             Beolvasás(out N, out M, J, L, Min);//pl. out M: M kimeneti paraméter, tömbnél nincs külön jelölése
  73.             //Lényegi megoldás
  74.             Db = Megszámolás(N, J, L, Min);//a Megszámol függvény visszatérési értékét kapja Db
  75.             //Kiírás
  76.             Kiírás(Db);
  77.         }
  78.     }
  79. }
  80.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement