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

Массивы. Вставить новый элемент после всех элементов, которые заканчиваются на данную цифру - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дан массив из чисел, содержащих как положительные так и отрицательные значения http://www.cyberforum.ru/cpp-beginners/thread742843.html
Здраствуйте, помогите с решением задачи. Дан массив из чисел, содержащих как положительные так и отрицательные значения. Подсчитать "К" количество положительных элементов в массиве. Создать динамический массив "К" элементов и скопировать все положительные значения из исходного массива. Буду очень благодарен Вам.
C++ функция с аргументами массив и размерность массива Собственно, для меня острая проблема, как с помощью указателей передать в функцию, размерность? // Function with array argument #include "iostream" using namespace std; void func(int a, int n) { int i, p = 1; http://www.cyberforum.ru/cpp-beginners/thread742834.html
Программе нужно вывести какую максимальную цепочку из этих слов можно составить. C++
Доброго времени суток! :) Сразу к задаче: Пользователь вводит количество слов потом вводит по одному слова. Программе нужно вывести какую максимальную цепочку из этих слов можно составить. Цепочка по принцыпу игры в "слова". Игра "слова": Смысл в том что бы назвать следущие слово после предыдущего ответа на последнюю букву.Например я говорю слово шапка вы должны назвать слово на букву
Поворот изображения C++
Доброго времени суток. Возникла проблема при написании программы для обнаружения лица. Обнаружение проходит отлично, но если изображение перевернутое то уже не все так хорошо. Подскажите как можно улучшить программу чтобы она поворачивала изображение скажем на определенный угол раза 2-3 и производила детектирование Вот листинг #include "cv.h" #include "highgui.h" #include <stdio.h>...
C++ Работа с двумерной матрицей (верхний предел рандома) http://www.cyberforum.ru/cpp-beginners/thread742806.html
Пользователь должен сам вводить размер матрицы с клавиатуры. Так с клавиатуры должен осуществляться ввод числа, которое будет максимальным среди случайно выпадающих. Ввод размера написать получилось в универе, дома задачу переписал - не работает. За верхний предел рандома, соответственно, я и не брался. Помогите найти ошибку в коде. Подскажите, как обозначить верхний предел #include <stdafx.h>...
C++ Символьное дифференцирование Требуется реализовать класс Expression с чисто виртуальными методами Expression *diff(); и void print(); и отнаследовать классы Number, Variable, Add, Sub, Mul, Div. Если можете, помогите, пожалуйста. Добавлено через 5 часов 6 минут Есть классы Number и Variable, а как быть с остальными, я не совсем понял. class Expression { public: virtual Expression * diff() = 0; virtual void... подробнее

Показать сообщение отдельно
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
23.12.2012, 12:14     Массивы. Вставить новый элемент после всех элементов, которые заканчиваются на данную цифру
1)
Кликните здесь для просмотра всего текста
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <iostream>
#include <ctime>
#include <cstdlib>
 
void fill_arr(int * arr, int size)
{
    for(int i = 0; i < size; ++i)
    {
        arr[i] = rand() % 100;
    }
}
 
void output_arr(int * arr, int size)
{
    for(int i = 0; i < size; ++i)
    {
        std::cout << arr[i] << " ";
    }
}
 
int count_last(int * arr, int size, int digit)
{
    int count = 0;
    
    for(int i = 0; i < size; ++i)
    {
        if(arr[i] % 10 == digit)
            ++count;
    }
    
    return count;
}
 
void insert_elems(int *& arr, int & size, int elem, int digit)
{
    int count  = count_last(arr, size, digit);
    
    if(!count)
        return;
        
    std::cout << count << "\n";
    int * temp = new int[size + count];
    
    for(int i = 0, j = 0; i < size; ++i, ++j)
    {
        temp[j] = arr[i];
        
        if(arr[i] % 10 == digit)
        {
            temp[++j] = elem;
        }
    }
    
    delete [] arr;
    
    arr = temp;
    
    size += count;
}
        
 
int main()
{
    srand(static_cast<unsigned int>(time(0))); 
    
    int size, elem, digit;
 
    std::cout << "Enter size: ";
    std::cin >> size;
 
    int * arr = new int [size];
    
    
    fill_arr(arr, size);
    std::cout << "Source:\n";
    output_arr(arr, size);
    
    std::cout << "\n\nEnter new element: ";
    std::cin >> elem;
    std::cout << "\n\nEnter last digit: ";
    std::cin >> digit;
    
    insert_elems(arr, size, elem, digit);
    std::cout << "\nResult:\n";
    output_arr(arr, size);
    
   
    delete [] arr;
   
    return 0;
}
 
Текущее время: 20:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru