Другие языки программирования и технологии

Всем привет, помогите в коде разобраться С++, вылетает ошибка, вроде все правильно..

Всем привет, помогите в коде разобраться С++, вылетает ошибка, а так вроде все правильно. . Делаю массив, потом нахожу в этом массиве первое отрицательное число и перезаписываю этот массив в другой, но только без первого отрицательного числа.. . А вылетает ошибка, понять не могу.. . Вот код:

#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <ctime>
#include <tchar.h>

using namespace std;

void main (int argc, int* argv[])

{

setlocale (0,"");

cout << "Лабораторная 4.\n\tУдалить из массива все четные эллементы. " << endl << endl;

// Создание //

_metka:

int n; cout << "Введите количество элементов массива: "; cin>>n;

if (n<=1) { cout << endl << "Не корректное число элементов массива. Введите число заново! " << endl << endl; goto _metka; }

int* mas; mas=new int[n]; cout << endl;

srand(time(0)); for (int i=0; i<n;>=rand() 0-101; cout << mas << " "; }

cout << endl << endl;

//Поиск четных чисел в массиве
int c, b = 0;
int s = 0;

for (int i=0; i<n;>>-100)
{
if(mas<0 && s==0)
{
s=1;
}
}
}

if(s == 0)
{
cout << "В массиве нет отрицательных чисел! " << endl;
}
else
{
//Вынесение всех четных чисел из исходного массива в отдельный массив

int* prime;
prime = new int[100];
int p = 0;
for (int i=0; i<n;>>-100)
{
if(mas<0 && c==0)
{
c=1;
}
else
{
prime[p] = mas;
p++;
}
}
}
int c=0;
cout<<"Массив после удаления четных чисел: "<<endl;> << " ";
}
cout << endl;
delete[] prime;
}

// Пауза //

cout << endl; system("pause");

}

с уважением..
Удалит все отрицательные числа. Если нужно, то код можно преобразовать для работы с двумя массивами:

#include <ctime>
#include <cstdlib>
#include <iostream>

using namespace std;

int main () {
    int n = 0;
    cout << "введите количество элементов массива: ";
    cin >> n;
    while (n < 1) {
        cout << "не корректное число элементов массива. введите число заново! \n: ";
        cin >> n;
    }
    cout << "массив: \n[";
    int *mas = new int[n];
    srand(time(0));
    for (int i = 0; i < n; ++i) {
        mas[ i] = rand() % 199 - 99;
        cout << mas[ i] << ' ';
    }
    cout << "\b]\n";
    int j = 0;
    for (int i = 0; i < n; ++i) if (mas[ i] >= 0) mas[j++] = mas[ i];
    if (j == n) {
        cout << "в массиве нет отрицательных чисел! \n";
    } else {
        cout << "\nпреобразованный массив: \n[";
        for (int i = 0; i < j; ++i) cout << mas[ i] << ' ';
        cout << "\b]\n";
    }
   
    delete[] mas;
    system("pause");
}
Ванька :*
Ванька :*
71 525
Лучший ответ
Любые вопросы по коду должны содержать 3 части:
- задание (вроде есть)
- сам код (Ответы жуют код, выкладывай на pastebin.com, сюда - ссылку)
- что не получается (конкретно - чем результат работы программы отличается от ожидаемого) . "Вылетает ошибка" - не описание проблемы в коде; может, это у тебя проигрыватель не может музыкальный файл найти. Конкретно - какая ошибка, в каком месте, при каких данных и т. д.
Наугад могу только предположить, что n>100, а массив prime рассчитан только на 100 элементов.