Найти ошибки в коде

65
30 января 2022, 21:30

Нужно в массиве найти: максимальную длину без нулей, индекс первого эл-та исчисления максимальной длины.

 int[] luecke = {1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1,0, 1, 0};
        int index = 0;
        int anzahl = 0;
        int maxLength = 0;
        int indexm = 0;
        for(int i = 0; i < luecke.length; i++){
            if(luecke[i] != 0){
                for(int j = 0; j < luecke.length; j++){
                    if(luecke[j] > 0 && luecke[j - 1] == 0 && luecke[j] !=luecke[0]){
                        index = luecke[j];
                        anzahl++;
                    } else if(luecke[j] > 0){
                        anzahl++;
                    } else if(luecke[j] > 0 && luecke[j + 1] == 0){
                        maxLength = anzahl;
                        anzahl = 0;
                        indexm = index;
                        index = 0;
                    }
                }
            }
        }
    }

Ответ будет тут - длина 6, а индекс 7.

Answer 1

Индексация массива начинается с нуля:

"Ответ будет тут - длинна 6, а индекс 6."

function nonzero(arr) { 
  var lenMax = 0, idxMax = 0; 
  var len = 0, idx = 0; 
  for (var i = 0; i < arr.length; i++) { 
    if (arr[i] == 0) { 
      if (len > lenMax) { 
        lenMax = len; 
        idxMax = idx; 
      } 
      len = 0; 
      idx = i + 1; 
    } else { 
      len++; 
    } 
  } 
  if (len > lenMax) { 
    lenMax = len; 
    idxMax = idx; 
  } 
  return { idx: idxMax, len: lenMax }; 
} 
 
var luecke = [1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0]; 
console.log(nonzero(luecke)); 
console.log(nonzero([0,0,0,0])); 
console.log(nonzero([1,1,1,1]));

READ ALSO
TextField vaadin java

TextField vaadin java

Первый TextField работает как надо, с остальными что-то не так, они не редакируются

140
Нахождения углов Эйлера из вектора направления

Нахождения углов Эйлера из вектора направления

Моя программа из углов Эейлера, которые хранятся в виде трехкомпонентного вектора A(Ax, Ay, Az), получает матрицу поворота порядка ZXY (умножение...

112
QT SIGSEGV при создании окна из трея на Ubuntu

QT SIGSEGV при создании окна из трея на Ubuntu

Коротко говоря - у меня есть иконка в трееПри клике по пункту меню этой иконки я хочу создавать и отображать окно, однако получаю SIGSEGV при отображении...

125
Что делает макрос LOWORD?

Что делает макрос LOWORD?

Потихоньку погружаюсь в программирование на WinAPI, и некоторые макросы меня немного озадачиваютСреди них макрос LOWORD(I)

259