Advertisement
ntamas

nov. 12. órai munka

Nov 11th, 2013
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.26 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Collections;
  6.  
  7. namespace oraimunka
  8. {
  9.   class Program
  10.   {
  11.     static int maxkereses(int[,] tomb, int elemszam)
  12.     {
  13.       int max = 0;
  14.       for (int i = 0; i < elemszam; i++)
  15.       {
  16.         if (tomb[i, 1] > max)
  17.         {
  18.           max = tomb[i, 1];
  19.         }
  20.       }
  21.       return max;
  22.     }
  23.     static bool isprime(int szam)
  24.     {
  25.       int count = 0;
  26.       if (szam < 0)
  27.       {
  28.         szam = -szam;
  29.       }
  30.       if (szam < 2)
  31.       {
  32.         return false;
  33.       }
  34.       else if (szam == 2)
  35.       {
  36.         return true;
  37.       }
  38.       else
  39.       {
  40.         for (int i = 2; i < szam; i++)
  41.         {
  42.           if (szam % i != 0)
  43.           {
  44.             count++;
  45.           }
  46.         }
  47.         if (count == szam - 2)
  48.         {
  49.           return true;
  50.         }
  51.         else
  52.         {
  53.           return false;
  54.         }
  55.       }
  56.     }
  57.     static int osztokszama(int szam)
  58.     {
  59.       int db = 0;
  60.       for (int i = 1; i <= szam; i++)
  61.       {
  62.         if (szam % i == 0)
  63.         {
  64.           db++;
  65.         }
  66.       }
  67.       return db;
  68.     }
  69.     static void tombfeltoltes(int[,] tomb, int elsoelem, int utolsoelem, int elemszam, bool prime, Random vel)
  70.     {
  71.       bool talal;
  72.       if (elsoelem > utolsoelem)
  73.       {
  74.         int cs;
  75.         cs = elsoelem;
  76.         elsoelem = utolsoelem;
  77.         utolsoelem = cs;
  78.       }
  79.       if (elemszam < 2)
  80.       {
  81.         elemszam = utolsoelem - elsoelem + 1;
  82.       }
  83.       if (prime == true)
  84.       {
  85.         do
  86.         {
  87.           tomb[0, 0] = vel.Next(elsoelem, utolsoelem + 1);
  88.         } while (!isprime(tomb[0, 0]));
  89.       }
  90.       else
  91.       {
  92.         tomb[0, 0] = vel.Next(elsoelem, utolsoelem + 1);
  93.       }
  94.       for (int i = 1; i < elemszam; i++)
  95.       {
  96.         do
  97.         {
  98.           talal = false;
  99.           if (prime == true)
  100.           {
  101.             do
  102.             {
  103.               tomb[i, 0] = vel.Next(elsoelem, utolsoelem + 1);
  104.             } while (!isprime(tomb[i, 0]));
  105.           }
  106.           else
  107.           {
  108.             tomb[i, 0] = vel.Next(elsoelem, utolsoelem + 1);
  109.           }
  110.           for (int j = 0; j < i; j++)
  111.           {
  112.             if (tomb[j, 0] == tomb[i, 0])
  113.             {
  114.               talal = true;
  115.             }
  116.           }
  117.         } while (talal);
  118.       }
  119.     }
  120.     static void Main(string[] args)
  121.     {
  122.       int elemszam = 10;
  123.       int db = 0, pr = 0, db2 = 0;
  124.       int[,] tomb = new int[elemszam, 2];
  125.       Random vel = new Random();
  126.       for (int j = 0; j < 10; j++)
  127.       {
  128.         db = 0;
  129.         pr = 0;
  130.         tombfeltoltes(tomb, 10, 99, elemszam, false, vel);
  131.         Console.WriteLine("A generált számok:");
  132.         for (int i = 0; i < elemszam; i++)
  133.         {
  134.           Console.Write("{0}\t", tomb[i, 0]);
  135.           if (tomb[i, 0] % 2 == 0)
  136.           {
  137.             db++;
  138.           }
  139.           if (isprime(tomb[i, 0]))
  140.           {
  141.             pr++;
  142.           }
  143.         }
  144.         Console.WriteLine();
  145.         Console.WriteLine("A páros számok száma: {0}", db);
  146.         Console.WriteLine("A prímek száma: {0}", pr);
  147.         Console.WriteLine("A generált számok osztóinak darabszáma számonként:");
  148.         for (int i = 0; i < elemszam; i++)
  149.         {
  150.           tomb[i, 1] = osztokszama(tomb[i, 0]);
  151.           Console.Write("{0}\t", osztokszama(tomb[i, 0]));
  152.         }
  153.         Console.WriteLine();
  154.         Console.WriteLine("Ezek közül a legnagyobb elem: {0}", maxkereses(tomb, 10));
  155.         for (int k = 2; k <= maxkereses(tomb, elemszam); k++)
  156.         {
  157.           db2 = 0;
  158.           for(int l = 0; l < elemszam; l++)
  159.           {
  160.             if(k == tomb[l, 1])
  161.             {
  162.               db2++;
  163.             }
  164.           }
  165.           if (db2 > 0)
  166.           {
  167.             Console.Write("{0} osztója van a következő szám(ok)nak: ", k);
  168.           }
  169.           for(int i = 0; i< elemszam; i++)
  170.           {
  171.             if(tomb[i, 1] == k)
  172.             {
  173.               Console.Write("{0}  ", tomb[i, 0]);
  174.             }
  175.           }
  176.           if(db2 > 0)
  177.           {
  178.             Console.WriteLine();
  179.           }
  180.         }
  181.         Console.WriteLine();
  182.       }
  183.       Console.ReadKey();
  184.      }
  185.   }
  186. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement