Klucz odpowiedzi do zadań z programowania w C#

Korzystaj z klucza tylko gdy po dwóch dniach prób nie udało Ci się wykonać samodzielnie zadania.

 

Odpowiedź do zad. 1

using System;

class MainClass {
   public static void Main (string[] args) {
      Console.WriteLine (@"
        *      *      *
       ***    ***    ***
      *****  *****  *****
        *      *      *
      ");
   }
}

Odpowiedź do zad. 2

using System;

class MainClass {
   public static void Main (string[] args) {
      Random losowa = new Random();
      int x;
      int y;
      int odp;
      int punkty = 0;
      int nrZad = 1;
      int takNie;
 
      Console.WriteLine("To jest program cwiczacy tabliczka mnozenia."); 
 
      do
      {
         Console.WriteLine("Program zada 10 pytan i zliczy ilosc poprawnych odpowiedzi.\n");
 
         for(int i =1; i<=10; i++)
         {
            x = losowa.Next(2,9);
            y = losowa.Next(2,9);
            Console.Write("\nOblicz: " + x + " * " + y + " = " );
            odp = int.Parse(Console.ReadLine());
            if (odp==x*y)
            {
               Console.WriteLine("\nPoprawna odpowiedz.");
               punkty++;
            }
            else
            {
               Console.WriteLine("\nZla odpowiedz. " + x + " * " + y + " = " + x*y);
            }

         Console.WriteLine("Twoj wynik to: " + punkty + "/" + nrZad);
         nrZad++; 
         }
 
      Console.WriteLine("\nCzy chcesz rozpoczac nauke jeszcze raz?\n\nWybierz:\nTak - 1\nNie - 0\n\nWybor zatwierdz Enterem.");
      takNie = int.Parse(Console.ReadLine());
 
      } while(takNie==1);

   Environment.Exit(0);
   }
}

Odpowiedź do zad. 3

using System;

class MainClass {
   public static void Main (string[] args) {
 
      string[] pytania = new string[5];
      pytania[0]="Kto jest prezydentem Polski? ";
      pytania[1]="Kto jest prezydentem USA? ";
      pytania[2]="Kto jest prezydentem Francji? ";
      pytania[3]="Kto jest prezydentem Rosji? ";
      pytania[4]="Kto jest prezydentem Ukrainy? ";
 
      string[] odpPrawidlowa1 = new string[5];
      odpPrawidlowa1[0]="andrzej duda";
      odpPrawidlowa1[1]="donald trump";
      odpPrawidlowa1[2]="emmanuel macron";
      odpPrawidlowa1[3]="wladymir putin";
      odpPrawidlowa1[4]="petro poroszenko";

      string[] odpPrawidlowa2 = new string[5];
      odpPrawidlowa2[0]="duda";
      odpPrawidlowa2[1]="trump";
      odpPrawidlowa2[2]="macron";
      odpPrawidlowa2[3]="putin";
      odpPrawidlowa2[4]="poroszenko";
 
      string odpGracza;
      int punkty = 0;

      for (int i = 0;i<5; i++)
      {
         Console.Write(pytania[i]);
         odpGracza = Console.ReadLine(); 
 
         if (((string.Compare(odpGracza, odpPrawidlowa1[i], true)==0) || (string.Compare(odpGracza, odpPrawidlowa2[i], true)==0)))
         {
            Console.WriteLine("\nTo jest prawidlowa odpowiedz.\n");
            punkty++;
         }
         else
         {
            Console.WriteLine("\nTo zla prawidlowa odpowiedz.\n");
         }
       }
 
       Console.WriteLine("\nZdobyles: " + punkty + "/5 punktow.");
   
   }
}

Odpowiedź do zad. 4

using System;
namespace CzyLiczbaPierwszaConsoleApp
{
   class Program
   {
      static void Main(string[] args)
      {
         int podanaLiczba;
         bool czyPierwsza = true;

         Console.Write("Podaj liczbe, ktora chcesz sprawdzic czy jest pierwsza: ");
         podanaLiczba = int.Parse(Console.ReadLine());
         Console.WriteLine();

         for (int i = podanaLiczba - 1; i>1; i--)
         {
            if ((podanaLiczba % i)==0)
            {
               czyPierwsza = false;
               break;
            }
         }
         if (czyPierwsza && podanaLiczba>1 )
         {
            Console.WriteLine(podanaLiczba + " to liczba pierwsza.");
         }
         else
         {
            Console.WriteLine(podanaLiczba + " to nie jest liczba pierwsza.");
         }
         Console.ReadKey();
      }
   }
}

Odpowiedź do zad. 5

using System;
namespace TablicaZwiekszajacychSieElementowConsoleApp
{
   class Program
   {
      static void Main(string[] args)
      {
         int[] tablica = new int[100];

         for(int i = 1; i<= 100; i++)
         {
         tablica[i-1] = i;
         }

         for (int i = 0; i < 100; i++)
         {
         Console.WriteLine(tablica[i]);
         }

         Console.ReadKey();
      }
   }
}

Odpowiedź do zad. 6

Poniższe rozwiązanie opiera się na porównaniu liczb, po konwersji ich na stringi (napisy).
Istnieje też inne rozwiązanie, które wykorzystuje specjalny wzór do sprawdzania czy liczba jest automorficzna.
Tu znajduje się link do wyjaśnienia drugiej metody.

using System;
namespace ConsoleApp3
{
   class Program
   {
      static void Main(string[] args)
      {
      // Program sprawdza czy podana liczba jest automorficzna
      int liczba;
      int kwadratLiczby;
      string liczbaJakoString;
      string kwadratLiczbyJakoString;
      int dlugoscliczbaJakoString;
      int dlugosckwadratLiczbyJakoString;
      bool czyAutomorficzna = false;

      Console.Write("Podaj liczbe do sprawdzenia: ");
      liczba = int.Parse(Console.ReadLine());
      kwadratLiczby = liczba * liczba;

      liczbaJakoString = liczba.ToString();
      kwadratLiczbyJakoString = kwadratLiczby.ToString();

      dlugoscliczbaJakoString = liczbaJakoString.Length;
      dlugosckwadratLiczbyJakoString = kwadratLiczbyJakoString.Length;


      // Tu porownujemy ostatnia cyfre (litere w stringu) podanej liczby czy z ostatnia cyfra w jej kwadracie.
      // Nastepnie jezeli sprawdzana liczba ma wiecej niz jedna cyfre to sprawdzana jest kolejna od tyl.
      // Powtazane jest to tyle razy ile jest cyfr w sprawdzanej liczbie
      for(int i = 1; i<= liczbaJakoString.Length; i++)
      {
         if (liczbaJakoString[liczbaJakoString.Length - i] == kwadratLiczbyJakoString[kwadratLiczbyJakoString.Length - i])
            czyAutomorficzna = true;
         else
         {
            // Jezeli cyfry nie sa takie same to petla zostaje przerwana.
            czyAutomorficzna = false;
            break;
         }
      }

      if (czyAutomorficzna)
      {
         Console.WriteLine("\n" + liczba + " jest liczba automorficzna i po podniesieniu do kwadratu = " + kwadratLiczby);
      }
      else
      {
         Console.WriteLine("\n" + liczba + " nie jest liczba automorficzna a po podniesieniu do kwadratu = " + kwadratLiczby);
      }

      Console.ReadKey();

      }
   }
}

Odpowiedź do zad. 7

using System;

namespace ConsoleApp4
{
   class Program
   {
      static void Main(string[] args)
      {
         Console.WriteLine("Program wypisuje 94 kolejne liczby z Ciągu Fibbonaciego.\n");

         ulong[] liczbaFibo = new ulong[94];
         liczbaFibo[0] = 0;
         liczbaFibo[1] = 1;

         for (int i=2; i < 94; i++)
         {
            liczbaFibo[i] = liczbaFibo[i - 1] + liczbaFibo[i - 2];
            Console.WriteLine(liczbaFibo[i]);
         }

         Console.ReadKey();

      }
   }
}

Odpowiedź do zad. 9

using System;

namespace SzyfrCezaraConsoleApp4
{
   class Program
   {
      static void Main(string[] args)
      {
         string text;
         char[] alfabet = new char[] {'a','b','c','d','e','f','g','h','i','j','l','m','n','o','p','r','s','t','w','x','y','z','a','b','c'};
         string zaszyfrowany="";
         char[] znaki;

         Console.Write("Podaj tekst do zaszyfrowania: ");
         text = Console.ReadLine();
         znaki = text.ToCharArray();


         //ta petla szyfruje caly tekst do tablicy znaki
         for (int m = 0; m<znaki.Length;m++)
         {
            //zaszyfrowanie jedej litery
            for (int k = 0; k < alfabet.Length; k++)
            {
               if (znaki[m] == alfabet[k])
               {
                  znaki[m] = alfabet[k + 3];
                  break;
               }
            }
         }

         /*ten kod był przydatny w fazie testowania czy tekst poprawnie wchodzi do tablicy znaków
         for (int i = 0; i < text.Length; i++)
            Console.WriteLine(znaki[i]); 
         */

         //ponizej zlepiam po kolei z tablicy znaków zaszyfrowany tekst
         for (int z = 0; z < znaki.Length; z++)
            zaszyfrowany = zaszyfrowany + znaki[z];
 
         Console.WriteLine("Tekst po zaszyfrowaniu: " + zaszyfrowany);
         Console.ReadKey();
      }
   }
}

Odpowiedź do zad. 21

using System;
namespace WypiszLiczbyPierwszeDoWskazanejWartosciConsoleApp
{
   class Program
   {
      static void Main(string[] args)
      {
         int podanaLiczba;
         Console.Write("Podaj liczbe, do której chcesz wypisac liczby pierwsze: ");
         podanaLiczba = int.Parse(Console.ReadLine());
         Console.WriteLine();

         int[] tablica = new int[podanaLiczba+1];

         // Wypełnia tablice od elementu o indeksie 2 do elementu wskazanego przez uzytkownika. Wartosci zwiekszaja sie o 1.

         for(int i = 1; i<= podanaLiczba; i++)
         {
            tablica[i] = i;
         }

         // Zerujemy liczby, które nie są liczbami pierwszymi - zgodnie z sitem Eratostenesa.
         // Później nie wyświetlimy zer i będziemy widzieć tylko liczby pierwsze.
         for (int k = 2; k*k <= podanaLiczba; k++)
         {
            if (tablica[k]!=0)
            {
               for (int i = k+k; i <= podanaLiczba; i = i + k)
               {
                  tablica[i] = 0;
               }
            }
         }

         // Wypisujemy wszystkie elementy z tablicy (poza elementem o indeksie 0). 
         for (int i = 1; i <= podanaLiczba; i++)
         {
            // Zaczerniamy wszystkie liczby o wartosci zero lub jeden. Dzieki temu widzimy na ekranie tylko liczby pierwsze.
            if (tablica[i]==0 || tablica[i] == 1) 
               Console.ForegroundColor = ConsoleColor.Black;
            else
               Console.ForegroundColor = ConsoleColor.White;
            Console.Write(tablica[i] + "\t");
            Console.ForegroundColor = ConsoleColor.White;
            // Dzieki ponizszemu kodowi liczby beda wipisywane w rzedach co 10, co ulatwi nam kontrole poprawnosci dzialania programu.
            if (i == 10)
               Console.WriteLine();
         }
      
         Console.ReadKey();
      }
   }
}

Odpowiedź do zad. 22

using System;
namespace ConsoleApp5
{
   class Program
   {
      static void Main(string[] args)
      {
         Random losowa = new Random();
         double liczba;
         double procent;
         double odp = -1;
         int punkty = 0;
         int proby = 0;
         double wynik;

         Console.WriteLine("Jest to program świczący wylicznie procentów w pamięci.");
         Console.WriteLine("Pamiętaj aby w liczbach dziesiętnych używać przecinka. Kropka nie działa.\n");
         Console.WriteLine("Wpisanie dowolnego znaku innego niż cyfra i przecinek,\nspowoduje zamknięcie programu.\n");

         do
         {
            liczba = losowa.Next(100, 1000);
            procent = losowa.Next(1, 99);
            wynik = liczba * procent / 100;
            Console.Write($"\n{procent}% z {liczba} wynosi = ");

            try
            {
               odp = Convert.ToDouble(Console.ReadLine());
            }
            catch
            {
               Environment.Exit(0);
            }

            if (odp == wynik)
            {
               punkty++;
               proby++;
               Console.WriteLine("\nDobra odpowiedź.");
               Console.WriteLine($"\nTwój wynik to: {punkty} / {proby}");
            }
            else
            {
               proby++;
               Console.WriteLine($"\nZła odpowiedź. {procent}% z {liczba} wynosi = {wynik}");
               Console.WriteLine($"\nTwój wynik to: {punkty} / {proby}");
            }
         } while (true);
      }
   }
}

Odpowiedź do zad. 23

using System;
class MainClass {
public static void Main (string[] args) {
      string k;
      k = "5234758943981235412354372184537284512378945327184521378453278463287453782543782164782345327854";
      for (int i = 1; i < k.Length - 1; i ++)
      {
         int x = (int)Char.GetNumericValue(k[i - 1]);
         int y = (int)Char.GetNumericValue(k[i]);
         int z = (int)Char.GetNumericValue(k[i + 1]);
         if (((x % y) == 0) && ((y * z) % 2) == 0)
         {
            Console.Write(k[i]);
         }
      }
   }
}

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *