Как из массива убрать нулевые значения?

 
Подскажите пожайлуста как из массива убрать нулевые значения, чтобы получился новый массив уменьшенный на величину убранных нулей
Заранее благодарен !
 
перебираешь все значения первого массива и сравниваешь каждое с 0, если не равно, то пихаешь его в новый массив.
 

так не получится поскольку пустые индексы копируются в новый массив

 
код покажи
 
alex54:

так не получится поскольку пустые индексы копируются в новый массив

??? Что значит "копируются"? Сами? Может ты там случайно создал искусственный интеллект, который сам делает что за хочет?

Берешь из первого мешка, не глядя, яблоко
Смотришь хорошее оно или гнилое
Если хорошее, то кладешь его во второй мешок
Если гнилое, то выкидываешь
Повторить пока в первом мешке не останется яблок

А теперь объясните мне как могут гнилые яблока сами прыгать во второй мешок.
 

У меня получается только через два цикла А это громоздко Поэтому я поднял зту тему

и посколько конструктивных советов нет я эту веточку закрываю

Четно говоря я не вижу смысла обсуждать проблему с воробьиное яйцо

 
alex54:

У меня получается только через два цикла А это громоздко Поэтому я поднял зту тему

и посколько конструктивных советов нет я эту веточку закрываю

Четно говоря я не вижу смысла обсуждать проблему с воробьиное яйцо


8-) Что вы называете конструктивным советом? Вам уже на детсадовском примере обяснили, а вы все недовольны. Лучше расскажите как вы умудряетесь делать это в два цикла.
 
void start() {
  int a[5]={0, 1, 2, 3, 0};
  int b[], i, ra, rb;
 
  // удаление нулевых значений
  ra=ArraySize(a);
  for (i=0; i<ra; i++) {
    if (a[i]>0) {
      rb=ArraySize(b);
      ArrayResize(b, rb+1);
      b[rb]=a[i];
    }
  }
 
  // вывод нового массива для проверки
  rb=ArraySize(b);
  for (i=0; i<rb; i++) {
    Print("b[",i,"]=",b[i]);
  }
}
 
timbo:
??? Что значит "копируются"? Сами? Может ты там случайно создал искусственный интеллект, который сам делает что за хочет?

Берешь из первого мешка, не глядя, яблоко
Смотришь хорошее оно или гнилое
Если хорошее, то кладешь его во второй мешок
Если гнилое, то выкидываешь
Повторить пока в первом мешке не останется яблок

А теперь объясните мне как могут гнилые яблока сами прыгать во второй мешок.

Объясняю, не использованные числа типа Integer и Real по-умолчанию являются нулями....твой пример совсем не подходит...тут совсем другое

у тебя стоят 20 блюдец для чашек по 10 с каждой стороны стола...но все чашки  стоят не на каждом блюдечке и только на одной стороне...тебе надо переместить эти чашечки с блюдечек одной стороны на блюдечки другой...но при этом необходимо убрать лишние блюдца...
ПЫ.СЫ. чашки - числа, блюдца - нули...
 
bloogman:

Объясняю, не использованные числа типа Integer и Real по-умолчанию являются нулями....твой пример совсем не подходит...тут совсем другое

у тебя стоят 20 блюдец для чашек по 10 с каждой стороны стола...но все чашки  стоят не на каждом блюдечке и только на одной стороне...тебе надо переместить эти чашечки с блюдечек одной стороны на блюдечки другой...но при этом необходимо убрать лишние блюдца...
ПЫ.СЫ. чашки - числа, блюдца - нули...

  Уважаемый, некропостинг без причины на этом форуме карается баном. Это так для информациию
Причина обращения: