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

Динамические массивы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу вывода площадей колец http://www.cyberforum.ru/cpp-beginners/thread687045.html
с++ builder Нужно написать программу вывода площадей колец.Программа должна проверять правильность исходных данных т.е радиус кольца должен быть больше радиуса отверстия ,если условие нарушается то...
C++ Выделение памяти Скажите пожалуйста что не так? Не могу получить доступ к элементу str = 12, stlb = 3 bool** tempValues = new(bool*); for(int i = 0; i < stlb; i++) tempValues = new(bool); Вылетает вот в... http://www.cyberforum.ru/cpp-beginners/thread687043.html
C++ Вывод всех символов строки, расположенных после первого символа ":"
Есть задача: С клавиатуры вводится строка. Составить программу, которая выводит на экран все символы, расположенные после первого символа ":"; подсчитывает количество предложений, содержащие...
Вывести сумму четырех чисел с 4 знаками после запятой C++
Задача 1. Сума В стандартном входном потоке дано 4 действительные числа. В стандартный выходной поток вывести их суму из 4 знаками после запятой. ПРИМЕР: Входные данные: 3 4 2.5 1 Результаты...
C++ Доработать код записной книжки http://www.cyberforum.ru/cpp-beginners/thread687015.html
Помагите плыз доработать записную книжку вот код: #include <iostream> #include <locale.h> using namespace std; //*ОПИСЫВАЕМАЯ СТРУКТУРА*/ struct fio { char surname;
C++ цвет пикселя BMP как найти цвет пикселя по его координатам в растровой картинке bmp на mfc c++ v2008 подробнее

Показать сообщение отдельно
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
02.11.2012, 23:40
Этот вариант работы не совсем эстетичен в плане реализации алгоритма и годится только в учебных целях. На практике копировать массивы для каких либо операций - весьма не благоприятная затея.
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
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
int main()
{
    int size = 10;
    int m_math = 0;
    int* arr = new int[size];
    int* ptr = arr;
    int finder = 0;
    
    // Заполним случайными значениями и отобразим результат
    for( int* p = arr; p != arr + size; ++p ) {
    *p = rand() % 100;
    cout << *p << ' ';
    }
    
    // Найдём cумму всех членов 
    for( int* p = arr; p != arr + size; ++p )
    m_math = m_math + *p;
    
    // Среднее значение равно:
    m_math = m_math / size;
    cout << "\nСреденее арифметическое равно: " << m_math << endl;
    
    // Скопируем массив для выполнения сортировки
    int *cpy_arr = new int[size];
    for( int* p = cpy_arr; p != cpy_arr + size; )
    *p++ = *ptr++;
    
    // Отсортируем элементы по возрастанию и найдём середину
    for( int* p = cpy_arr + 1; p != cpy_arr + size; ++p )
    for( int* q = cpy_arr + size - 1; q != cpy_arr; --q )
        if( *(q-1) > (*q) ) {
        int temp = *(q-1);
        *(q-1) = *q;
        *q = temp;
        }
    
    // Теперь отыщим равное или ближайшее меньшее
    ptr = cpy_arr + size - 1;
    for( ; ptr >= cpy_arr; --ptr )
    if( *ptr >= m_math );
    else
        break;
    
    finder = *ptr;
    cout << "Среднее значении в массиве равно: "
     << finder << endl;
    
    // Ликвидируем временный массив
    delete [] cpy_arr;
    // И обезопасем указатель
    ptr = 0;
    
    // Найдём искомое значение в главном массиве
    // и присвоим ему значение 0
    // Отобразим результат.
    cout << "\nРезульт работы:\n";
    for( int* p = arr; p != arr + size; ++p ) {
    if( *p == finder ) {
        *p = 0;
    }
    cout << *p << ' ';
    }
    
    delete [] arr;
    
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru