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

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

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

программa с массивом - C++

21.12.2009, 05:24. Просмотров 421. Ответов 9
Метки нет (Все метки)

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

я вот набросал немного,помогите пожалуйста иначе зачет не поставят(

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
#include<math.h>
using namespace std;
void main()
int a[10];
cin>>a[i]>>a[n]
{
for(int i=0;i<10;i++)
for(int n=0;n<10;n++)
if(a[i]=a[n])
cout<<a[10]
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2009, 05:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос программa с массивом (C++):

Программa с использованием рекурсивной функции - C++
Для приведённых ниже заданий составить два варианта программы с использованием рекурсии и без использования рекурсии и сравнить их. ...

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

Массивом и динамическим массивом - C++
Составить программу, в которой 1) организовать ввод матрицы размера mxn из целых чисел; 2) вычислить сумму ненулевых элементов, кратных...

С массивом - C++
Требуется в массиве, между минимальным и максимальным элементами (и их кстати) записать в обратном порядке элементы. У меня какой-то бред в...

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

с массивом С - C++

9
niXman
Эксперт С++
3137 / 1449 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
21.12.2009, 05:36 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <vector>
#include <algorithm>
#include <iostream>
#include <iterator>
 
int main() {
   const int size = 10;
   std::vector<int> arr(size);
   std::vector<int>::iterator it = arr.begin();
 
   for ( ; it != arr.end(); ++it ) {
      std::cin >> *it;
   }
 
   std::sort(arr.begin(), arr.end());
   std::vector<int>::iterator end = std::unique(arr.begin(), arr.end());
 
   std::copy(arr.begin(), end, (std::ostream_iterator<int>(std::cout, "\n")));
 
   return 0;
}
1
Henxok
1 / 1 / 0
Регистрация: 21.12.2009
Сообщений: 11
21.12.2009, 05:44  [ТС] #3
спасибо,кончено,но мне надо через двойной цикл как-то
0
niXman
Эксперт С++
3137 / 1449 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
21.12.2009, 05:46 #4
хоть бы спасибо сказал там кнопочка есть.
1
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
21.12.2009, 08:40 #5
Цитата Сообщение от Henxok Посмотреть сообщение
ему выводить только те,которые не повторяются,
Которые не повторяются подряд, или которые вообще не повторяются?
1
Henxok
1 / 1 / 0
Регистрация: 21.12.2009
Сообщений: 11
21.12.2009, 08:41  [ТС] #6
ну так что,кто-нить знает как через двойной цикл это сделать?

Добавлено через 45 секунд
которые вообще не повторяются
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
21.12.2009, 13:12 #7
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
#include<iostream>
#include<math.h>
using namespace std;
void main()
{
 
int a[10],i, j, temp, n=10;
bool fl;
for(i=0; i<10; i++)
    cin>>a[i];
for(i=0;i<n-1;i++)
{
    fl=false;
    for(j=i+1;j<n;j++)
    {
        if(a[i]==a[j])
        {
            fl=true;
            temp=j;
            for(; j<n-1; j++)
                a[j]=a[j+1];
            n--;
            j=temp-1;
        }       
    }
    if(fl)
    {
        for(j=i; j<n-1; j++)
                a[j]=a[j+1];
            n--;
            i--;
    }
}
cout<<"Itog:"<<endl;
for(i=0; i<n; i++)
    cout<<a[i]<<" ";
cout<<endl;
}
1
Henxok
1 / 1 / 0
Регистрация: 21.12.2009
Сообщений: 11
22.12.2009, 07:17  [ТС] #8
Спасибо огромное,а не могли бы Вы комментарий в строчках указать,мне просто объяснить надо программу,а я тут половину не понимаю)
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
22.12.2009, 08:18 #9
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>
using namespace std;
void main()
{
 
int a[10],i, j, temp, n=10;
bool fl;// переменная типа bool может принимать только два значения: true и false
for(i=0; i<10; i++)// заполняем массив a[] десятью числами
        cin>>a[i];
for(i=0;i<n-1;i++) // запускаем цикл в котором i будет изменяться от 0 до 8
{
        fl=false; // изначально fl присваиваем false
        for(j=i+1;j<n;j++) // запускаем еще один цикл в котором переменная j изменяется от значения i+1 до 9
        {
                if(a[i]==a[j]) // если эти значения равны (нашли совпадающий элемент)
                {
                        fl=true;// то переменной fl присваиваем значение true
                        temp=j; // в переменной temp запоминаем текущее значение j
                        for(; j<n-1; j++)// в этой и следующей строке производим сдвиг всех элементов, начиная за идущим a[j], на одну позицию влево (попросту удаляем элемент a[j], который равен a[i])
                                a[j]=a[j+1];
                        n--;// уменьшаем размер массива на 1
                        j=temp-1; // j присваиваем значение на котором мы остановились, когда нашли совпадающий элемент, и продолжаем дальше искать одинаковые элементы с a[i]
                }               
        }
        if(fl) // если fl равно true (одинаковые элементы с текущим a[i] были)
        {
                for(j=i; j<n-1; j++) // в следующих строках производим сдвиг всех элементов (которые находятся после a[i]) на одну позицию влево (удаляем элемент a[i])
                                a[j]=a[j+1];
                        n--;//уменьшаем размер массива на 1 
                        i--;// текущий счетчик уменьшаем на 1, что бы проверять элемент на этой же позиции с другими (ведь сейчас на позиции i у нас другой элемент, который был следующим за a[i], до его удаления)
        }
}
cout<<"Itog:"<<endl;// вывод на экран
for(i=0; i<n; i++)
        cout<<a[i]<<" ";
cout<<endl;
}
1
Henxok
1 / 1 / 0
Регистрация: 21.12.2009
Сообщений: 11
22.12.2009, 08:33  [ТС] #10
блин спасибо огроменное у меня теперь зачет будет!)))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2009, 08:33
Привет! Вот еще темы с ответами:

Задание с массивом - C++
Завтра экзамен по программированию, помогите пожалуйста вот примерная задание: Массив-структура &quot;студенты&quot; с полями...

Задачка с массивом - C++
Здравствуйте, обучаясь на первом курсе ивт столкнулся с проблемной задачей =\ с массивами совсем не получается найти общего языка =\...

Задание с массивом - C++
Помогите с программным кодом для... Буду очень благодарен:)

Проблемка с массивом - C++
Всем привет, в общем у меня такая задача: в целочисленном массиве после каждых 3х отрицательных чисел идущих подряд вставить 0. Например...


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

Или воспользуйтесь поиском по форуму:
10
Yandex
Объявления
22.12.2009, 08:33
Ответ Создать тему
Опции темы

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