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

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

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

Отрицательные элементы массива А(N) переставить в начало массива и расположить их в порядке возрастания - C++

07.06.2010, 16:57. Просмотров 595. Ответов 3
Метки нет (Все метки)

Привет.
Хочу разобраться в использовании функциий.
В функции я хочу найти все отррицательные элементы.
А потом просто их вывести.
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
#include<iostream.h>
#include<stdlib.h>
const int n=46;
int f( int *a, int n);
 
 
int main()
{
    int a[n],n,i;
    cout<<"Vvedi kol elementov "<<endl;
    cin>>n;
    cout<<"Vvedi elementi "<<endl;
    for(i=0;i<n;i++)
    cin>>a[i];
    f(a,n);
 
    for(i=0;i<n;i++)
    cout<<a[i]<<' ';
    system ("pause");
    return 0;
}
int f( int *a, int n)
{
  for(int i=0;i<n;i++)
  if(a[i]<0)
  return a[i];
}
Поправьте пожалуйста и дайте советы на будущее.
Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2010, 16:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отрицательные элементы массива А(N) переставить в начало массива и расположить их в порядке возрастания (C++):

Переставить все отрицательные элементы в начало массива - C++
Здравствуйте, помогите пожалуйста решить такую задачку! Пусть A - одномерный массив N вещественных чисел (для нечетных вариантов) и N...

Расположить элементы массива в порядке возрастания - C++
Дан массив a. Расположить его элементы в порядке возрастания. Использовать сортировку методом выбора. Количество и значения элементов...

Расположить элементы первой половины одномерного массива в порядке возрастания, а второй - в порядке убывания - C++
Нужно расположить элементы первой половины одномерного массива в порядке возрастания, а второй половины массива в порядке убывания. Данная...

Элементы на нечетных местах массива расположить в порядке возрастания - C++
Дан массив М (15) действительных чисел. Элементы на нечетных местах расположить в порядке возрастания, а на четных в порядке убывания.

Расположить отрицательные элементы массива в порядке убывания - C++
Ввести массив x1,x2,...,x20 в диапазоне . Требуется расположить отрицательные элементы в порядке убывания. Вывести массивы до и после...

Переставить в массиве все отрицательные элементы в начало массива, сохраняя относительный порядок - C++
Проштудировал весь форум.Решений много взял по примеру написал код, ошибок нет но ответа нужного нет помогите найти где не разобрался. С...

3
neske
1505 / 872 / 84
Регистрация: 26.03.2010
Сообщений: 2,986
07.06.2010, 17:04 #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
#include <iostream>
bool neg_el (int *, int);
 
int main()
{
    // initial
    const int size=20;
    int MAS[size];
    // fill and output
    std::cout << "Input elements:\n";
    for (int i=0; i<size; i++) {
        std::cout << "MAS["<< i <<"]: ";
        std::cin >> MAS[i]; }
    // output negative elements
    std::cout << "Negative elements:\n";
    for (int i=0; i<size; i++)
        if (neg_el (MAS, i)) std::cout << MAS[i] << " ";
    
    system ("pause");
    return 0;
}
 
bool neg_el (int *MAS, int el)
{
    if (MAS[el]<0) return true;
    return false;
}
1
Garret192
1 / 1 / 0
Регистрация: 21.10.2009
Сообщений: 84
07.06.2010, 17:58  [ТС] #3
Ну а если нужно в дальнейшем использовать массив отрицательных элементов, например упорядочить их.

Добавлено через 6 минут
У меня такая задача
Отрицательные элементы массива А(N) переставить в начало массива и расположить их в порядке возрастания.
0
neske
1505 / 872 / 84
Регистрация: 26.03.2010
Сообщений: 2,986
07.06.2010, 18:02 #4
Я бы сделал так))

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
30
31
32
33
34
35
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
bool neg_el (int *, int);
 
int main()
{
    // initial
    const int size=20;
    int MAS[size];
    // fill and output
    std::cout << "Input elements:\n";
    for (int i=0; i<size; i++) {
        std::cout << "MAS["<< i <<"]: ";
        std::cin >> MAS[i]; }
    // sort negative elements
    std::vector <int> neg_elem;
    for (int i=0; i<size; i++)
        if (neg_el (MAS, i))  neg_elem.push_back (MAS[i]);
    sort (neg_elem.begin(), neg_elem.end());
    // output
    std::cout << "Sort negative elements:\n";
    std::copy (neg_elem.begin(), neg_elem.end(), std::ostream_iterator <int> (std::cout, " "));
    std::cout << std::endl;
 
    system ("pause");
    return 0;
}
 
bool neg_el (int *MAS, int el)
{
    if (MAS[el]<0) return true;
    return false;
}
1
07.06.2010, 18:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2010, 18:02
Привет! Вот еще темы с ответами:

Вывести в порядке неубывания (возрастания) отрицательные элементы массива - C++
Дан одномерный массив из N случайных действительных чисел в диапазоне от -5 до 5. Вывести в порядке неубывания (возрастания) отрицательные...

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

Все положительные элементы поместить в начало массива В(n), а отрицательные элементы — в начало массива С(n) - C++
Ребята. Помогите с задачей пожалуйста. Дан массив А(n). Все положительные его элементы поместить в начало массива В(n), а...

Данный массив A (n). Все положительные его элементы поместить в начало массива B (n), а все отрицательные - в начало массива C (n). Подсчитать количес - C++
Данный массив A (n). Все положительные его элементы поместить в начало массива B (n), а все отрицательные - в начало массива C (n)....


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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