n4wn4w

02. Sequence of K Numbers 28 April 2014

Mar 18th, 2015
333
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.31 KB | None | 0 0
  1. 02. Sequence of K Numbers///////////////////////////////////////////////////
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6.  
  7. namespace ConsoleApplication1
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             // 3 3 3 8 8 2 5 1 7 7 7 4 4 4 4 3 4 4
  14.             //  k = 2
  15.             bool print = false;
  16.             string input = Console.ReadLine();
  17.             int k = int.Parse(Console.ReadLine());
  18.             string[] numbers = input.Split(new char[] {' '},
  19.                 StringSplitOptions.RemoveEmptyEntries);
  20.             int numberOfElements = 0;
  21.             string lastNumber = numbers[0];// po4vame ot 0 stoinost za da moje da sravnqvame 0 index
  22.             int count = 1;// zapo4va ot 1 zashtoto primerno grupa ot 3 3 3 shte zapo4ne da mi gi broi v FOR loop pri purvoto zavurtane shte e 1 pri vtoroto zavurtane che e 2 a na men trqbva da mi e 3 puti 3ki
  23.             for (int i = 1; i < numbers.Length; i++)// For loop po4va ot 1 za da moje da sravnqvame lastNumber koito po4va ot 0 index s 1 index ot for cikula primer 3 3 3 8
  24.             {
  25.                 if (lastNumber == numbers[i])// ozna4ava 4e tozi i predhodniqt element sa ravni 3 3 3 8 i 8 mi e krai na grupata
  26.                 {
  27.                     count++;// natrupvame count ot 1 na 2 na 3 do kogato elementite sa ravni
  28.                 }
  29.                 else
  30.                 {
  31.                    numberOfElements = count;// naprimer 3 3 3 8 no nie trqbva da izvadim grupa ot 4 elementa to to numberOfElements trqbva da mi e = count za da mi izpishe 3 troiki dolu v for cikala vurti numberOfElements
  32.                     if (count >= k)// prebroqvaneto na edna grupa da mi e po-golqmo ili ravno ot elementite koito trqbva da izvadq >= zashtoto inache ako imame 3 3 3 8 8 nqma da mi mahne dvete 8ci pri izpisvaneto
  33.                     {
  34.                         numberOfElements = count % k;//  %k vadi za da izpisva ostatuka na numberOfElements primer 3 3 3 shte mi izpiche samo poslednata 3ka zashtoto k mi e 2 i ostatuka e 1 // primer ako sme namerili grupa ot 10 elementa i k mi e 2 she izpishem 0 numberOfElements ponejshe she gi maha 2 po 2 do 0
  35.                     }
  36.                     for (int j = 0; j < numberOfElements; j++)// za izpisvane na daden element puti za tova numberOfElements
  37.                     {
  38.                         Console.Write(" " + lastNumber);
  39.                         /* if (print == false) // za da mi izpisva na conzolata bez razstoqnie otpred 4islata pravim si buleva print koqto pri purvoto zavurtane na For loop she e false i sled tova priema true i pechati taka Console.Write(" " + lastNumber);
  40.                          {
  41.                              Console.Write(lastNumber);
  42.                              print = true;
  43.                          }
  44.                          else
  45.                          {
  46.                              Console.Write(" " + lastNumber);
  47.                          } */
  48.                     }
  49.                     count = 1;  // vrushtame counta pak na 1 zashtoto kato naprimer namerim razlichen element primerno 3 i 8 counta produljava da se uvelichava a toi pak trqbva da po4va da broi 1 8ca 2 8ci
  50.                 }
  51.                 lastNumber = numbers[i];// kogato sme obhodili cqloto neshto mu kazvame vzemi tekushtiqt element zashtoto  kato mine prez for cikula tekushtiqt element stava veche predhoden naprimer 3 3 3 8 zima purvite dve troiki i sledvashtoto sravnenie shte e 3 i 8 a ne 3 3
  52.             }
  53.            numberOfElements = count;// zashtoto predposledniqt element e = na posledniqt element i to vliza v purviqt if i uvelichava counta i ne vliza vuv else otdolu i ne printi nishto nakraq primerno nakraq imeme k = 3 i imame 3 4 4 ne mi printi poslednite 2 3ki
  54.             if (count >= k)
  55.             {
  56.                 numberOfElements = count % k;
  57.             }
  58.             for (int j = 0; j < numberOfElements; j++)
  59.             {
  60.                 Console.Write(" " + lastNumber);
  61.             }
  62.  
  63.         }
  64.     }
  65. }
  66.  
  67. ///////////////////////////////////////////2 MOE RESHENIE ///////////////////////////////////////////////
  68.  
  69. using System;
  70. using System.Collections.Generic;
  71. using System.Linq;
  72. using System.Text;
  73.  
  74. namespace ConsoleApplication1
  75. {
  76.     class Program
  77.     {
  78.         static void Main(string[] args)
  79.         {
  80.             // 3 3 3 8 8 2 5 1 7 7 7 4 4 4 4 3 4 4
  81.             //  k = 2
  82.             // lastNumber mi e absolutno izlishno v reshenieto ostavil sum go za da vijdam razlikata ot avtorskoto reshenie
  83.             bool print = false;
  84.             string input = Console.ReadLine();
  85.             int k = int.Parse(Console.ReadLine());
  86.             string[] numbers = input.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
  87.             int numberOfElements = 0;
  88.             //int lastNumber = 0;// po4vame ot 0 stoinost za da moje da sravnqvame 0 index
  89.             int index = 0;
  90.             int count = 1;// zapo4va ot 1 zashtoto primerno grupa ot 3 3 3 shte zapo4ne da mi gi broi v FOR loop pri purvoto zavurtane shte e 1 pri vtoroto zavurtane che e 2 a na men trqbva da mi e 3 puti 3ki
  91.             for (int i = 0; i < numbers.Length-1; i++)// For loop po4va ot 1 za da moje da sravnqvame lastNumber koito po4va ot 0 index s 1 index ot for cikula primer 3 3 3 8
  92.             {
  93.                 //int astNumber = int.Parse(numbers[i]);
  94.  
  95.                 if (numbers[i + 1] == numbers[i])// ozna4ava 4e tozi i predhodniqt element sa ravni 3 3 3 8 i 8 mi e krai na grupata
  96.                 {
  97.                     count++;// natrupvame count ot 1 na 2 na 3 do kogato elementite sa ravni
  98.                 }
  99.                 else
  100.                 {
  101.                     numberOfElements = count;// naprimer 3 3 3 8 no nie trqbva da izvadim grupa ot 4 elementa to to numberOfElements trqbva da mi e = count za da mi izpishe 3 troiki dolu v for cikala vurti numberOfElements
  102.                     if (count >= k)// prebroqvaneto na edna grupa da mi e po-golqmo ili ravno ot elementite koito trqbva da izvadq >= zashtoto inache ako imame 3 3 3 8 8 nqma da mi mahne dvete 8ci pri izpisvaneto
  103.                     {
  104.                         numberOfElements = count % k;//  %k vadi za da izpisva ostatuka na numberOfElements primer 3 3 3 shte mi izpiche samo poslednata 3ka zashtoto k mi e 2 i ostatuka e 1 // primer ako sme namerili grupa ot 10 elementa i k mi e 2 she izpishem 0 numberOfElements ponejshe she gi maha 2 po 2 do 0
  105.                     }
  106.  
  107.                     for (int j = 0; j < numberOfElements; j++)// za izpisvane na daden element puti za tova numberOfElements
  108.                     {
  109.                         //lastNumber = int.Parse(numbers[i]);
  110.                         Console.Write(" " + numbers[i]);
  111.                     }
  112.  
  113.                     count = 1;  // vrushtame counta pak na 1 zashtoto kato naprimer namerim razlichen element primerno 3 i 8 counta produljava da se uvelichava a toi pak trqbva da po4va da broi 1 8ca 2 8ci
  114.                 }
  115.  
  116.                 index = int.Parse(numbers[i + 1]);// davame promenlivata index koqto mi durji stoinosta na 4isloto pod tozi index da pridobie stoinostta na posledniqt index ot masiva poneje mi e numbers.Length-1 i ne go dostiga posledniqt elemnt v masiva v primera  tova e 4
  117.             }
  118.  
  119.             //lastNumber = index;
  120.             numberOfElements = count;// zashtoto predposledniqt element e = na posledniqt element i to vliza v purviqt if i uvelichava counta i ne vliza vuv else otdolu i ne printi nishto nakraq primerno nakraq imeme k = 3 i imame 3 4 4 ne mi printi poslednite 2 3ki
  121.             if (count >= k)
  122.             {
  123.                 numberOfElements = count % k;
  124.             }
  125.  
  126.             for (int j = 0; j < numberOfElements; j++)
  127.             {
  128.                 Console.Write(" " + index);
  129.             }
  130.            
  131.         }
  132.     }
  133. }
  134.  
  135.  
  136. /* if (print == false) // za da mi izpisva na conzolata bez razstoqnie otpred 4islata pravim si buleva print koqto pri purvoto zavurtane na For loop she e false i sled tova priema true i pechati taka Console.Write(" " + lastNumber);
  137.                        {
  138.                            Console.Write(lastNumber);
  139.                            print = true;
  140.                        }
  141.                        else
  142.                        {
  143.                            Console.Write(" " + lastNumber);
  144.                        } */
Advertisement
Add Comment
Please, Sign In to add comment