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

Изменить порядок следования элементов в массиве - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ измените порядок следования элементов в массиве так,чтобы... http://www.cyberforum.ru/cpp-beginners/thread627520.html
помогите решать решение измените порядок следования элементов в массиве так,чтобы располагались все отрисательные элементы,затем положительные,а потом нули
C++ Открыть директорию Всем доброго времени суток. Подскажите пожалуйста функцию для того чтобы прочитать директорию. Т.е есть папка и мне нужно получить все названия вложений(файлов и папок).Я использую VS2010 компилятор Microsoft, ОС Windows 7. Прочитал в википедии что функция opendir с Microsoft компилятором не работает.Подскажите пожалуйста кто знает. http://www.cyberforum.ru/cpp-beginners/thread627519.html
Сохранение данных хэш таблицы C++
Здравствуйте. Имеется хеш таблица с размером массива 10 000. В таблицу периодически заносятся данные. Как сохранять данные при выходе из программы, чтобы потом при включении программы они находились в таблице.
Конструктор и деструктор в классе C++
Решил разобраться в конструкторах и деструкторах. Написал, вроде по такой же структуре как и в учебнике. А комп выдает ошибки в компиляции, связанные с типом главной функции. Что не так, подскажите... #include <iostream> #include <cstring> using namespace std; class String { private:
C++ Массив карт http://www.cyberforum.ru/cpp-beginners/thread627469.html
Нужно ввести поток карт, для дальнейшей сортировки. Карта представлена как два символа - (вес) + (масть). Вводится сразу два символа, без пробелов. Дальше идет следующая карта через пробел. Сортировать буду по весу. Так понял, что лучше организовать массив из массива Char . Как это сделать лучше?
C++ функция работает неверно #include <iostream> using namespace std; int zamena(char*, char, char); int main() { char str; cout<<"Enter string: "; cin.getline(str, 20); cout<<"\nenter the two characters "; char c1, c2; подробнее

Показать сообщение отдельно
Catstail
Модератор
 Аватар для Catstail
21492 / 10245 / 1670
Регистрация: 12.02.2012
Сообщений: 17,129
23.07.2012, 17:49     Изменить порядок следования элементов в массиве
Вот несколько прямолинейное, но рабочее решение:
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
#include <math.h>
#include <iostream.h>
 
int sgn(int a)
{
    if (a==0) 
        return 0;
    else
        return (a>0) ? 1 :0;
}
int main(int argc, char* argv[])
{
    int Arr[]={1,2,0,3,-4,-9,4,0,1,1,0};
    int n=sizeof(Arr)/sizeof(int);
    int i,j,tmp;
    for (i=0;i<n-1;i++)
        for (j=i+1; j<n; j++)
        {
            if  (sgn(Arr[i]) != sgn(Arr[j]))
                if ( ((Arr[i] >  0) && (Arr[j] <  0)) ||  
                     ((Arr[i] == 0) && (Arr[j] != 0)) )
                {
                    tmp=Arr[i];
                    Arr[i]=Arr[j];
                    Arr[j]=tmp;
                }
            
        }
        
    for (i=0; i<n; i++) cout << Arr[i] << " ";
    cout << endl;
 
    return 0;
}
Не что иное, как модифицированная сортировка перестановками.
 
Текущее время: 18:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru