Сформировать два массива из элементов исходного - C (СИ)

Узнай цену своей работы

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

Всем привет. Нужно очень срочно написать программу, никак не могу понять что за чем! Помогите пожалуйста! Условие: Пусть имеется одномерный массив целых чисел, содержащий отрицательные и положительные значения. Разделить его на два новых таким образом , чтобы в первом оказались значения, большие нуля, а в другом - меньше.
Я попробывал так, ошибок 0 но она не запускается
void main() {
int a[20], b[20], c[20], n=0, m=0, i=0;
if (a[i]>0) {b[n]=a[i]; n++;}
else {c[m]=a[i]; m++;}}

Решение задачи: «Сформировать два массива из элементов исходного»

textual
Листинг программы
int main() 
{
int a[20], b[20], c[20], n=0, m=0, i;
for(i=0; i < 20; i++) a[i] = -100 + rand()%200;
for(i=0; i<20; i++) {
  if (a[i]>0) b[n++]=a[i]; 
  else c[m++]=a[i]; 
}
  // вывод результата
  return 0;
}

Объяснение кода листинга программы

В этом коде:

  1. Создаются четыре переменные: a, b, c, n и m, которые инициализируются нулевыми значениями.
  2. Заполняются массивы a случайными числами от -100 до 100 с шагом 1.
  3. Происходит два прохода по массиву a.
  4. На первом проходе, если элемент массива a больше нуля, то он копируется в массив b и увеличивается счетчик n.
  5. На втором проходе, если элемент массива a меньше или равен нулю, то он копируется в массив c и увеличивается счетчик m.
  6. Код возвращает 0, что означает успешное выполнение. Этот код можно использовать для разделения положительных и отрицательных чисел в массиве.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы