Определить, есть ли в массиве последовательность из n повторяющихся элементов - VB

Формулировка задачи:

Задан целочисленный массив из 10 элементов 1) определить, есть ли в массиве последовательность из n повторяющихся элементов, стоящих подряд. n пользователь вводит. подводный камень: 3334445551 - n должно быть <=3,однако при неправильном коде(как у меня) выводит,что,допустим, 5 элементов тоже есть
Dim a() As Integer = {3, 3, 3, 4, 4, 4, 5, 5, 5, 1}
        Dim i, count, n As Integer
        count = 0
        Console.WriteLine("Введите кол-во повторяющихся элементов массива:")
        n = Console.ReadLine
        For i = 0 To UBound(a) - 1
            If a(i) = a(i + 1) Then
                count = count + 1
            End If
        Next
        If n <= count Then
            Console.WriteLine("В массиве есть последовательность из " & n & " элементов стоящих подряд")
        Else
            Console.WriteLine("В массиве,увы, нет последовательности из " & n & " элементов стоящих подряд")
        End If
        Console.ReadLine()
2) найти в массиве самую длинную последовательность из стоящих подряд одинаковых элементов (вывести значение элемента и номера первого и последнего элементов последовательности)Добавлено через 12 минут массив проинициализированный


textual

Код к задаче: «Определить, есть ли в массиве последовательность из n повторяющихся элементов - VB»

CLS
REM  Массив х()  3, 3, 3, 2, 2, 7, 7, 7, 7, 1
 
k = 1
max = x(1)
 
FOR i = 1 TO 9
   IF x(i) = x(i + 1) THEN
      k = k + 1
   ELSE
      IF kmax < k THEN
         kmax = k
         max = x(i)
         i1 = i - k + 1
         i2 = i
      END IF
      k = 1
   END IF
NEXT
 
PRINT "max ="; max
PRINT "i1 ="; i1
PRINT "i2 ="; i2
PRINT "kmax ="; kmax
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

9   голосов, оценка 4.222 из 5

Источник
Похожие ответы