Форум программистов, компьютерный форум CyberForum.ru

Переписать уникальные числа одного массива в другой - C++

Восстановить пароль Регистрация
 
Евгений_студент
0 / 0 / 0
Регистрация: 25.12.2015
Сообщений: 14
13.05.2016, 17:22     Переписать уникальные числа одного массива в другой #1
Дан массив С ( двухмерный массив [n][n]) с размером, который задаёт пользователь. Написать программу которая в новый массив А записывает те числа, которые встречаются в массиве С всего один раз. Выручит кто-то?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2016, 17:22     Переписать уникальные числа одного массива в другой
Посмотрите здесь:

C++ Переписать все простые числа из заданного массива в другой массив
C++ Числа из одного файла переписать в другой
C++ Переписать элементы с массива с одного в другой
Переписать из одного массива в другой C++
C++ Из одного массива переписать отрицательные элементы в другой массив и упорядочить их по возрастанию
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,175
Завершенные тесты: 1
13.05.2016, 17:48     Переписать уникальные числа одного массива в другой #2
Образец
Образцы (шаблоны) программ для типовых задач
В нем заменить функцию
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//
// пример обработки матрицы -  записывает в Sum числа, которые встречаются в массивеM  всего один раз
// Массив Sum одномерный длиной n*m. Функция возвращает количество найденных чисел.
//
int Process( int ** M,int *Sum, size_t n, size_t m ) {
    int k=0;
    for ( size_t i = 0; i < n; ++i )
       for ( size_t j = 0; j < m; ++j )
       {
            bool notfount=true;
            for ( size_t i2 = 0; i2 < n; ++i2 )
              for ( size_t j2 = 0; j2 < m; ++j2 )
                 if(i!=i2 && j!=j2 && M[i][j]==M[i2][j2])
                 {
                       notfount=false;
                       break;
                 }
            if(notfound)
               Sum[k++]= M[i][j];
        }
   return k;
}
Евгений_студент
0 / 0 / 0
Регистрация: 25.12.2015
Сообщений: 14
13.05.2016, 17:59  [ТС]     Переписать уникальные числа одного массива в другой #3
В массив А записывает какие-то непонятные большие числа(
C++ (Qt)
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
#include "stdlib.h"
#include<iostream>
 
using namespace std;
 
#include <conio.h>
 
 
void Process( int ** C,int *A, size_t n ) {
    int k=0;
    bool notfound;
    for ( size_t i = 0; i < n; ++i )
       for ( size_t j = 0; j < n; ++j )
       {
            bool notfount=true;
            for ( size_t i2 = 0; i2 < n; ++i2 )
              for ( size_t j2 = 0; j2 < n; ++j2 )
                 if(i!=i2 && j!=j2 && C[i][j]==C[i2][j2])
                 {
                       notfound=false;
                       break;
                 }
            if(notfound)
               A[k++]= C[i][j];
        }
}
 
int main()
{
    int n;
    cout<<"Vvedite razmer massiva: ";
   cin >> n;
   int **C; 
   C = new int *[n]; 
   for(int i = 0; i<n; i++){
      C[i] = new int[n];
      for(int j = 0; j<n; j++)
         C[i][j] = rand()%10;
   }
   cout << "Result:\n";
   for(int i = 0; i<n; i++){
      for(int j = 0; j<n; j++)
         cout << '\t' << C[i][j];
      cout << endl;   
   }
   
   int *A;
   A = new int [n];
   
   Process(C,A,n);
        
    for(int i = 0; i<n; i++)
    {
    cout<<A[i]<<" ";    
    }
   for(int i = 0; i < n; i++)
      delete [] C[i];
   delete [] C;
   delete [] A;
   return 0;
 
    
}
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,175
Завершенные тесты: 1
13.05.2016, 18:38     Переписать уникальные числа одного массива в другой #4
C++
1
2
3
4
5
6
7
8
9
10
11
 int Processs(
...
     return k;
}
int main()
{
....
   int  NN2=Process(C,A,n);
        
    for(int i = 0; i<NN2; i++)
...
Fixer_84
230 / 120 / 69
Регистрация: 30.04.2016
Сообщений: 323
14.05.2016, 21:11     Переписать уникальные числа одного массива в другой #5
Евгений_студент, я бы сделал так. Смотрите ниже.

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
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
const int N = 5;
int A[N][N], B[N*N], k, p;
cout << "Введите матрицу:" << endl;
p = 0;
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
cin >> A[i][j];
B[p] = A[i][j];
p++;
}
}
cout << "Уникальные элементы матрицы:" << endl;
for (int i = 0; i < p; i++)
{
k = 0;
for (int j = 0; j < p; j++)
{
if (B[i] == B[j]) k++;
}
if (k == 1)
{
cout << B[i] << " ";
}
}
cout << endl;
system("pause");
return 0;   
}
Yandex
Объявления
14.05.2016, 21:11     Переписать уникальные числа одного массива в другой
Ответ Создать тему
Опции темы

Текущее время: 22:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru