Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/35: Рейтинг темы: голосов - 35, средняя оценка - 4.57
8 / 8 / 3
Регистрация: 22.09.2012
Сообщений: 179
1

Разделить все элементы массива на его первый элемент

13.11.2012, 16:10. Показов 6335. Ответов 7
Метки нет (Все метки)

Задание. Сделать это задание:
Дан массив целых чисел. а) Разделить все элементы массива на его первый элемент; б) увеличить все элементы массива в два раза; в) уменьшить элементы массива на число A.
Но нужно сделать массив динамический и чтобы заполнять его можно было случайно и вручную, т.е. нужно swith сделать.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2012, 16:10
Ответы с готовыми решениями:

Максимальные элементы массива разделить на его первый элемент
Здравствуй, дорогой посетитель данной темы. Друзья и недруги, нужна помощь с заданием! Чёт не...

Разделить все элементы одномерного массива с четными номерами на первый элемент
разделить все элементы одномерного массива с четными номерами на первый элемент (первый элемент...

Разделить все элементы массива на его максимальный элемент
Ребят, помогите пожалуйста.:boredom: 1.разделить все элементы массива на максимальный элемент...

Разделить все отрицательные элементы массива на его максимальный элемент
Помогите решить задачу?пожалуйста. В массиве из 10 чисел поделить все отрицательные элементы на...

7
Модератор
3332 / 2116 / 343
Регистрация: 13.01.2012
Сообщений: 8,244
13.11.2012, 16:22 2
Цитата Сообщение от Evgeniy_Fox Посмотреть сообщение
Задание. Сделать это задание
не подумайте что я мозгокрут, но что вы уже сделали?
1
8 / 8 / 3
Регистрация: 22.09.2012
Сообщений: 179
13.11.2012, 18:33  [ТС] 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
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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
// Lab2(19).cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <clocale>
#include <ctime>
 
using namespace std;
 
int *arr = NULL;    //объявление массива
int arn = 0;    //кол-во элементов массива
 
int enterMenu();
 
int menu()  //главное меню
{
    int k = 0, l = 0;   //номер пункта меню
    for(;;){
        cout << "1.Ввод элементов массива" << endl;
        cout << "2.Обработка массива" << endl;
        cout << "3.Вывод массива на экран" << endl;
        cout << "4.Удалить массив" << endl;
        cout << "5.Выход" << endl;
        k = enterMenu();
        if (k>0 && k<6)
            break;
        else
            cout << "Неверный номер пункта, повторите ввод" << endl;
    }
    switch (k){
        case 1: //Заполнение массива
            for(;;){
                cout << "Выберите способ заполнения" << endl;
                cout << "1.Автоматическое заполнение" << endl;
                cout << "2.Ручное заполнение" << endl;
                l = enterMenu();
                if (l>0 && l<3)
                    break;
                else
                    cout << "Неверный номер пункта, повторите ввод" << endl;
            }
            switch (l)
            {
            case 1: //Автоматическое заполнение
                return 11;
            case 2: //Ручное заполнение
                return 12;
            default:
                break;
            }
        case 2: //Операции над массивом
            if (arr)    //если массив определен
            {
                for(;;){
                    cout << "1.среднее арифметическое всех положительных элементов" << endl;
                    cout << "2.сумму элементов, расположенных до максимального элемента" << endl;
                    l = enterMenu();
                    if (l>0 && l<3)
                        break;
                    else
                        cout << "Неверный номер пункта, повторите ввод" << endl;
                }
                switch (l)
                {
                case 1:
                    return 21;
                case 2:
                    return 22;
                default:
                    break;
                }
            }
            else
            {
                cout << "Для обработки массива, заполниете его!" << endl;
                break;
            }
        case 3:
            if (arr)    //если массив определен
                return 3;
            else
            {
                cout << "Массив не определен" << endl;
                break;
            }
        case 4:
            if (arr)
                return 4;
            else
            {
                cout << "Массив не определен" << endl;
                break;
            }
 
        case 5:
            return 5;
    }
    return 0;
}
 
int enterMenu() //Выбор номера пункта меню
{
    int s = 0;
    do {
        cout << "Введите номер пункта: ";
        cin.clear();    //сброс битов ошибок входного стандартного потока
        cin.sync(); //очищение буфера стандартного ввода
        cin >> s;
    } while( cin.fail() );  //проверка на ошибку предыдущего ввода со стандартного потока
    return s;
}
 
int enterSize() //Размер массива
{
    int n = 0;
    do {
        cout << "Введите размер массива: ";
        cin.clear();    //сброс битов ошибок входного стандартного потока
        cin.sync(); //очищение буфера стандартного ввода
        cin >> n;
    } while( (n < 1) || (  cin.fail() ) );  //проверка на ошибку предыдущего ввода со стандартного потока
    return n;
}
 
void handFill() //ручное заполнение массива
{
    if (arr)    //если массив определен
        delete [] arr;  //удаление динамически выделенного массива
    arr = NULL;
    arn = enterSize();  //размер массива
    arr = new int[arn]; //динамическое выделение массива
    for (int i = 0; i < arn; i++)   //заполнение элементов массива
    {
        cout << "Введите элемент массива [" << i << "]: ";
        cin >> arr[i];  //ввод i элемента массива
    }
}
void autoFill() //автоматическое заполнение массива
{
    if (arr)
        delete [] arr;
    arr = NULL;
    arn = enterSize();
    arr = new int[arn];
    srand(time(0));
    for (int i = 0; i < arn; i++)
    {
        arr[i] = rand()%101 - 50;   //заполнение псевдослучайными числами от -50 до 50
    }
}
 
void show() //вывод массива на экран
{
    for (int i = 0; i < arn; i++)
        cout << arr[i] << ' ';
    cout << endl;
}
 
 
 
 
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    
    for (;;)
    {
        int num = menu();   //пункт меню
        if (num == 11)
            autoFill();
        else if (num == 12)
            handFill();
        else if (num == 21)
            printMid();
        else if (num == 22)
            printSum();
        else if (num == 3)
            show();
        else if (num == 4)
            delArr();
        else if (num == 5){
            cout << "Завершение программы" << endl;
            return 0;
        }
    }
    return 0;
}
0
Модератор
3332 / 2116 / 343
Регистрация: 13.01.2012
Сообщений: 8,244
14.11.2012, 10:37 4
Цитата Сообщение от Evgeniy_Fox Посмотреть сообщение
Вот
термоядерная штука. без стеба. и чем помочь то? вон сколько понаписано - не работает что ли?
1
8 / 8 / 3
Регистрация: 22.09.2012
Сообщений: 179
14.11.2012, 13:38  [ТС] 5
Саму программу не могу сделать, понять не могу, как сделать вот это:
а) Разделить все элементы массива на его первый элемент;
б) увеличить все элементы массива в два раза;
в) уменьшить элементы массива на число A.
0
Модератор
3332 / 2116 / 343
Регистрация: 13.01.2012
Сообщений: 8,244
14.11.2012, 13:54 6
1
C++
1
2
3
for (int i = 1; i < arn; i++)
    arr[i] /= arr[0];
arr[0] = 1;
2
C++
1
2
for (int i = 0; i < arn; i++)
    arr[i] *= 2;
3
C++
1
2
for (int i = 0; i < arn; i++)
    arr[i] -= A;
Добавлено через 47 секунд
...для человека реализовавшего такой суровый интерфейс странно испытывать проблемы с 1, 2, 3...
2
8 / 8 / 3
Регистрация: 22.09.2012
Сообщений: 179
15.11.2012, 12:42  [ТС] 7
vxg, спасибо большое! Очень помог!
1
0 / 0 / 0
Регистрация: 07.11.2019
Сообщений: 7
12.12.2019, 22:45 8
Цитата Сообщение от vxg Посмотреть сообщение
1
C++
1
2
3
for (int i = 1; i < arn; i++)
    arr[i] /= arr[0];
arr[0] = 1;
2
C++
1
2
for (int i = 0; i < arn; i++)
    arr[i] *= 2;
3
C++
1
2
for (int i = 0; i < arn; i++)
    arr[i] -= A;
Добавлено через 47 секунд
...для человека реализовавшего такой суровый интерфейс странно испытывать проблемы с 1, 2, 3...
как это вот закинуть на https://repl.it/
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.12.2019, 22:45

Разделить все положительные элементы массива на его макс. или мин. элемент
Здравствуйте, написал программу однако не могу исправить ошибку в деление элементов, буду...

Разделить элементы массива на первый элемент
дан массив.все его элементы разделить на первый элемент

Разделить все элементы массива с четными номерами на первый элемент (первый элемент отличен от 0)
Разделить все элементы массива с четными номерами на первый элемент (первый элемент отличен от 0).

Дан массив. Все его элементы разделить на первый элемент
Дан массив. Все его элементы разделить на первый элемент


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

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

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