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

Удалить элементы из массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка в выводе файла С++ http://www.cyberforum.ru/cpp-beginners/thread1031916.html
Добрый день, подскажите пожалуйста в чем загвоздка: Файл: R0_11 0 11 1 .PRINT TRAN I(R0_11) R11_12 11 12 1 .PRINT TRAN I(R11_12) R1_12 1 12 1 Часть кода while ( EOF != (c=getc(f)) ) {
C++ Алгоритм сопровождения TLD (aka Predator) кто-нибудь устанавливал http://robot-develop.org/archives/4463#more-4463 ? я скачал версию для C++ и попробовал сделать как в инструкции Installation Notes ===================================== git clone git@github.com:alantrrs/OpenTLD.git cd OpenTLD mkdir build cd build http://www.cyberforum.ru/cpp-beginners/thread1031915.html
Матрица и интеграл C++
1.Преобразовать целочисленную матрицу размера M x N т.о. , чтобы строка с номером k непосредственно следовала за строкой с номером q ,сохранив порядок следования остальных строк ( 1 < k, q <= n ,k не равно q ). 2.http://www.cyberforum.ru/attachment.php?attachmentid=338416&stc=1&d=1386412822
Отладка функции C++
Помогите отладить мою функцию, что бы она быстрее работала. Функция делит один большой файл на несколько маленьких при это их сортирует слиянием.:( void Partition_File( const char* s_file_name, char **file_name, int num, int number_file ) { int fnum = num / number_file; double *str_number = new double; int k = 0, incr = 0, i, number = number_file - 1; FILE *sfile = fopen( s_file_name,...
C++ cin и \n http://www.cyberforum.ru/cpp-beginners/thread1031894.html
Добрый день. Существует ли какой-то механизм, который позволяет узнать перепрыгнул ли cin через \n. что я имею в виду. this is test line я считываю это в цикле while(cin >> str) {...} однако при считывании 'test', cin перепрыгивает через \n, можно ли как то обработать это? вот по такому принципу
C++ удаление элементов массива, совпадающих с элементами другого массива Здравствуйте, помогите найти ошибку в коде; суть задачи такая: удалить элементы из 1 массива, которые содержатся во 2 массиве. Как я понимаю, необходимо создать доп.массив и записывать в него элементы 1 массива, не встречающиеся во 2-ом. Проблема с выводом этого самого доп.массива Вот код #include <iostream> #include <windows.h> #include <fstream> using namespace std ; const unsigned... подробнее

Показать сообщение отдельно
katsidelin
 Аватар для katsidelin
60 / 21 / 2
Регистрация: 15.11.2013
Сообщений: 112
Записей в блоге: 3
08.12.2013, 04:08     Удалить элементы из массива
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
92
93
94
95
96
97
98
99
100
101
102
 // [url]http://www.cyberforum.ru/cpp-beginners/thread1031918.html[/url]
 
#include <iostream>
 
using namespace std;
 
// **********************************
 
int main(void);
float fnSrAr(float, const int, int []);
void fn_ShowOldArray(const int, int []);
float fn_FindMax(int, int [], float, int&);
 
// **********************************
 
int main(void)
{
    const int ASize = 6;  // Длина массива.
    int A[ASize] = {8,1,6,9,4,5}; // Исходный массив.
    int *B = new int;   // Результат.
    int szCount=0;  // Счётчик числа элементов нового массива.
 
    float SrAr = 0.0;   // Переменная для среднеарифметического значения в старом массиве.
    float OldMax = 0.0; // Переменная для поиска максимального значения в старом массиве.
    int nMax = 0;       // Номер максимального элемента в старом массиве.
 
    cout << "Старый массив: ";
    fn_ShowOldArray(ASize, A);
    cout << endl;
 
    SrAr = fnSrAr(SrAr, ASize, A);
    cout << "Средняя арифметическая старого массива = " << SrAr << endl;   // Для отладки.
 
    OldMax = fn_FindMax(ASize, A, OldMax, nMax);
    cout << "Максимальное значение старого массива = " << OldMax << endl;
    cout << "Номер в массиве - " << nMax << endl;
 
    cout << "Новый массив: ";
    for ( int x = 0; x < ASize; x++)
    {
        if (x<nMax)     // До максимального значения.
        {
 //           cout << "до максимального элемента "; // для отладки.
            B[szCount] = A[x];
            cout << B[szCount] << ' '; // Выводим на экран новый массив.
            szCount++;
        }
        else if ( A[x] > SrAr )
        {
 //           cout << "после максимального элемента "; // для отладки.
            B[szCount] = A[x];  // Надо сравнить со среднеарифметическим число из старого массива.
 
            cout << B[szCount] << ' '; // Выводим на экран новый массив.
 
            szCount++;  // Приращаем значение индекса искомого массива.
        };
    };
    cout << endl;
 
    return 0;
}
 
// **********************************
 
float fnSrAr(float SrAr, const int ASize, int A[])
{
    for (int x = 0; x <= (ASize-1); x++)
    {
        SrAr += A[x];
//        cout << "fnSrAr(): SrAr = " << SrAr << endl;    // Для отладки.
    };
    SrAr /= ASize;
 
    return SrAr;
}
 
// **********************************
 
void fn_ShowOldArray(const int ASize, int A[])
{
    for ( int x = 0; x <= (ASize - 1); x++ )
    {
        cout << A[x] << ' ';
    }
}
 
// **********************************
 
float fn_FindMax(int szA, int A[], float Max, int &n)
{
    for (int x = 0; x <= (szA - 1); x++)
    {
        if ( A[x] > Max )
        {
            Max = A[x]; // поиск максимального значения.
            n=x; // номер максимального элемента.
        };
//        cout << "fn_FindMax(): Max = "<< Max << '\t'; // Для отладки.
    };
 
    return Max;
}
Добавлено через 3 минуты
Для наглядности расширил массив:
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
92
93
94
95
96
97
98
99
100
101
102
 // [url]http://www.cyberforum.ru/cpp-beginners/thread1031918.html[/url]
 
#include <iostream>
 
using namespace std;
 
// **********************************
 
int main(void);
float fnSrAr(float, const int, int []);
void fn_ShowOldArray(const int, int []);
float fn_FindMax(int, int [], float, int&);
 
// **********************************
 
int main(void)
{
    const int ASize = 7;  // Длина массива.
    int A[ASize] = {8,1,6,9,4,5,13}; // Исходный массив.
    int *B = new int;   // Результат.
    int szCount=0;  // Счётчик числа элементов нового массива.
 
    float SrAr = 0.0;   // Переменная для среднеарифметического значения в старом массиве.
    float OldMax = 0.0; // Переменная для поиска максимального значения в старом массиве.
    int nMax = 0;       // Номер максимального элемента в старом массиве.
 
    cout << "Старый массив: ";
    fn_ShowOldArray(ASize, A);
    cout << endl;
 
    SrAr = fnSrAr(SrAr, ASize, A);
    cout << "Средняя арифметическая старого массива = " << SrAr << endl;   // Для отладки.
 
    OldMax = fn_FindMax(ASize, A, OldMax, nMax);
    cout << "Максимальное значение старого массива = " << OldMax << endl;
    cout << "Номер в массиве - " << nMax << endl;
 
    cout << "Новый массив: ";
    for ( int x = 0; x < ASize; x++)
    {
        if (x<nMax)     // До максимального значения.
        {
 //           cout << "до максимального элемента "; // для отладки.
            B[szCount] = A[x];
            cout << B[szCount] << ' '; // Выводим на экран новый массив.
            szCount++;
        }
        else if ( A[x] > SrAr )
        {
 //           cout << "после максимального элемента "; // для отладки.
            B[szCount] = A[x];  // Надо сравнить со среднеарифметическим число из старого массива.
 
            cout << B[szCount] << ' '; // Выводим на экран новый массив.
 
            szCount++;  // Приращаем значение индекса искомого массива.
        };
    };
    cout << endl;
 
    return 0;
}
 
// **********************************
 
float fnSrAr(float SrAr, const int ASize, int A[])
{
    for (int x = 0; x <= (ASize-1); x++)
    {
        SrAr += A[x];
//        cout << "fnSrAr(): SrAr = " << SrAr << endl;    // Для отладки.
    };
    SrAr /= ASize;
 
    return SrAr;
}
 
// **********************************
 
void fn_ShowOldArray(const int ASize, int A[])
{
    for ( int x = 0; x <= (ASize - 1); x++ )
    {
        cout << A[x] << ' ';
    }
}
 
// **********************************
 
float fn_FindMax(int szA, int A[], float Max, int &n)
{
    for (int x = 0; x <= (szA - 1); x++)
    {
        if ( A[x] > Max )
        {
            Max = A[x]; // поиск максимального значения.
            n=x; // номер максимального элемента.
        };
//        cout << "fn_FindMax(): Max = "<< Max << '\t'; // Для отладки.
    };
 
    return Max;
}
 
Текущее время: 22:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru