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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Anyuta94
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 11
#1

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

31.03.2012, 10:05. Просмотров 1614. Ответов 2
Метки нет (Все метки)

Удалить из массива целых чисел все нули. Сформировать два новых массива. В первый переписать все элементы данного массива с четными номерами, во втором-с нечетными. Найти разницу между наибольшими значениями полученных массивов. Создать функции для удаления элементов и для определения наибольшего значения в массиве.

Помогите пожалуйста написать программу в с++. Буду очень благодарна
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2012, 10:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удалить из массива целых чисел все нули. Сформировать два новых массива. В первый переписать все элементы данного массива с четными номерами, во второ (C++):

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

Сформировать два массива: в первый включить элементы с четными номерами, а во второй — с нечетными - C++
Задан массив с количеством элементов N. Сформировать два массива: в первый включить элементы исходного массива с четными номерами, а во...

Дан массив F[0:n-1].Сформировать два новых массива: первый содержит элементы, не превышающие заданного числа, а второй - все остальные - C++
Помогите пожалуйста.Нужен полный текст программы, заранее благодарен

Создать два новых массива: в первый перенести все цифры из исходного массива, во второй - все остальные символы - C++
Задан массив из k символов.Создать два новых массива: в первый перенести все цифры из исходного массива, во второй - все остальные символы....

Разделить все элементы одномерного массива с четными номерами на первый элемент - C++
разделить все элементы одномерного массива с четными номерами на первый элемент (первый элемент отличен от 0). Hапишите полный текст...

Удалить из статического массива все элементы с четными номерами, используя функции - C++
1)Преподаватель попросил не забывать, что элементы массива нумеруются с нуля. Поэтому в функции поиска и удаления некошерного элемента...

2
eji
119 / 119 / 6
Регистрация: 17.09.2010
Сообщений: 288
31.03.2012, 12:20 #2
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;
}
1
Миниатюры
Удалить из массива целых чисел все нули. Сформировать два новых массива. В первый переписать все элементы данного массива с четными номерами, во второ  
Anyuta94
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 11
31.03.2012, 20:27  [ТС] #3
огромное спасибо!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2012, 20:27
Привет! Вот еще темы с ответами:

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

Дан файл целых чисел. Удалить из него все элементы с четными номерами. - C++
Помогите. Дан файл целых чисел. Удалить из него все элементы с четными номерами. Помогите сделать хотя бы для вида пусть код даже не...

Сформировать массивы: в первый включить элементы исходного массива с четными номерами, а во второй с нечетными - C++
помогите решить..........Задан массив с количеством элементов N. Сформировать два массива: в первый включить элементы исходного массива с...

Выведите все элементы массива с четными номерами - C++
Дан массив целых чисел. Нумерация элементов начинается с 0. Выведите все элементы массива с четными номерами. Формат входных данных ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru