Форум программистов, компьютерный форум CyberForum.ru

Удалить все отрицательные элементы - C++

Восстановить пароль Регистрация
 
Beleaf
9 / 9 / 3
Регистрация: 14.04.2010
Сообщений: 99
13.11.2010, 17:48     Удалить все отрицательные элементы #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
using namespace std;
 
int main()
{
    int i=0, g=0, j=0, n=0;
    int arr[255];
    int scndArr[255];
    cout << "Input n: ";
    cin >> n;
    cout << "Fill the array: " << endl;
    for (i=0; i<n; i++)
        cin >> arr[i];
    for (i=0, j=0; i<n, j<n; i++, j++)
        if (arr[i] > 0)
        {
            scndArr[j] = arr[i];
            g++;
        }
        else
        {
            j--;
        }
    for (j=0; j<g; j++)
        cout << scndArr[j] << " ";
    cin.get();
    cin.get();
    return 0;
}
найдите, пожалуйста, ошибку, уже голову сломал, но работает некорректно(выводит количество элементов равное n и получается бред).
ссылки на готовые задачи не пишите, я для себя делаю и хочу понять свою ошибку
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2010, 17:48     Удалить все отрицательные элементы
Посмотрите здесь:

Удалить из массива все отрицательные элементы C++
C++ Удалить все отрицательные элементы массива
C++ Массив: Удалить из массива все отрицательные элементы.
C++ если массив не является знакочередующимся,то удалить из массива все положительные числа,в противном случае-удалить отрицательные элементы.после удален
Удалить из массива все отрицательные элементы C++
Удалить из массива все отрицательные элементы; C++
C++ Из массива вещественных чисел удалить все отрицательные элементы
C++ Из массива вещественных чисел удалить все отрицательные элементы

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
13.11.2010, 18:32     Удалить все отрицательные элементы #2
У Вас ошибка здесь:
C++
1
        for (i=0, j=0; i<n, j<n; i++, j++)
По той же логике как Вы хотели написать правильно будет так:
C++
1
        for (i=0, j=0; i<n && j<n; i++, j++)
Но для этой задачи можно даже так:
C++
1
        for (i=0, j=0; i<n; i++, j++)
Beleaf
9 / 9 / 3
Регистрация: 14.04.2010
Сообщений: 99
13.11.2010, 18:51  [ТС]     Удалить все отрицательные элементы #3
большое спасибо, работает
Yandex
Объявления
13.11.2010, 18:51     Удалить все отрицательные элементы
Ответ Создать тему
Опции темы

Текущее время: 12:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru