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

Отсортировать массив с хаотическим индексом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сделать таймер как в Lost http://www.cyberforum.ru/cpp-beginners/thread786555.html
Подскажите где можно найти программу таймер как в сериале Лост, что б она требовала вводить код 4 8 15 16 23 42 каждые 108 минут Ну я думаю кто видел меня поймет. И очень нужна именно программа а не скринсейвер. Надеюсь на вас Добавлено через 1 минуту Или сделайте мне сами очень прошу Добавлено через 40 секунд желательно на весь экран
C++ Функции. Программа запрашивает у пользователя 10 результатов игры в гольф, сохраняя их в массиве Программа запрашивает у пользователя 10 результатов игры в гольф, сохраняя их в массиве. При этом необходимо обеспечить возможность прекращения ввода до ввода всех 10 результатов. Программа должна отобразить все результаты в одной строке и сообщить их среднее значение. Реализуйте ввод, отображение и вычисление среднего в трех отдельных функциях, работающих с массивами. #include<iostream>... http://www.cyberforum.ru/cpp-beginners/thread786554.html
C++ Удаление елементов вектора
никак не могу разобраться с итераторами: Мне нужно удалить элемент ветора, для этого я пользуюсь функцией erase К примеру мне нужно удалить 5 элемент вектора, как мне передать в эту функцию соответствующий итератор??? Как вообще присвоить ему значение 5?? vector <int> test; test.push_back(...); ... vector<int>::iterator my;
Операция побитового сдвига C++
Задача состоит в том,что нужно введенное число (unsigned char) перевести в двоичную, а затем проверить биты полученного числа (тоесть, что находится в ячейке 0 или 1). Начало программы я написала #include "stdafx.h" #include <stdio.h> #include <math.h> #include <conio.h> int c=0; void dvoich(int x1) { int i,b;
C++ Как сложить первую и вторую части переменных? http://www.cyberforum.ru/cpp-beginners/thread786516.html
Здравствуйте, уважаемые форумчане. Допустим есть у меня в переменной некое четырехзначное значение, например, 1981 и надо сложить его первую и вторую части, тобишь 19 + 81, как это сделать? Благодарю всех заранее.
C++ Написать подпрограмму нахождения наибольшего общего делителя двух чисел Написать подпрограмму нахождения наибольшего общего делителя двух чисел N и M по реккурентному соотношению: (N=23345 M=9135 => 1015 N=238 M=346 => 34) N(k-1)=N(k-2)-INT(N(k-2)/N(k-1))N(k-1) k=2,3.... N(0)=max(|N|,|M|) N(1)=min(|N|,|M|) Если N(2)=0 => НОД=N(k-1) a, int b подробнее

Показать сообщение отдельно
w72er
3 / 3 / 0
Регистрация: 28.11.2012
Сообщений: 21
15.02.2013, 07:58     Отсортировать массив с хаотическим индексом
Массив -- это список объектов, где объект определяется индексом массива. Правильно ли я понимаю, что у тебя есть пять объектов, которые расположены в массиве больше чем на 5 элементов? Например:
индекс 0: 6
индекс 1: 11
индекс 2: ничего
индекс 3: 45
индекс 4: ничего
индекс 5: 3
индекс 6: ничего
индекс 7: ничего
индекс 8: 104
индекс 9: ничего

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
#include <vector>
#include <cstdlib>
#include <iostream>
#include <algorithm>
 
int main()
{
    std::vector<int> bus; //шина, с которой считываем данные
    const int capacity = 20; //разрядность шины (количество портов)
 
    //сформируем состояние шины
    for (int i = 0; i < capacity; i++)
    {
        int random = rand() % 100; //от 0 до 99
        //сигнал регистрируется на порту шины, если его уровень больше 50.
        int signal = (random > 50) ? random : 0;
        bus.push_back(signal);
    }
 
    std::cout << "bus at now:" << std::endl;
    for (int i = 0; i < capacity; i++)
    {
        std::cout << "bus[" << i << "] = " << bus[i] << std::endl;
    }
 
    std::vector<int> tmp; //временный массив для сортировки
    for (int i = 0; i < capacity; i++)
    {
        if (bus[i] != 0) //если есть сигнал
            tmp.push_back(bus[i]);
    }
 
    //отсортировали сигналы по значению.
    std::sort(tmp.begin(), tmp.end());
 
    std::cout << "processed bus:" << std::endl;
    for (std::vector<int>::iterator it=tmp.begin(); it!=tmp.end(); ++it)
    {
        std::cout << *it << std::endl; //Вывод отсортированных сигналов
    }
 
    return 0;
}
 
Текущее время: 16:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru