Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
1 / 1 / 0
Регистрация: 04.01.2013
Сообщений: 121
1

Динамический массив скопировать числа которые повторились 2 раза

31.03.2013, 23:50. Показов 2197. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Программа должна создать динамический массив из 20 случайных элементов из диапазона [1;9] и вывести его на экран. Далее программа должна скопировать во второй динамический массив только те элементы, которые в первом массиве встретились ровно 2 раза (если такие будут) и вывести второй массив на экран на отдельной строке.

Добавлено через 34 минуты
Цитата Сообщение от JIioneJI Посмотреть сообщение
Программа должна создать динамический массив из 20 случайных элементов из диапазона [1;9] и вывести его на экран. Далее программа должна скопировать во второй динамический массив только те элементы, которые в первом массиве встретились ровно 2 раза (если такие будут) и вывести второй массив на экран на отдельной строке.
я не прошу делать всю программу, подскажите как выполнить действие что б проверить, что число встретилось 2 раза в массиве.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2013, 23:50
Ответы с готовыми решениями:

Динамический многомерный массив. Нахождение макс. числа, которое в массиве встречаеться более 1 раза.
День добрый! Повился вопрос, как лучше сделать... Отсортировать массив по возрастанию и потом...

Выделить в другой массив все числа, которые встречаются более одного раза в исходном
Всем привет.Помогите пожалуйста,очень надо,выручите,буду очень благодарен. Заполнить массив...

Скопировать элементы, которые встретились в массиве ровно два раза
Знает кто-то, как решается задача на С++, при помощи одномерного динамичекого массива? Программа...

Одномерный массив А суммируется из 30 элементов. Найти и напечатать числа, которые встречаются в массиве более одного раза
Помогите. Одномерный массив А суммируется из 30 элементов. Найти и напечатать числа, которые...

2
328 / 327 / 92
Регистрация: 16.12.2012
Сообщений: 544
31.03.2013, 23:55 2
Лучший ответ Сообщение было отмечено JIioneJI как решение

Решение

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
#include <iostream>
#include <stdlib.h>
#include <algorithm>
#include <time.h>
using namespace std;
void main()
{ 
    srand((unsigned) time(NULL)); 
    int *pt=new int[20];
    int count = 0;
    for(int i=0; i<20; i++)
    {
        pt[i]=rand()%9+1;
    }
    for(int i=0; i<20; i++)
    {
        cout<<pt[i]<<" ";
    }
    sort(pt, pt + 20);
    cout<<endl;
    for(int i=0; i<20; i++) // вывод отсортированного массива
    {
        cout<<pt[i]<<" ";
    }
    if (pt[0] == pt[1] && pt[1] != pt[2])
        count++;
    for(int i=1; i<18; i++)
    {
        if (pt[i] == pt[i+1] && pt[i] != pt[i+2] && pt[i] != pt[i-1])
            count++;
    }
    if (pt[19] == pt[18] && pt[18] != pt[17])
        count++;
    cout<<endl;
    //cout<<count<<endl;
    int* pt2 = new int[count];
    int k = 0;
    if (pt[0] == pt[1] && pt[1] != pt[2]) {
            pt2[k] = pt[0];
            ++k;
    }
    for(int i=1; i<18; i++)
    {
        if (pt[i] == pt[i+1] && pt[i] != pt[i+2] && pt[i] != pt[i-1]) {
            pt2[k] = pt[i];
            ++k;
        }
    }
    if (pt[19] == pt[18] && pt[18] != pt[17])
            pt2[k] = pt[19];
    for(int i=0; i<count; i++)
    {
        cout<<pt2[i]<<" ";
    }
    system("PAUSE");
}
1
179 / 127 / 25
Регистрация: 12.01.2012
Сообщений: 623
31.03.2013, 23:56 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
#include <iostream>
#include <cstdlib>
#include <ctime>
 
bool hasElement(int *arr, const int N, int element);
void printArray(int *arr, const int N);
 
int main()
{
 
   const int reqCount = 2; // required count
   const int ARR_SIZE = 20;
   int *arr1 = new int[ARR_SIZE];
   int *arr2 = new int[ARR_SIZE];
   int arr2Count = 0;
 
   srand(time(NULL));
 
   for (int i = 0; i < ARR_SIZE; ++i)
      arr1[i] = rand() % 9 + 1;
 
   std::cout << "arr1:" << std::endl;
   printArray(arr1, ARR_SIZE);
 
   arr2Count = 0;
   for (int i = 0; i < ARR_SIZE - 1; ++i)
   {
      int count = 0;
 
      for (int j = 0; j < ARR_SIZE; ++j)
      {
         if (arr1[i] == arr1[j])
            ++count;
      }
      if (count == reqCount && !hasElement(arr2, arr2Count, arr1[i]))
      {
         arr2[arr2Count] = arr1[i];
         ++arr2Count;
      }
   }
 
   std::cout << "arr2:" << std::endl;
   printArray(arr2, arr2Count);
 
   delete[] arr1;
   delete[] arr2;
 
   return 0;
}
 
void printArray(int *arr, const int N)
{
   for (int i = 0; i < N; ++i)
      std::cout << arr[i] << ' ';
   std::cout << std::endl;
}
 
bool hasElement(int *arr, const int N, int element)
{
   // проверяет, есть ли элемент element в массиве arr из N элементов
   for (int i = 0; i < N; ++i)
   {
      if (arr[i] == element)
         return true;
   }
 
   return false;
}
1
31.03.2013, 23:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2013, 23:56
Помогаю со студенческими работами здесь

Скопировать динамический массив в другой массив только с положительными элементами из первого
Пользователь вводит размер массива и сам массив. Программа копирует в другой массив только...

Скопировать один динамический массив в другой
Доброго времени суток. int *Array = new int; int *B_Array = new int; Первый массив я наполняю...

Увеличить в два раза все числа в тех строках матрицы, которые содержат только положительные числа
Дана прямоугольная матрица вещественных чисел размером N*M (N,M- вводим с клавиатуры). Требуется...

Создать динамический массив нужного размера и скопировать в него все положительные элементы из первых двух массивов
Решить задачи через Указатели... 1. Программа должна создать два массива со случайными...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru