fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main() {
  6. int n; // Размер массива
  7. cout << "Введите размер массива: ";
  8. cin >> n;
  9.  
  10. int a[n]; // Исходный массив
  11. cout << "Введите элементы массива a:\n";
  12. for (int i = 0; i < n; i++) {
  13. cin >> a[i];
  14. }
  15.  
  16. int b[n]; // Массив для положительных элементов
  17. int count_positive = 0; // Счетчик положительных элементов
  18. for (int i = 0; i < n; i++) {
  19. if (a[i] > 0) {
  20. b[count_positive] = a[i] / 3;
  21. count_positive++;
  22. }
  23. }
  24.  
  25. // Сортировка массива b методом пузырька
  26. for (int i = 0; i < count_positive - 1; i++) {
  27. for (int j = 0; j < count_positive - i - 1; j++) {
  28. if (b[j] > b[j + 1]) {
  29. swap(b[j], b[j + 1]);
  30. }
  31. }
  32. }
  33.  
  34. // Подсчет одинаковых элементов
  35. int count_equal = 0;
  36. for (int i = 0; i < count_positive - 1; i++) {
  37. if (b[i] == b[i + 1]) {
  38. count_equal++;
  39. }
  40. }
  41.  
  42. // Вывод результата
  43. cout << "Отсортированный массив b:\n";
  44. for (int i = 0; i < count_positive; i++) {
  45. cout << b[i] << " ";
  46. }
  47.  
  48. cout << "\nКоличество одинаковых элементов: " << count_equal + 1; // +1, т.к. первый элемент не сравнивается
  49.  
  50. return 0;
  51. }
  52.  
Success #stdin #stdout 0.01s 5272KB
stdin
6 9 3 12
stdout
Введите размер массива: Введите элементы массива a:
Отсортированный массив b:
1 3 4 7347 10922 534028874 
Количество одинаковых элементов: 1