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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Builder Смоделировать работу алгоритма FCFS http://www.cyberforum.ru/cpp-beginners/thread535066.html
Смоделировать работу алгоритма FCFS Средняя длинна заявки R=10 Количество процессоров P=2 собственно вот. Логика моя была такая - есть класс процессоров, для них есть два пункта - состояние (сколько тактов еще будет обрабатываться текущий процесс) и, собсвенно номер текущего процесса. В цикле проверяем сначала занятость процессора, если он не занят то ищем свободный процесс. Процессы...
C++ Счастливый билет (сумма первых трех цифр равна сумме последних трех) Всем привет ! Нужно Подсчитать количество счастливых билетов, у которых сумма первых трех цифр равна N. Счастливым билетом называется билет с шестизначным номером у которого сумма первых трех цифр равна сумме последних трех. #include <iostream> #include <string> #include <sstream> http://www.cyberforum.ru/cpp-beginners/thread535063.html
C++ В программе создать главное и контекстное меню. Вывести справку о разработчике
Вывести на экран все трехзначные числа, которые начинаются и заканчиваются на одну и ту же цифру;
Error spawnin 'mt.exe', 'rc.exe' C++
Привет Недавно появилась ошибка эта при попытке скомпилировать свою же программу. Программа была рабочей 100%. Сейчас она вылетает даже при поптыке вывести Hello, world. Компилятор VS2008. У кого-то такое было? Пробовал такой вариант: Я понимаю что не хватает mt.exe и rc.exe где-то. Даже представляю где они лежат, но откуда скачать я не знаю.
C++ Как эффективно заменить подстроку в строке на другую подстроку? http://www.cyberforum.ru/cpp-beginners/thread535034.html
И если у подстрок разная длина? есть проверенный готовый способ?
C++ Требуется узнать сколько времени прошло с момента завершения работы приложения Моей программе необходимо при запуске знать, сколько времени прошло с последнего запуска. Есть ли какие-нибудь интересные идеи, кроме как в отдельном потоке записывать пустую информацию в спецфайл и при запуске приложения проверять дату последнего изменения этого файла? подробнее

Показать сообщение отдельно
eji
116 / 116 / 6
Регистрация: 17.09.2010
Сообщений: 288
31.03.2012, 12:20     Удалить из массива целых чисел все нули. Сформировать два новых массива. В первый переписать все элементы данного массива с четными номерами, во второ
Anyuta94,
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
#include <iostream>
#include <windows.h>
 
using namespace std;
 
int *a;
int *b1, *b2;
char *rus;
int chet_count;
int max_b1;
int max_b2;
void set_max(int *b, int &max, int sz);
char *printrus(char *text, char *rus)
{
    try
    {
        rus = new char[255];
    }
    catch(bad_alloc xa)
    {
        exit(1);
    }
    CharToOem(text, rus);
    return rus;
}
 
void init_a(int *&a, int sz)
{
    try
    {
        a = new int[sz];
    }
    catch(bad_alloc xa)
    {
        cout << printrus("Ошибка", rus);
        system("pause");
        exit(1);
    }
    //return *a;
}
 
void create_b(int sz)
{
    int b1_size = chet_count;
    int b2_size = sz - chet_count;
    init_a(b1, b1_size);
    init_a(b2, b2_size);
    int j1 =  0, j2 = 0;
    for(int i = 0; i < sz; i++)
    {
        if(i%2 == 0)
        {
            b1[j1++] = a[i];
        }
        else
        {
            b2[j2++] = a[i];
        }
    }
    cout << "b1------------------------------------\n";
    for(int i = 0; i < b1_size; i++)
    {
        cout << b1[i]
             << "\t";
    }
    cout << "\nb2------------------------------------\n";
    for(int i = 0; i < b2_size; i++)
    {
        cout << b2[i]
             << "\t";
    }
    cout << "\n";
    set_max(b1, max_b1, b1_size);
    set_max(b2, max_b2, b2_size);
    int razn = max_b1 - max_b2;
    cout << printrus("Разница между максимальными элементами созданных массивов: ", rus)
         << max_b1
         << " - "
         << max_b2
         << " = "
         << razn
         << "\n";
}
 
void set_max(int *b, int &max, int sz)
{
    max = b[0];
    for(int i = 0; i < sz; i++)
    {
        if(max < b[i]) max = b[i];
    }
}
 
int remove_zero(int sz, int zero_count)
{
    if(zero_count == 0) return 0;
    int tmp_size = sz - zero_count;
    int tmp[tmp_size];
    int j = 0;
    for(int i = 0; i < sz; i++)
    {
        if(a[i] == 0) continue;
        if(a[i] != 0)
        {
            tmp[j++] = a[i];
        }
    }
    init_a(a, tmp_size);
    for(int i = 0; i < tmp_size; i++)
    {
        a[i] = tmp[i];
        if(i%2 == 0) chet_count++;
    }
    return tmp_size;
}
 
int main()
{
    cout << printrus("Массив", rus)
         << endl;
    chet_count = 0;
    max_b1 = 0;
    max_b2 = 0;
    cout << printrus("Введите размер массива: ", rus);
    int sz;
    cin >> sz;
    init_a(a, sz);
    int zero_count = 0;
    for(int i = 0; i < sz; i++)
    {
        cout << printrus("Введите ", rus)
             << i
             << printrus(" элемент массива: ", rus);
        cin >> a[i];
        if(a[i] == 0) zero_count++;
    }
    sz = remove_zero(sz, zero_count);
    for(int i = 0; i < sz; i++)
    {
        cout << a[i]
             << "\t";
    }
    cout << endl;
    create_b(sz);
    delete [] a;
    delete [] b1;
    delete [] b2;
    delete [] rus;
    system("pause");
    return 0;
}
Миниатюры
Удалить из массива целых чисел все нули. Сформировать два новых массива. В первый переписать все элементы данного массива с четными номерами, во второ  
 
Текущее время: 23:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru