qee:
Всем добрый день
Не соображу как исключасть все нулевые значения из массива., т.е.:
из {0,2,34,2,1,4,0,3,0,2,4,0,0,0,54,0}
сделать {2,34,2,1,4,3,2,4,54} (порядок элементов менять нельзя)
всем спасибо!
int tmp[]={0,2,34,2,1,4,0,3,0,2,4,0,0,0,54,0};
int i,j,Count;
j=0;
Count=размер массива
j=0;
for (i=0;i<Count;i++)
if(tmp[i]>0)
j++;
else
tmp[j]=tmp[i];
Надо только размер массива изменить и все.
Спасибо, подумаю.
qee:
Спасибо, подумаю.
Только я похоже ошибку сделал, но принцип такой. Обычно лучше использовать промежуточный массив, тогда проблем нет.
qee:
Не соображу как исключасть все нулевые значения из массива.
int arr[] = { 0,2,34,2,1,4,0,3,0,2,4,0,0,0,54,0 }; int arrSize = ArraySize(arr); int tmp[]; ArrayResize( tmp, arrSize ); int tmpSize = 0; for ( int i = 0; i < arrSize; i ++ ) { if ( arr[i] > 0 ) { tmp[tmpSize] = arr[i]; tmpSize ++; } } ArrayResize( arr, tmpSize ); if ( tmpSize > 0 ) { ArrayCopy( arr, tmp, 0, 0, tmpSize ); }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Всем добрый день
Не соображу как исключасть все нулевые значения из массива., т.е.:
из {0,2,34,2,1,4,0,3,0,2,4,0,0,0,54,0}
сделать {2,34,2,1,4,3,2,4,54} (порядок элементов менять нельзя)
всем спасибо!