• C++
    В массив A длиной N из всех одинаковых элементов оставьте только по одному представителю.
    Остальные удалите. Рассмотрите 2 варианта:
    а) массив упорядочен
    б) не упорядочен

Ответы 2

  • К сожалению, lst.unigue()  работает только для сортированного списка, для не сортированного будет по другому         //удаление повторных без сортировки    it1=lst.begin();  j=*it1;  it2=it1;      for (it1=it2; it1!=lst.end(); it1++)    {      j=*it1;  it2=it1;  it2++;       while (it2!=lst.end())      {  if (*it2==j)  *it2=-1;   it2++;  }      lst.remove(-1);    }        
  • //массив отсортировать, удалить повторные#include <iostream>#include <list>#include <cstdlib> #include <ctime> #include <iomanip>using namespace std;  int main()  {      int j,n;    list<int> lst;    list<int>::iterator it1;// начальная установка генератора случ. чисел    srand(time(NULL));//заполнение списка     cout<<"n = ";  cin>>n;    for (j=0; j<n; j++)      lst.push_back(rand() % 10);//вывод на экран      cout<<"initial array:  ";      for (it1=lst.begin(); it1!=lst.end(); it1++)      cout<<*it1<<" ";//сортировка, удаление повторных      lst.sort();      lst.unique();//вывод списка      cout<<endl<<"after removing:  ";      for (it1=lst.begin(); it1!=lst.end(); it1++)      cout<<*it1<<" ";      cout<<endl;      system("pause");      return 0;  } В варианте без сортировки (что, вообще говоря, не принципиально) убираете строку  lst.sort();   
    • Автор:

      dawnnkan
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years