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

Найти уникальные элементы в массиве - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Составить описания класса для векторов задаваемые координатами концов в трёхмерном пространстве http://www.cyberforum.ru/cpp-beginners/thread978435.html
Люди помогите написать программу, очень нужно!!! Составить описания класса для векторов задаваемые координатами концов в трёхмерном пространстве. Обеспечить операцию сложения, вычитания векторов з получения нового вектора, вычисления скалярного произведения двух векторов, длины вектора, косинуса угля между двух векторов
C++ Найдите ошибку Даны натуральные числа эм и эн. Найти такие натуральные пэ и ку, не имеющие общих делителей, что пэ/ку=эм/эн #include<iostream.h> int main ( ) {int m,n,q,p,c; bool g=true; cout<<"m="; cin>>m; cout<<"n= "; cin>>n; do{ http://www.cyberforum.ru/cpp-beginners/thread978423.html
C++ Создание программы с окнами
Привет такой вопрос.Допустим написал прогу или можно написать не суть важно.А как сделать чтоб она была с окнами,кнопками и.т.д...Ну к примеру типа как 1С.Может сравнение не очень просто я имею ввиду внешний вид....
C++ 1 найти сумму ряда
Нам задали две лабораторные по С++ , с которыми у меня возникли трудности Первая Найти сумму ряда (задание приложено ниже лаб 1) помогите решить их , я учусь не на программиста, по этому изучение С++ на этих лабах закончиться , из за этого не хотелось бы вникать в это. Если не трудно решите эти задания, или хотябы скиньте ссылку на пример решения такого задания с решением о подробным...
C++ Почему ошибки Extra parameter in call http://www.cyberforum.ru/cpp-beginners/thread978382.html
#include<stdio.h> #include<conio.h> #include<math.h> #define pi 3.14159 //Прототип функцій: float Vusota (float hc); float Mediana (float mc); float PivPer (float pc); int main()
C++ 2 изучить работу с массивом Нам задали две лабораторные по С++ , с которыми у меня возникли трудности Вторая состоит из двух частей(задание прилоено ниже в лаб 2) : 1. Составить программу для обработки массива согласно индивидуальному заданию- Вычислить произведение кратных 3 чисел массива 2. Составить программу для обработки массивов согласно индивидуальному заданию-Дан массив Y (15). Сформировать новый массив из... подробнее

Показать сообщение отдельно
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
16.10.2013, 12:20     Найти уникальные элементы в массиве
Надеюсь разберёшься, там всё по отдельным функциям разбито, но без комментов.
вводим х и у - размер массива, далее он заполняется рандомом от 1 до 20, потом вывод его на экран итп, потом переделываем массив b[][] в c[], чтобы проще было реализовать поиск различных символов, потом сам поиск элементов и вывод их, честно говоря я мозг поломал немного))

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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include <iostream>
#include <cstdlib>
#include <time.h>
#include <iomanip>
 
using namespace std;
 
void setab(int sizeX,int** b, int sizeY)
{
    for (int x=0;x<sizeY;x++)
    {
    int* a=new int[sizeX];
        for (int y=0;y<sizeX;y++)
        {
        a[y]=1+rand()%20;
        cout<<setw(3)<<a[y]<<"   ";
        }
    b[x]=a;
    cout<<endl;
    }
}
 
void print(int* b[],int sizeY, int sizeX)
{
    for (int x=0;x<sizeY;x++)
    {
    for (int y=0;y<sizeX;y++)
    cout<<setw(3)<<"b["<<y+1<<"]["<<x+1<<"] = "<<setw(3)<<*(b[x]+y)<<"  ";
    cout<<endl;
    }
}
 
void setC(int* b[],int sizeY, int sizeX,int *c,int sizeB)
{
 
int counter=0;
    for (int x=0;x<sizeY;x++)
    {
        for (int y=0;y<sizeX;y++)
        {
        c[counter]=*(b[x]+y);
        cout<<*(b[x]+y)<<"  ";
        counter++;
        }
    }
}
 
void findC(int *c,int sizeB)
{
int temp;
    for (int y=0;y<sizeB;y++)
    {
        for (int x=0;x<sizeB;x++)
        {
                if ((c[y]!=c[x]))
                {
                    temp=c[y];
                    cout<<"temp = "<<temp<<endl;
                    c[y]=c[x];
                    for (int i=y;i<=sizeB;i++)
                        if (c[i]==temp)
                        {
                        c[i]=c[x];
                        }
                }
        }
    }
}
 
int main()
{
srand(time(0));
int sizeX,sizeY;
cout<<"Enter size x:";
cin>>sizeX;
cout<<"Enter size Y:";
cin>>sizeY;
int** b=new int*[sizeY];
int sizeB=sizeX*sizeY;
int *c=new int[sizeB];
 
 
cout<<"function setab:"<<endl;
setab(sizeX,b,sizeY);
 
cout<<"\nfunction print"<<endl;
print(b,sizeY,sizeX);
 
cout<<"function setC"<<endl;
setC(b,sizeY,sizeX,c,sizeB);
 
cout<<"\nfunction findC"<<endl;
findC(c,sizeB);
 
delete []b;
return 0;
}
 
Текущее время: 03:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru