Advertisement
wingman007

2019_KandidatStudentskiKurs_RecursionOOP

Mar 16th, 2019
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.12 KB | None | 0 0
  1. using System;
  2.  
  3. class Student
  4. {
  5.     public string Name { get; set; }
  6.     public int Age { get; set; }
  7.     public DateTime Birthdate { get; set; }
  8.     public string Town { get; set; }
  9. }
  10.  
  11. class Program
  12. {
  13.     static void Main()
  14.     {
  15.         //string student1Name = "Demetra";
  16.         //string[] studentNames = new string[100];
  17.         //string[] studentTowns = new string[100];
  18.  
  19.         Student demetra = new Student();
  20.         demetra.Name = "Demtra";
  21.         demetra.Age = 18;
  22.         demetra.Birthdate = new DateTime(1990, 4, 29);
  23.         demetra.Town = "Plovdiv";
  24.  
  25.         Student djulian = new Student();
  26.         djulian.Name = "Djulian";
  27.         djulian.Age = 20;
  28.         djulian.Birthdate = new DateTime(1991, 6, 29);
  29.         djulian.Town = "Karlovo";
  30.  
  31.         Student[] students = new Student[100];
  32.  
  33.         InputStudents(students);
  34.  
  35.  
  36.  
  37.         Console.WriteLine("My name is {0}. I am {1} years old!", demetra.Name, demetra.Age);
  38.  
  39.         Console.WriteLine("My name is {0}. I am {1} years old!", djulian.Name, djulian.Age);
  40.  
  41.         Console.Write("I will give you the sum and factorial of all number to n. Please, enter n: ");
  42.         int n = int.Parse(Console.ReadLine());
  43.         int sum = 0;
  44.         checked
  45.         {
  46.             sum = GetSumIteration(n);
  47.         }
  48.  
  49.  
  50.         Console.WriteLine("The sum of all number to n = {0} is {1}", n, sum);
  51.  
  52.         // sum = Sum(n);
  53.         // Console.WriteLine("The sum of all number to n = {0} is {1}", n, sum);
  54.         int factorial = 0;
  55.         factorial = Factorial(n);
  56.         Console.WriteLine("{0}! = {1}", n, factorial);
  57.  
  58.         // 0, 1, 1, 2, 3, 5, 8, 13
  59.         // Fibonacci(n) = Fibonacci(n - 2) + Fibonacci(n - 1)
  60.         int fibonacci = 0;
  61.         fibonacci = Fibonacci(n);
  62.         Console.WriteLine("Fibonacci({0}) = {1}", n, fibonacci);
  63.  
  64.  
  65.     }
  66.  
  67.     static int GetSumIteration(int n)
  68.     {
  69.         int sum = 0;
  70.         for (int i = 0; i <= n; i++)
  71.         {
  72.             checked
  73.             {
  74.                 sum += i;
  75.             }
  76.         }
  77.         return sum;
  78.     }
  79.  
  80.     // Sum(n) = Sum(n-1) + n  Sum(0) = 0;
  81.     static int Sum(int n)
  82.     {
  83.         // 1. Check for the end of the recursion
  84.         if (n == 0) return 0;
  85.         // 2. change the parameter
  86.         // 3. call the same function
  87.         return Sum(n - 1) + n;
  88.     }
  89.  
  90.     // 2. 0! = 1, n! = (n - 1)! * n;
  91.     static int Factorial(int n) // !
  92.     {
  93.         if (n == 0) return 1;
  94.         return Factorial(n - 1) * n;
  95.     }
  96.  
  97.     static int Fibonacci(int n)
  98.     {
  99.         if (n <= 0) return 0;
  100.         if (n <= 2) return 1;
  101.         return Fibonacci(n - 2) + Fibonacci(n - 1);
  102.     }
  103.  
  104.  
  105.     static void InputStudents(Student[] students)
  106.     {
  107.         for (int i = 0; i < students.Length; i++)
  108.         {
  109.             Student student = new Student();
  110.             Console.WriteLine("Please, enter a name for student {0}: ", i);
  111.             student.Name = Console.ReadLine();
  112.             Console.WriteLine("Please, enter an age for student {0}: ", i);
  113.             student.Age = int.Parse(Console.ReadLine());
  114.  
  115.             students[i] = student;
  116.         }
  117.     }
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement