Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 02. Sequence of K Numbers///////////////////////////////////////////////////
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace ConsoleApplication1
- {
- class Program
- {
- static void Main(string[] args)
- {
- // 3 3 3 8 8 2 5 1 7 7 7 4 4 4 4 3 4 4
- // k = 2
- bool print = false;
- string input = Console.ReadLine();
- int k = int.Parse(Console.ReadLine());
- string[] numbers = input.Split(new char[] {' '},
- StringSplitOptions.RemoveEmptyEntries);
- int numberOfElements = 0;
- string lastNumber = numbers[0];// po4vame ot 0 stoinost za da moje da sravnqvame 0 index
- 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
- 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
- {
- if (lastNumber == numbers[i])// ozna4ava 4e tozi i predhodniqt element sa ravni 3 3 3 8 i 8 mi e krai na grupata
- {
- count++;// natrupvame count ot 1 na 2 na 3 do kogato elementite sa ravni
- }
- else
- {
- 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
- 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
- {
- 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
- }
- for (int j = 0; j < numberOfElements; j++)// za izpisvane na daden element puti za tova numberOfElements
- {
- Console.Write(" " + lastNumber);
- /* 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);
- {
- Console.Write(lastNumber);
- print = true;
- }
- else
- {
- Console.Write(" " + lastNumber);
- } */
- }
- 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
- }
- 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
- }
- 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
- if (count >= k)
- {
- numberOfElements = count % k;
- }
- for (int j = 0; j < numberOfElements; j++)
- {
- Console.Write(" " + lastNumber);
- }
- }
- }
- }
- ///////////////////////////////////////////2 MOE RESHENIE ///////////////////////////////////////////////
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace ConsoleApplication1
- {
- class Program
- {
- static void Main(string[] args)
- {
- // 3 3 3 8 8 2 5 1 7 7 7 4 4 4 4 3 4 4
- // k = 2
- // lastNumber mi e absolutno izlishno v reshenieto ostavil sum go za da vijdam razlikata ot avtorskoto reshenie
- bool print = false;
- string input = Console.ReadLine();
- int k = int.Parse(Console.ReadLine());
- string[] numbers = input.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
- int numberOfElements = 0;
- //int lastNumber = 0;// po4vame ot 0 stoinost za da moje da sravnqvame 0 index
- int index = 0;
- 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
- 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
- {
- //int astNumber = int.Parse(numbers[i]);
- 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
- {
- count++;// natrupvame count ot 1 na 2 na 3 do kogato elementite sa ravni
- }
- else
- {
- 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
- 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
- {
- 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
- }
- for (int j = 0; j < numberOfElements; j++)// za izpisvane na daden element puti za tova numberOfElements
- {
- //lastNumber = int.Parse(numbers[i]);
- Console.Write(" " + numbers[i]);
- }
- 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
- }
- 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
- }
- //lastNumber = index;
- 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
- if (count >= k)
- {
- numberOfElements = count % k;
- }
- for (int j = 0; j < numberOfElements; j++)
- {
- Console.Write(" " + index);
- }
- }
- }
- }
- /* 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);
- {
- Console.Write(lastNumber);
- print = true;
- }
- else
- {
- Console.Write(" " + lastNumber);
- } */
Advertisement
Add Comment
Please, Sign In to add comment