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

Ввести одномерный массив из n элементов. Определить число различных элементов в нем - C++

Восстановить пароль Регистрация
 
audi357
0 / 0 / 0
Регистрация: 27.09.2013
Сообщений: 27
02.06.2014, 04:33     Ввести одномерный массив из n элементов. Определить число различных элементов в нем #1
Возникла небольшая проблема. Нужно сделать элементарное задание, но чтобы было несколько функций пользователя. Задание: Ввести одномерный массив из n элементов. Определить число различных элементов в нем.
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
#include "iostream"
#include "conio.h"
using namespace std;
 
void mass (int *i)
{   
    int j, A[*i];
    j=0;
    while (j<*i)
    {
        cin>>A[j];  j++;
        
    }   
    return;
}
 
 
int main ()
{   int n;
    cin>>n;
    int *p(&n);
    
    mass(p); 
    return 0;
}
Написал пока что только это. Так вот проблема в том, что надо задать массив в отдельной функции пользователя, а перебрать элементы в другой. А как его правильно описать в основной функции чтобы он был доступен во всех я не пойму. Подскажите, пожалуйста, кто может.

Добавлено через 38 минут
Немного переделал и появился другой вопрос.
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
#include "iostream"
#include "conio.h"
using namespace std;
 
void mass (int *a, int *q)
{   
    int i;
    i=0;
    while (i<*a)
    {
        cin>>*q;  i++;
        
    }   
    return;
}
void count (int *a, int *q)
{
    int max, s=0,k=0,j;
    max=0;
    
    for (j=0; j<*q; j++)
    {
        if (max!=*a)
        {s+=k+1;
        }
        cout<<s<<endl;
    }
    
    
}
 
int main ()
{   int n;
    cin>>n;
    int *p(&n);
    int A[*p];
    int *ms(&A[*p]);
    
    mass(p,ms); 
     count (ms,p);
    return 0;
}
Как мне в этой строчке: max=0; приравнять max к первому элементу массива, а вот в этой строчке if (max!=*a) сделать так, чтобы он сравнивал с первым элементом массива?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2014, 04:33     Ввести одномерный массив из n элементов. Определить число различных элементов в нем
Посмотрите здесь:

Ввести двумерный массив А (5*2).Определить в нем сумму модулей отрицательных элементов с использованием указателей. C++
C++ Задан одномерный массив, содержащий n элементов, определить сумму всех чётных элементов
C++ Дан массив из n элементов. Определить, сколько раз встречается число 5 среди элементов массива.
C++ Дано одномерный массив Х, состоящий из 15 элементов. Определить пивсуму наибольшего и наименьшего элементов массива
Ввести одномерный массив из 13 элементов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
02.06.2014, 05:20     Ввести одномерный массив из n элементов. Определить число различных элементов в нем #2
Что ты хотел сказать этими строками?
C++
1
2
3
 int *p(&n);
 int A[*p];
 int *ms(&A[*p]);
У тебя, поидее, это даже компилироваться не должно....
audi357
0 / 0 / 0
Регистрация: 27.09.2013
Сообщений: 27
02.06.2014, 12:27  [ТС]     Ввести одномерный массив из n элементов. Определить число различных элементов в нем #3
Спс.

Добавлено через 57 минут
Цитата Сообщение от solar_wind Посмотреть сообщение
Что ты хотел сказать этими строками?
C++
1
2
3
 int *p(&n);
 int A[*p];
 int *ms(&A[*p]);
У тебя, поидее, это даже компилироваться не должно....
Хотел я сделать так, чтобы размерность массива и он сам были доступны в каждой подпрограмме. Т.е описать его сначала, потом в одной функции ввести массив, а в другой посчитать кол-во разных элементов. Как это делать я не знаю. Поэтому получился такой говнокод.
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
02.06.2014, 12:33     Ввести одномерный массив из n элементов. Определить число различных элементов в нем #4
n это размерность какого то массива, как я понимаю. mass и count это твои функции ввода массива и расчета
Что такое p? Что такое А? Что такое ms?
audi357
0 / 0 / 0
Регистрация: 27.09.2013
Сообщений: 27
02.06.2014, 13:47  [ТС]     Ввести одномерный массив из n элементов. Определить число различных элементов в нем #5
Это указатели. Я лепил все что мог. Потому что не догоняю, как сделать так, чтобы задать массив в одной функции, а посчитать разные элементы этого же массива в другой. Т.е как перенести массив и размерность из одной функции в другую, при этом ничего не потеряв. Подумал что с помощью указателей.
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
02.06.2014, 13:55     Ввести одномерный массив из n элементов. Определить число различных элементов в нем #6
Это не указатели это, я даже не знаю что.....
Вам нужно изучать синтаксис С++
Вот это создание одномерного динамического массива:
C++
1
int* ms=new int[n];
Можешь его передавать по указателю ms куда угодно.
В конце только нужно будет сделать
C++
1
 delete [] ms;
audi357
0 / 0 / 0
Регистрация: 27.09.2013
Сообщений: 27
02.06.2014, 14:00  [ТС]     Ввести одномерный массив из n элементов. Определить число различных элементов в нем #7
А его размерность как передать?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2014, 14:31     Ввести одномерный массив из n элементов. Определить число различных элементов в нем
Еще ссылки по теме:

C++ Ввести одномерный массив из элементов!
C++ Дан двумерный массив. Определить количество различных элементов в нем
Дан двухмерный массив n*m элементов. Определить, сколько раз встречаеться число 7 среди элементов массива с++ C++

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

Или воспользуйтесь поиском по форуму:
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
02.06.2014, 14:31     Ввести одномерный массив из n элементов. Определить число различных элементов в нем #8
Ну размерность то у тебя n. Так и передавай. У тебя же n меняться внутри функций не будет, так что ее можно и по значению передать.
Yandex
Объявления
02.06.2014, 14:31     Ввести одномерный массив из n элементов. Определить число различных элементов в нем
Ответ Создать тему
Опции темы

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