Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/16: Рейтинг темы: голосов - 16, средняя оценка - 5.00
Виктуся
0 / 0 / 3
Регистрация: 29.04.2011
Сообщений: 17
#1

Дан одномерный массив, элементы которого - целые числа. Удалите из него все повторяющиеся элементы, оставив только их первые вхождения.

09.05.2011, 13:18. Просмотров 2800. Ответов 1
Метки нет (Все метки)

Добрый день!!! Не могли бы помочь отредактировать программу на с++? Дан одномерный массив, элементы которого - целые числа. Удалите из него все повторяющиеся элементы, оставив только их первые вхождения.
Формат входных данных
В первой строке входного файла дано число n- количество элементов в массиве. В следующей строке находится n чисел, по абсолютному значению не превосходящих 1000.
Формат выходных данных
В выходной файл выведите полученный массив. При выводе разделяйте элементы массива пробелом.
Примеры:
Вход
4
1 1 2 2
Выход
1 2
Вход
8
9 8 7 5 4 8 3 9
Выход
9 8 7 5 4 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
#include <fstream>
using namespace std;
 
int main()
{
    ifstream in ("input.txt");
    ofstream out ("output.txt");
 
    int n;
    in>>n;
    int a[n];
    for (int i=0;i<n;i++)
        in>>a[i];
int i=0;
while (i<n-1)
{
         if(a[i]==a[i+1])
         {
             for (int j=i+1; j<n-1; j++)
                 a[j]=a[j+1];
             n--;
         }
         else
             i++;
}
     for (int i=0;i<n;i++)
             out<<a[i]<<"\t";
 
     in.close();
     out.close();
    return 0;
}

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2011, 13:18
Ответы с готовыми решениями:

Одномерные массивы, удалить все повторяющиеся элементы, оставив только первые вхождения
Задача на C++: из заданного массива удалить все повторяющиеся элементы, оставив...

Удалить из массива повторяющиеся элементы, оставив только их первые вхождения
Помогите, зачёт пишу

Удалить из массива повторяющиеся элементы, оставив только их первые вхождения
Как мне удалять повторяющийся элемент? #include &lt;iostream&gt; using namespace...

Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы, оставив их первые вхождения.
Дан целочисленный массив размера N. Удалить из массива все одинаковые элементы,...

Дан целочисленный массив размера N. Удалить из массива все одина- ?ковые элементы, оставив их первые вхождения
Всем привет у меня тут проблемка, может кто подскажет ?Дан целочисленный...

1
Виктуся
0 / 0 / 3
Регистрация: 29.04.2011
Сообщений: 17
11.05.2011, 01: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
23
24
25
26
27
28
29
30
#include <iostream>
using namespace std;
 
int main()
{
    int n;
    cout<<"n=";
    cin>>n;
    int a[n];
    for (int i=0;i<n;i++)
        cin>>a[i];
int i=0;
while(i<n-1)
{
    int g;
    g=i+1;
    while (g<n)
        if (a[i]==a[g])
            {
                 for (int j=g; j<n-1; j++)
                     a[j]=a[j+1];
                 n--;
            }
    else g++;
    i++;
}
     for (int i=0;i<n;i++)
             cout<<a[i]<<"\t";
    return 0;
}
 Комментарий модератора 
Используйте теги форматирования кода!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2011, 01:48

Удалить из массива повторяющиеся элементы, оставив только их первые вхождения (класс-контейнер вектор)
Добрый день!!! Не могли бы помочь написать программу на С++ при помощи...

Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые вхождения, то есть в слове должны остаться только различные буквы.
Дано слово. Удалить из него все повторяющиеся буквы, оставив их первые...

Удалить из строки все повторяющиеся буквы, оставив только их первые вхождения
2.Даны строки, содержащие латинские буквы. Удалить из строки все повторяю*...


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

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

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