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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ не могу доделать. http://www.cyberforum.ru/cpp-beginners/thread370944.html
составить программу для проверки утверждения: «Результатами вычислений по формуле x2 + x + 41 при 0 <x< 40 являются простые числа». Все результаты вывести на экран. не совсем понимаю. помогите доделать )) #include<iostream.h> #include<conio.h> int main (){int a,x,b,k; for(int x=1;x<40;x++) {a=x*x+x+41;}
C++ Проблема с логическим инвертированием Если например пишу такой код bool a = false; a = ~a; a = ~a; то после выполнения данного кода значение переменной a равно true, хотя должно быть равно false. В чем может быть проблема? http://www.cyberforum.ru/cpp-beginners/thread370941.html
C++ Цикл: Используя только операции умножения и деления вычислить: A^n (A в степени n) , минимизировав число операций
Дано натуральное число A ( Ввод числа производится в шеснадцатеричной системе ). Используя только операции умножения и деления вычислить: A^n (A в степени n) , минимизировава число операций. Результат вывести на экран в десятиричной системе. степень n равно 37.
C++ вывод точки на экран
использовать режим записи 2 для вывода точки на экране с заданными координатами в режиме VGA 12h, с программированием графики ещё не сталкивался, требуется помощь
C++ Аппроксимация Ньютона PN. http://www.cyberforum.ru/cpp-beginners/thread370918.html
Помогите составить аппроксимацию Ньютона PN. Задние прикрипленно в виде ссылки. Буду очень признателен. http://s1.ipicture.ru/uploads/20111023/L2m0x7RT.jpg
C++ Работа с файлами мешает выводу Массив структур, в ней две структуры. Инициализация проводится с файла 123.тхт находящимся в каталоге с программой. В этой программе я начал впервые работать с файлами и у меня начались проблемы с выводом( в консоль). Чую я наделал много ошибок...Файл после инициализации закрыл. Выполнение поставленой задачи реализовывается в функциях a,b,c, но пока самих задач нет Код программы: #include... подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3039 / 1684 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
23.10.2011, 11:59     Необходимо, пройдя по массиву один раз, все его положительные элементы поставить в начало а отрицательные в конец
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/////////////////////////////////////////////////////////////////////////////////////////
//Дан одномерный массив "а" (состоящий из вещественных чисел). 
//Необходимо, пройдя по массиву один раз, все его положительные элементы поставить 
//в начало, а отрицательные в конец, при этом использовать переменные i и j, 
//но они будут являются счетчиками, то есть им нельзя присваивать значения констант 
//или элементы массива, и в программе нельзя больше использовать никаких 
//переменных кроме i и j.
/////////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <vector>
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::vector<int>  T_nums;
/////////////////////////////////////////////////////////////////////////////////////////
void  my_partial_sort(T_nums&  nums)
{    
    int  j = 0;
    for(size_t  i = 0; i < nums.size(); ++i)
    {
        if(nums[i] < 0)
        {
            ++j;    
        }
        else        
        {
            std::swap( nums[i], nums[i - j] );
        }
    }
}
/////////////////////////////////////////////////////////////////////////////////////////
void  print_nums(const T_nums&  nums)
{
    std::copy
        (
            nums.begin(),
            nums.end(),
            std::ostream_iterator<T_nums::value_type>(std::cout, " ")
        );
    std::cout << std::endl;
}
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    srand(unsigned(time(0)));
    const int  NUMS_DIM = 20;
    T_nums  nums;    
    for(int  i = 0; i < NUMS_DIM; ++i)
    {
        nums.push_back(rand() % 100 - 50);
    }
    std::cout << "Массив до сортировки:"
              << std::endl;
    print_nums(nums);
 
    my_partial_sort(nums);
    std::cout << std::endl
              << "Массив после сортировки:"
              << std::endl;
    print_nums(nums);
}
 
Текущее время: 08:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru