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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Naked
0 / 0 / 0
Регистрация: 22.10.2010
Сообщений: 18
#1

Написать функцию, которая переставляет элементы массива типа int так, что все положительные элементы предшествуют отрицательным. - C++

18.11.2010, 12:41. Просмотров 1208. Ответов 11
Метки нет (Все метки)

Помогите плз написать...
Написать функцию, которая переставляет элементы массива типа int
так, что все положительные элементы предшествуют отрицательным.

3аранее спс.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2010, 12:41     Написать функцию, которая переставляет элементы массива типа int так, что все положительные элементы предшествуют отрицательным.
Посмотрите здесь:

Написать функцию, которая в массиве вещественных чисел обнуляет все элементы, которые меньше среднего C++
написать функцию которая формирует новый массив, элементами которого является все четные элементы, расположенные в нечетных ячейках заданного массива C++
написать функцию, которая формирует новый массив, элементами которого является все четные элементы, расположенные в нечетных ячейках заданного массива C++
C++ Написать функцию, которая транспонирует заданный в качестве параметра массива типа int
C++ Вывести элементы массива на промежутке [ a,b ], вычислить количество элементов массива, заменить все положительные элементы
C++ Написать и протестировать подпрограмму, которая переставляет в обратном порядке элементы главной диагонали квадратной матрицы - вывод всей матрицы
Преобразуйте массив так, чтобы все положительные элементы массива стали отрицательными и наоборот C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4661 / 2487 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
18.11.2010, 13:00     Написать функцию, которая переставляет элементы массива типа int так, что все положительные элементы предшествуют отрицательным. #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void func(int *mas, int N)
{
    int l=0, r=N-1, i;
    while(l<r)
    {
        for(i=l; i<N; i++)
            if(mas[i]<0)
                break;
        l=i;
        for(i=r; i>=0; i--)
            if(mas[i]>=0)
                break;
        r=i;
        if(l<r)
        {
            int temp=mas[l]; mas[l]=mas[r]; mas[r]=temp;
        }
    }
}
Naked
0 / 0 / 0
Регистрация: 22.10.2010
Сообщений: 18
13.12.2010, 21:49  [ТС]     Написать функцию, которая переставляет элементы массива типа int так, что все положительные элементы предшествуют отрицательным. #3
А как будет выглядеть тестирующая программа?
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4661 / 2487 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
13.12.2010, 21:50     Написать функцию, которая переставляет элементы массива типа int так, что все положительные элементы предшествуют отрицательным. #4
язык какой?
Mayonez
13.12.2010, 22:09
  #5

Не по теме:

Цитата Сообщение от valeriikozlov Посмотреть сообщение
язык какой?
русский

asics
13.12.2010, 22:10
  #6

Не по теме:

Mayonez, запетросянил.

Naked
0 / 0 / 0
Регистрация: 22.10.2010
Сообщений: 18
13.12.2010, 22:19  [ТС]     Написать функцию, которая переставляет элементы массива типа int так, что все положительные элементы предшествуют отрицательным. #7
На языке Cи
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4661 / 2487 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
13.12.2010, 22:51     Написать функцию, которая переставляет элементы массива типа int так, что все положительные элементы предшествуют отрицательным. #8
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
36
37
38
#include <stdio.h>
#include <malloc.h>
void func(int *mas, int N)
{
        int l=0, r=N-1, i;
        while(l<r)
        {
                for(i=l; i<N; i++)
                        if(mas[i]<0)
                                break;
                l=i;
                for(i=r; i>=0; i--)
                        if(mas[i]>=0)
                                break;
                r=i;
                if(l<r)
                {
                        int temp=mas[l]; mas[l]=mas[r]; mas[r]=temp;
                }
        }
}
 
int main() {
int *mas, N, i;
printf("N= ");
scanf("%d", &N);
mas=(int*) malloc(N*sizeof(int));
for(i=0; i<N; i++)
{
    printf("[%d]= ", i);
    scanf("%d", &mas[i]);
}
func(mas, N);
for(i=0; i<N; i++)
    printf("%d ", mas[i]);
 
   return 0;
}
Naked
0 / 0 / 0
Регистрация: 22.10.2010
Сообщений: 18
17.12.2010, 16:14  [ТС]     Написать функцию, которая переставляет элементы массива типа int так, что все положительные элементы предшествуют отрицательным. #9
mas=(int*) malloc(N*sizeof(int)); - зачем эта строчка нужна?
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
17.12.2010, 16:38     Написать функцию, которая переставляет элементы массива типа int так, что все положительные элементы предшествуют отрицательным. #10
Цитата Сообщение от Naked Посмотреть сообщение
mas=(int*) malloc(N*sizeof(int)); - зачем эта строчка нужна?
Naked, выделение памаяти под массив типа int розмером N-елементов!!!
slice
32 / 75 / 4
Регистрация: 04.11.2010
Сообщений: 249
17.12.2010, 16:54     Написать функцию, которая переставляет элементы массива типа int так, что все положительные элементы предшествуют отрицательным. #11
просто отсортируй массив по убыванию
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2010, 19:25     Написать функцию, которая переставляет элементы массива типа int так, что все положительные элементы предшествуют отрицательным.
Еще ссылки по теме:

Разработать функцию, которая сортирует только положительные элементы массива на своих местах C++
1. Написать функцию проверяющую есть ли отрицательные элементы в указанной строке двумерного массива. Удалить из массива все строки с отрицательными э C++
Напишите перегруженную функцию power (), которая принимает два целочисленных параметра типа int и возвращает целочисленное значение типа int C++
C++ Создать функцию, которая будет выводить на экран все четные элементы массива
C++ Написать функцию, которая в одномерном массиве заменяет элементы кратные некоторому числу на нулевые элементы

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

Или воспользуйтесь поиском по форуму:
Naked
0 / 0 / 0
Регистрация: 22.10.2010
Сообщений: 18
17.12.2010, 19:25  [ТС]     Написать функцию, которая переставляет элементы массива типа int так, что все положительные элементы предшествуют отрицательным. #12
А без указателей "*" можно ее писать?
Yandex
Объявления
17.12.2010, 19:25     Написать функцию, которая переставляет элементы массива типа int так, что все положительные элементы предшествуют отрицательным.
Ответ Создать тему
Опции темы

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