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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Shur1990
1 / 1 / 0
Регистрация: 14.11.2013
Сообщений: 28
#1

Удалить из массива A[N] вс отрицательные элементы.Удаление отрицательных элементов массива оформить в виде функции - C++

12.02.2014, 15:28. Просмотров 882. Ответов 5
Метки нет (Все метки)

Что исправить?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#define N 10
 
int udalenie(int A[N],int k )
 
{
    int i;
    for(i=k;i<N;i++)
        if(A[N]<0)
        A[i]=A[i+1];
    }
 
 
void main(void)
 
 
{int i,k1=0;
    int A[N]={-1,-2,-3,1,2,3,4,5,6,7};
for(i=0;i<N;i++)
    udalenie(A[N],k1);
    for(i=0;i<N;i++)
printf("%d",A[i]);}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2014, 15:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удалить из массива A[N] вс отрицательные элементы.Удаление отрицательных элементов массива оформить в виде функции (C++):

1. Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с отрицательными э - C++
1. Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с...

Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с отрицательными элем - C++
Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с...

Удалить из массива отрицательные элементы - C++
Подскажите пожалуйста!!! Задание: удалить из массива отрицательные элементы. Почему-то работает прога не полностью правильно . ...

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

Найти сумму отрицательных элементов массива и порядочить элементы массива по возрастанию - C++
Помогите написать программу, работающую с одномерным вещественным массивом. - количество элементов N=20; - тип массива – вещественный. ...

Удалить из массива все отрицательные элементы - C++
Создать динамический массыв. Розмерность массыва ввести из клавиатуры. Задание: Удалить из массыва все отрицательные елементы.

5
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
12.02.2014, 15:51 #2
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
#include <stdio.h>
#define N 10
void udalenie(int *A, int k, int K)
{
    for (int i=k;i<K; i++) {
        A[i]=A[i+1];
    }
}
 
 
int main()
{
    int K=N;
    int i;
    int A[N]={-1,-2,-3,1,2,3,4,5,6,7};
    for(i=0;i<K;i++){
        if (A[i]<0) {
            udalenie(A,i,K);
            i--;
            K--;
        }
    }
    for(i=0;i<K;i++){
        printf("%d ",A[i]);
    }
    system("pause");
    return 0;
}
1
Shur1990
1 / 1 / 0
Регистрация: 14.11.2013
Сообщений: 28
12.02.2014, 15:52  [ТС] #3
fishec, а без указателя можно?
0
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
12.02.2014, 15:56 #4
можно, замени int *A на int A[N]
0
Shur1990
1 / 1 / 0
Регистрация: 14.11.2013
Сообщений: 28
12.02.2014, 16:13  [ТС] #5
fishec, спасибо,работает,только можете объяснить,для чего вводится K(и можно ли без неё обойтись),и что такое N-- и i-- - сдвиг?
0
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
12.02.2014, 17:47 #6
После удаления элемента длина массива уменьшается на 1. В переменной K хранится новая длина массива. И после очередного удаления мы уменьшаем K на 1. Также после удаления i-го элемента на его место сдвигается следующий, поэтому на следующем шаге цикла нужно снова проверять i-ый элемент, для этого используется i--
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2014, 17:47
Привет! Вот еще темы с ответами:

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

Удалить все отрицательные элементы массива - C++
У меня есть динамический масив... Как удалить все отрицательние елементи? if(mass&lt;0) а дальше?

Удалить из массива все отрицательные элементы - C++
удалить из массива все отрицательные элементы . под удалением элемента следует понимать : исключение этого элемента из массива путем...

Функции обработки массива (определить произведение элементов массива, заменить модулем все элементы массива, уничтожить элемент с заданным значением) - C++
Вот задания,не могу сделать ни одного из них,буду благодарен за помощь. Написать функции для выполнения операций над одномерным...


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
12.02.2014, 17:47
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru