Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // KÉT feladat magasprog II első gyakjáról:
- // Első:
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace II_1_gyak
- {
- class Teglalap
- {
- public int xkoord;
- public int ykoord;
- public double magassag;
- public double szelesseg;
- }
- class Program
- {
- static Random rand = new Random();
- static void Main(string[] args)
- {
- bool a = true; ;
- while (a)
- {
- Teglalap A = new Teglalap();
- A.xkoord = rand.Next(1, 3);
- A.ykoord = rand.Next(1, 3);
- A.magassag = rand.NextDouble();
- A.szelesseg = rand.NextDouble();
- Teglalap B = new Teglalap();
- B.xkoord = rand.Next(1, 3);
- B.ykoord = rand.Next(1, 3);
- B.magassag = rand.NextDouble();
- B.szelesseg = rand.NextDouble();
- if (belelog_e(A, B))
- {
- Console.WriteLine("A két téglalap egymásba lóg.");
- }
- else Console.WriteLine("A két téglalap nem lóg egymásba.");
- Console.ReadLine();
- }
- }
- static bool egypont(Teglalap t, double x, double y)
- {
- bool vx = (t.xkoord <= x) && (t.xkoord + t.szelesseg >= x);
- bool vy = (t.ykoord <= y) && (t.ykoord + t.magassag >= y);
- return (vx && vy);
- }
- static bool belelog_e(Teglalap t1, Teglalap t2)
- {
- bool x =
- egypont(t1, t2.xkoord, t2.ykoord) ||
- egypont(t1, t2.xkoord, t2.ykoord - t2.magassag) ||
- egypont(t1, t2.xkoord + t2.szelesseg, t2.ykoord) ||
- egypont(t1, t2.xkoord + t2.szelesseg, t2.ykoord - t2.magassag) ||
- egypont(t2, t1.xkoord, t1.ykoord) ||
- egypont(t2, t1.xkoord, t1.ykoord - t1.magassag) ||
- egypont(t2, t1.xkoord + t1.szelesseg, t1.ykoord) ||
- egypont(t2, t1.xkoord + t1.szelesseg, t1.ykoord - t1.magassag);
- return x;
- }
- }
- }
- // Második:
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace II_1_gyak_2
- {
- class Fish
- {
- public double weight;
- public bool predator;
- public int depth;
- public int top;
- }
- class Program
- {
- static Random rand = new Random();
- static void Main(string[] args)
- {
- while (true)
- {
- Console.Clear();
- List<Fish> halak = new List<Fish>();
- for (int i = 0; i < 100; i++)
- {
- Fish p = new Fish();
- p.weight = rand.Next(150, 2500) / 100.0;
- p.predator = (rand.Next(100) > 90);
- p.top = rand.Next(0, 11) * 10;
- p.depth = rand.Next(5, 21) * 10;
- halak.Add(p);
- }
- // írassuk ki 100 halból hány ragadozó és hány nem!
- Console.WriteLine("100 halból {0} ragadozó, és {1} nem!",
- ragadazoszam(halak), halak.Count - ragadazoszam(halak)); // db ragadozó, listaméret-db nemragadozó
- // írassuk ki a legnagyobb hal súlyát
- Console.WriteLine("A legnagyobb hal súlya: {0} kg", legnagyobbhalsulya(halak));
- // 1m 10cm, hány hal képes ilyen MÉLYSÉGben úszni!
- Console.WriteLine("Ennyi hal képes 1 méter 10 cm mélyen úszni: {0}", hanyhal110cm(halak));
- // (random két halból döntsük el az úszási tartomány és a súly alapján, hogy egy ragadozó meg tudja-e enni
- // a növényevőt!)
- int k = rand.Next(0, 100);
- int j = rand.Next(0, 100);
- Console.WriteLine("\n\nVizsgálunk két random halat, hogy meg tudják-e egymást enni...\n");
- if ((halak[k].predator && !halak[j].predator) ||
- (!halak[k].predator && halak[j].predator)) // az egyik ragadozó és a másik nem
- {
- if ((halak[j].top + halak[j].depth) > (halak[j].top + halak[k].depth))
- {
- if (halak[k].depth > halak[j].top) // egybeesik
- {
- if (halak[k].predator)
- {
- if (halak[k].weight * 1.2 > halak[j].weight)
- {
- Console.WriteLine("Az első hal, ami ragadozó, megeszi a második halat, ami növényevő.");
- }
- else Console.WriteLine("A második hal túl nagy az első halnak, pedig az első ragadozó, a második nem.");
- }
- else
- {
- if (halak[j].weight * 1.2 > halak[k].weight)
- {
- Console.WriteLine("A második hal, ami ragadozó, megeszi az első halat, ami növényevő.");
- }
- else Console.WriteLine("Az első hal túl nagy a második halnak, pedig a második ragadozó, az első meg nem.");
- }
- }
- else // nem esik egybe
- {
- Console.WriteLine("Nem esik egybe a két hal úszási tartománya!");
- }
- }
- else
- {
- if (halak[j].depth > halak[k].top) // egybeesik
- {
- }
- else // nem esik egybe
- {
- }
- }
- }
- else Console.WriteLine("A két random kiválasztott halból vagy mindkettő növényevő vagy mindkettő ragadozó!");
- Console.ReadLine();
- }
- }
- static int hanyhal110cm(List<Fish> halak)
- {
- int db = 0;
- foreach (Fish x in halak)
- {
- if (x.top + x.depth >= 110)
- {
- db++;
- }
- }
- return db;
- }
- static int ragadazoszam(List<Fish> halak)
- {
- int db = 0;
- foreach (Fish x in halak)
- {
- if (x.predator) db++;
- }
- return db;
- }
- static double legnagyobbhalsulya(List<Fish> halak)
- {
- double nagy = halak[0].weight;
- foreach (Fish x in halak)
- {
- if (x.weight > nagy) nagy = x.weight;
- }
- return nagy;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment