ZADANIE_6
unknown
plain_text
3 years ago
1.9 kB
9
Indexable
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace wyzwanieGrazy6
{
internal class Program
{
static int Najdluzszy(int[] inTab, out int poczatekSegmentu)
{
int najdluzszy = 0, x, y, temp = 0;
int pomocnicza = 0;
for (int i = 0; i < inTab.Length-1; i++)
{
x = inTab[i];
y = inTab[i + 1];
if(x == y)
{
temp++;
}
else
{
if (temp > najdluzszy)
{
najdluzszy = temp;
pomocnicza = i - temp;
}
temp = 0;
}
}
poczatekSegmentu = pomocnicza;
return najdluzszy;
}
static void Main(string[] args)
{
/* Napisz metodę znajdującą w zadanej tablicy typu int, długość najdłuższego
* stałego segmentu, tzn.takiego spójnego fragmentu tablicy w którym wartości są
* stałe.Dodaj także parametry typu out przekazujące indeksy początku segmentu.
*
* Np.dla tablicy { 2, 1, 2, 2, 5, 3, 3, 3, 3, 1, 2, 6}, takim segmentem
* jest { 3, 3, 3, 3} – długość 4, indeks początkowy 5.
*/
int[] tab = new int[] { 0, 1, 2, 2, 2, 5, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 9, 45, 1, 1, 1, 1, 1, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0};
int najdluzszy = Najdluzszy(tab, out int poczatekSegmentu);
Console.WriteLine("Poczatek najduzszegi stalego segmentu: " + poczatekSegmentu);
Console.ReadKey();
}
}
}
Editor is loading...