C/C++
Задание на массив, С++
Дано: массив А(5) и массив В(5). Массив, имеющий наибольшее количество различных элементов преобразовать по правилу: все четные элементы разделить на 2.
// при автоматическом заполнении массивов
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
const int n = 5;
float A[n],B[n]; // при делении лучше использовать действительне числа, чем целые
srand(time(nullptr));
rand();
int countra = 0, countrb = 0;
bool povtor;
for(int x = 0; x < n; x++)
{
A[x] = rand() % 21; // вводится целое число, чтобы удонее определять чётность
cout << A[x] << ' ';
povtor = false;
for(int y = 0; y < x; y++)
{
if(A[x] == A[y])
{
povtor = true;
break;
}
}
if(!povtor) countra++;
}
cout << endl << endl;
for(int x = 0; x < n; x++)
{
B[x] = rand() % 21;
cout << B[x] << ' ';
povtor = false;
for(int y = 0; y < x; y++)
{
if(B[x] == B[y])
{
povtor = true;
break;
}
}
if(!povtor) countrb++;
}
cout << endl << endl;
if(countra > countrb)
{
for(int x = 0; x < n; x++)
{
if(static_cast<int>(A[x]) == A[x]) // если целое число
if(static_cast<int>(A[x]) % 2 == 0) A[x] /= 2.0;
cout << A[x] << ' ';
}
cout << endl;
}
else if(countrb > countra)
{
for(int x = 0; x < n; x++)
{
if(static_cast<int>(B[x]) == B[x]) // если целое число
if(static_cast<int>(B[x]) % 2 == 0) B[x] /= 2.0;
cout << B[x] << ' ';
}
cout << endl;
}
else
{
cout << "Одинаковое количество различных элементов." << endl;
}
return 0;
}
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
const int n = 5;
float A[n],B[n]; // при делении лучше использовать действительне числа, чем целые
srand(time(nullptr));
rand();
int countra = 0, countrb = 0;
bool povtor;
for(int x = 0; x < n; x++)
{
A[x] = rand() % 21; // вводится целое число, чтобы удонее определять чётность
cout << A[x] << ' ';
povtor = false;
for(int y = 0; y < x; y++)
{
if(A[x] == A[y])
{
povtor = true;
break;
}
}
if(!povtor) countra++;
}
cout << endl << endl;
for(int x = 0; x < n; x++)
{
B[x] = rand() % 21;
cout << B[x] << ' ';
povtor = false;
for(int y = 0; y < x; y++)
{
if(B[x] == B[y])
{
povtor = true;
break;
}
}
if(!povtor) countrb++;
}
cout << endl << endl;
if(countra > countrb)
{
for(int x = 0; x < n; x++)
{
if(static_cast<int>(A[x]) == A[x]) // если целое число
if(static_cast<int>(A[x]) % 2 == 0) A[x] /= 2.0;
cout << A[x] << ' ';
}
cout << endl;
}
else if(countrb > countra)
{
for(int x = 0; x < n; x++)
{
if(static_cast<int>(B[x]) == B[x]) // если целое число
if(static_cast<int>(B[x]) % 2 == 0) B[x] /= 2.0;
cout << B[x] << ' ';
}
cout << endl;
}
else
{
cout << "Одинаковое количество различных элементов." << endl;
}
return 0;
}
Похожие вопросы
- Программа не выполняет условия задания, исходный массив меняет сам себя, помогите найти ошибку
- Задание с массивом
- Решить задания с массивами и циклами
- Задание массивы c++
- Задание массива в С++ с переменным количеством элементов
- КОНТРОЛЬНЫЕ ЗАДАНИЯ ПО СОРТИРОВКЕ МАССИВОВ
- Заменить нулями элементы массива, которые расположены между первым минимальным и последним максимальным элементами масси
- Помогите исправить и дописать программу с массивами на языке C++. Буду благодарен, т. к. самому уже не понятно.
- Нужна помощь в составлении одномерных массивов С++
- Кольцевой сдвиг массива
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
const int n = 5;
float A[n],B[n]; // при делении лучше использовать действительне числа, чем целые
srand(time(nullptr));
rand();
int countra = 0, countrb = 0;
bool povtor;
for(int x = 0; x < n; x++)
{
cout << "A["<<x<<"] = ";
cin >> A[x];
povtor = false;
for(int y = 0; y < x; y++)
{
if(A[x] == A[y])
{
povtor = true;
break;
}
}
if(!povtor) countra++;
}