C/C++
Массив на С++
Дано: массив А(5) и массив В(5). Массив, имеющий наибольшее количество одинаковых элементов преобразовать по правилу: все элементы <0 возвести в квадрат.
#include <iostream>
#include <set>
#include <cmath>
using namespace std;
void show(int* box, const size_t n) {
cout << "Elements: ";
for (size_t i = 0; i < n; ++i) cout << box[i] << ' ';
puts("");
}
void fill(int* box, const size_t n) {
cout << "Input " << n << " elements: ";
for (size_t i = 0; i < n; ++i) cin >> box[i];
}
void change(int* a, const size_t an, int* b, const size_t bn, const int dest, int src) {
set<int> sa;
for (size_t i = 0; i < an; ++i) sa.insert(a[i]);
set<int> sb;
for (size_t i = 0; i < bn; ++i) sb.insert(b[i]);
if (sa.size() < sb.size()) {
for (size_t i = 0; i < an; ++i) if (a[i] < dest) a[i] = pow(a[i], src);
} else {
for (size_t i = 0; i < bn; ++i) if (b[i] < dest) b[i] = pow(b[i], src);
}
}
int main() {
const size_t n = 5;
int a[n];
fill(a, n);
int b[n];
fill(b, n);
puts("--------------");
change(a, n, b, n, 0, 2);
show(a, n);
show(b, n);
}
#include <set>
#include <cmath>
using namespace std;
void show(int* box, const size_t n) {
cout << "Elements: ";
for (size_t i = 0; i < n; ++i) cout << box[i] << ' ';
puts("");
}
void fill(int* box, const size_t n) {
cout << "Input " << n << " elements: ";
for (size_t i = 0; i < n; ++i) cin >> box[i];
}
void change(int* a, const size_t an, int* b, const size_t bn, const int dest, int src) {
set<int> sa;
for (size_t i = 0; i < an; ++i) sa.insert(a[i]);
set<int> sb;
for (size_t i = 0; i < bn; ++i) sb.insert(b[i]);
if (sa.size() < sb.size()) {
for (size_t i = 0; i < an; ++i) if (a[i] < dest) a[i] = pow(a[i], src);
} else {
for (size_t i = 0; i < bn; ++i) if (b[i] < dest) b[i] = pow(b[i], src);
}
}
int main() {
const size_t n = 5;
int a[n];
fill(a, n);
int b[n];
fill(b, n);
puts("--------------");
change(a, n, b, n, 0, 2);
show(a, n);
show(b, n);
}
for(i:=1;i<5;i++) {
if(A[i-1]=A[i]) o1++;
if(B[i-1]=B[i]) o2++;
}
if(o1>o2)
for(i:=1;i<5;i++) if(A[i]<0) A[i]=A[i]^2;
else
for(i:=1;i<5;i++) if(B[i]<0) B[i]=B[i]^2;
как-то по-индийски получилось.. может кто лучше предложит
if(A[i-1]=A[i]) o1++;
if(B[i-1]=B[i]) o2++;
}
if(o1>o2)
for(i:=1;i<5;i++) if(A[i]<0) A[i]=A[i]^2;
else
for(i:=1;i<5;i++) if(B[i]<0) B[i]=B[i]^2;
как-то по-индийски получилось.. может кто лучше предложит
Похожие вопросы
- Заменить нулями элементы массива, которые расположены между первым минимальным и последним максимальным элементами масси
- Нужна помощь в составлении одномерных массивов С++
- Кольцевой сдвиг массива
- Помогите исправить и дописать программу с массивами на языке C++. Буду благодарен, т. к. самому уже не понятно.
- Помогите пожалуйста с Массивами .В языке С .Заполнил 2-мерный массив N и M случайными числами дальше не понимаю.
- Устройство статических и динамических массивов в оперативной памяти (...)
- Помогите пожалуйста - создать 4 массива на c++
- Помощь с Массивами C++
- Создать одномерный массив, состоящий из n вещественных элементов. Элементы массива определить при помощи случайных чисел
- Двумерный динамический массив с неизвестны количеством столбиков или строк