1 / 1 / 0
Регистрация: 21.10.2009
Сообщений: 84
1

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

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

Author24 — интернет-сервис помощи студентам
Привет.
Хочу разобраться в использовании функциий.
В функции я хочу найти все отррицательные элементы.
А потом просто их вывести.
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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.06.2010, 16:57
Ответы с готовыми решениями:

Расположить в порядке возрастания отрицательные элементы массива
Дан массив из n целых чисел. Расположите в порядке возрастания все его отрицательные элементы. ...

Найти отрицательные элементы в каждой строке массива и расположить их в порядке возрастания
В массиве А(6,8) найти отрицательные элементы в каждой строке и расположить их в порядке...

Переставить элементы массива X с нечетными номерами в начало массива Y в том же порядке, затем элементы с четными номера
Здравствуйте, не могу создать массив Y по заданию.Ниже будет код массива X. Задание...

Переставить числа чтобы отрицательные нечетные шли в порядке возрастания в конце массива
в данной последовательности целых чисел переставьте члены так, что бы отрицательные нечетные числа...

3
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
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
1 / 1 / 0
Регистрация: 21.10.2009
Сообщений: 84
07.06.2010, 17:58  [ТС] 3
Ну а если нужно в дальнейшем использовать массив отрицательных элементов, например упорядочить их.

Добавлено через 6 минут
У меня такая задача
Отрицательные элементы массива А(N) переставить в начало массива и расположить их в порядке возрастания.
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.06.2010, 18:02
Помогаю со студенческими работами здесь

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

Расположить элементы массива X в порядке возрастания
Расположить элементы массива X в порядке возрастания. Эле-менты массива вычисляются по формуле ,где...

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

Расположить элементы массива в порядке возрастания
В любом заданном массиве расположить элементы массива в порядке возрастания.Вывести на экран...

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

Расположить элементы массива в порядке возрастания и в порядке убывания
Здравствуйте! Начинаю изучать Си, нужно написать простенькую программу. Мне рассказали про функцию...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru