Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
JIioneJI
1 / 1 / 0
Регистрация: 04.01.2013
Сообщений: 121
#1

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

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

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

Добавлено через 34 минуты
Цитата Сообщение от JIioneJI Посмотреть сообщение
Программа должна создать динамический массив из 20 случайных элементов из диапазона [1;9] и вывести его на экран. Далее программа должна скопировать во второй динамический массив только те элементы, которые в первом массиве встретились ровно 2 раза (если такие будут) и вывести второй массив на экран на отдельной строке.
я не прошу делать всю программу, подскажите как выполнить действие что б проверить, что число встретилось 2 раза в массиве.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2013, 23:50
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Динамический массив скопировать числа которые повторились 2 раза (C++):

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

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

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

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

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

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

2
SummerRain
327 / 326 / 17
Регистрация: 16.12.2012
Сообщений: 544
31.03.2013, 23:55 #2
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
Buckstabue
177 / 126 / 6
Регистрация: 12.01.2012
Сообщений: 624
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2013, 23:56
Привет! Вот еще темы с ответами:

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

Найти и вывести все числа, которые присутствуют в векторе более одного раза - C++
// 2) a = // Найти и вывести все числа, которые присутствуют в списке более одного раза. пытался вот как то так) // 2) a = //...

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

В новый динамический массив выписать все элементы массива, которые делятся на заданное число - C++
Помоготи с простенькой задачей: Дан массив произвольных чисел необходимо в новый динамический массив выписать все элементы, которые...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru