Дан массив. Выведите те его элементы, которые встречаются в массиве только один раз. Элементы нужно выводить в том порядке, в котором они встречаются в списке.
#include
#include
#include
using namespace std;
int main() { int n; cin >> n;
vector a(n); int k = 0;
for (int i = 0; i < n; i++) cin >> a[i];
for (int i = 0; i < n; i++)
for (int j = 0; j < n; i++) {
if (i != j and a[i] == a[j]) k++;}
cout << k;
return 0;}
Другие языки программирования и технологии
Дан массив. Выведите те его элементы, которые встречаются в массиве только один раз. В чем ошибка?
for (int i = 0; i < n; ++j) {
int j;
for (j = 0; j < n; ++j) { if (i != j && a[i] == a[j]) { break; } }
if (j >= n) { cout << a[i] << '\n'; }
}
int j;
for (j = 0; j < n; ++j) { if (i != j && a[i] == a[j]) { break; } }
if (j >= n) { cout << a[i] << '\n'; }
}
1. Поиск элементов, кои только 1 раз входят в состав массива
#include <iostream>
#include <windows.h>
#include <cstdlib>
#include <ctime>
#include <algorithm>
#include <vector>
#include <map>
#include <set>
#include <string>
using namespace std;
void show(const vector<int> &);
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
srand(time(0u));
system("color 0A");
auto gen = []()
{
return rand() % 11;
};
cout << "Введите длину массива ";
size_t n;
cin >> n;
vector<int> arr(n);
generate(arr.begin(), arr.end(), gen);
cout << "Содержание исходного массива" << endl;
show(arr);
map<int, size_t> mp;
set<int> st;
for (const auto &t : arr)
{
st.insert(t);
}
for (const auto &t : st)
{
mp.insert(make_pair(t, 0u));
}
for (const auto &t : arr)
{
++mp[t];
}
cout << "Список чисел, которые встречаются в массиве только 1 раз" << endl;
for (const auto &t : mp)
{
cout << (t.second == 1? to_string(t.first) + " " : "");
}
cout << endl;
system("pause");
return 0;
}
void show(const vector<int> &a)
{
for (const auto &t : a)
{
cout << t << " ";
}
cout << endl;
}
2. Подсчёт пар в массиве, элементы которых равны
#include <iostream>
#include <windows.h>
#include <cstdlib>
#include <ctime>
#include <algorithm>
#include <vector>
#include <map>
#include <set>
#include <string>
using namespace std;
void show(const vector<int> &);
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
srand(time(0u));
system("color 0A");
auto gen = []()
{
return rand() % 11;
};
cout << "Введите длину массива ";
size_t n;
cin >> n;
vector<int> arr(n);
generate(arr.begin(), arr.end(), gen);
cout << "Содержание исходного массива" << endl;
show(arr);
int old = 0;
bool flag = false;
size_t sum = 0;
for (const auto &t : arr)
{
if (flag && t == old)
{
++sum;
}
old = t;
flag = true;
}
cout << "В массиве пар элементов, равных друг другу содержится "
<< sum << " штук" << endl;
system("pause");
return 0;
}
void show(const vector<int> &a)
{
for (const auto &t : a)
{
cout << t << " ";
}
cout << endl;
}


#include <iostream>
#include <windows.h>
#include <cstdlib>
#include <ctime>
#include <algorithm>
#include <vector>
#include <map>
#include <set>
#include <string>
using namespace std;
void show(const vector<int> &);
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
srand(time(0u));
system("color 0A");
auto gen = []()
{
return rand() % 11;
};
cout << "Введите длину массива ";
size_t n;
cin >> n;
vector<int> arr(n);
generate(arr.begin(), arr.end(), gen);
cout << "Содержание исходного массива" << endl;
show(arr);
map<int, size_t> mp;
set<int> st;
for (const auto &t : arr)
{
st.insert(t);
}
for (const auto &t : st)
{
mp.insert(make_pair(t, 0u));
}
for (const auto &t : arr)
{
++mp[t];
}
cout << "Список чисел, которые встречаются в массиве только 1 раз" << endl;
for (const auto &t : mp)
{
cout << (t.second == 1? to_string(t.first) + " " : "");
}
cout << endl;
system("pause");
return 0;
}
void show(const vector<int> &a)
{
for (const auto &t : a)
{
cout << t << " ";
}
cout << endl;
}
2. Подсчёт пар в массиве, элементы которых равны
#include <iostream>
#include <windows.h>
#include <cstdlib>
#include <ctime>
#include <algorithm>
#include <vector>
#include <map>
#include <set>
#include <string>
using namespace std;
void show(const vector<int> &);
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
srand(time(0u));
system("color 0A");
auto gen = []()
{
return rand() % 11;
};
cout << "Введите длину массива ";
size_t n;
cin >> n;
vector<int> arr(n);
generate(arr.begin(), arr.end(), gen);
cout << "Содержание исходного массива" << endl;
show(arr);
int old = 0;
bool flag = false;
size_t sum = 0;
for (const auto &t : arr)
{
if (flag && t == old)
{
++sum;
}
old = t;
flag = true;
}
cout << "В массиве пар элементов, равных друг другу содержится "
<< sum << " штук" << endl;
system("pause");
return 0;
}
void show(const vector<int> &a)
{
for (const auto &t : a)
{
cout << t << " ";
}
cout << endl;
}


если уже ни в какую не думается: (ВНИМАНИЕ УСТНОЕ РЕШЕНИЕ ЗАДАЧИ) берем число массива и сравниваем со всеми числами и смотрим совпадения, совпадение будет как минимум 1, поэтому от числа совпадений отнимаем 1, соответсвенно получается либо 0, либо больше, если = 0 - выводим (надеюсь понятно объяснил)
#include <iostream>
#include <vector>
using namespace std;
int main() {
int k,n;
k=0;
cin>>n;
vector <int> a(n);
for (int i = 0;i<n;i++){
cin>>a[i];
}
for (int i = 0;i<n;i++){
for(int q = 0;q<n;q++){
if (a[i]==a[q]){
k++;
}
}
if (k-1 == 0){
cout<<a[i]<<" ";
}
k = 0;
}
}
#include <iostream>
#include <vector>
using namespace std;
int main() {
int k,n;
k=0;
cin>>n;
vector <int> a(n);
for (int i = 0;i<n;i++){
cin>>a[i];
}
for (int i = 0;i<n;i++){
for(int q = 0;q<n;q++){
if (a[i]==a[q]){
k++;
}
}
if (k-1 == 0){
cout<<a[i]<<" ";
}
k = 0;
}
}
Похожие вопросы
- Pascal . Дан массив вещественных чисел. Найти сумму элементов, номера которых являются простыми числами
- Дан массив размера N. Вывести все двузначные элементы массива и их номера. ПОМОГИТЕ pascal ХЕЛП
- C# Дан массив размера N. Найти 2 элемента массива, сумма которых наиболее близка к максимуму массива и поменять
- Дан массив N<100 целых чисел. Упорядочить элементы по убыванию и вывести те элементы, которые остались на своих места
- дан массив целых чисел F1,F2...Fn. распечатать элементы, нах-ся между min и max и их номера. подскажите где я ошибся
- Дан массив L1,..,L20. Заменить элементы, стоящие после Lmin, на среднее арифметическое всего ряда.
- Паскаль.Элементарно,но чё то никак( дан массив.все его элементы разделить на первый элемент.и вывести на экран
- Даны два массива A и B размера N, элементы которых упорядочены по убыванию. Объединить эти массивы так, чтобы результ
- pascal одномерные массивы. дан массив А(30).
- Дан массив размера 10. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максима