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

Переделать код из массива в списки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ массивы и функции http://www.cyberforum.ru/cpp-beginners/thread186077.html
Помогите, пожалуйста, разобраться в следующем задании. "Дан 2d массив А(n,n), который заполнен нулями и единицами. Узнать сколько колонн и рядов заполнены только единицами или только нулями. Создать...
C++ Массивы + файлы Просьба помочь с реализацией, а то вообще без понятия как это делать. В некоторых видах спортивных состязаний выступление каждого спортсмена независимо оценивается несколькими судьями, затем из... http://www.cyberforum.ru/cpp-beginners/thread186066.html
Прокомментировать программу C++
Ребят, если не сложно прокомментируйте и проверьте пожалуйста програмку в Microsoft Visual C++ 6.0. Вроде ошибок не дает но не могу понять ее результата. Спасибо огромное. Само задание: Дана...
Строки,работа с ними C++
Ввести две строки найти в каждой из них максимальное слово.Составить из них строку и вывести эту строку в обратном порядке.. Помогите пожалуйста с решением.!! Спасибо
C++ Определение зажатой клавиши. http://www.cyberforum.ru/cpp-beginners/thread186034.html
Доброго времени суток. Какой функцией можно определить зажатую клавишу. Или узнать зажата ли определенная клавиша.
C++ Не создаётся объект класса ---------------------------------------Address.h-------------------------------------------------- #pragma once class Address { public: const static int SIZE_COUNTRY = 3; const static int... подробнее

Показать сообщение отдельно
PRIKOL
0 / 0 / 0
Регистрация: 18.11.2009
Сообщений: 64

Переделать код из массива в списки - C++

04.11.2010, 11:09. Просмотров 530. Ответов 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
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
98
99
100
101
102
103
104
#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
#include<fstream.h>
#include<time.h>
#include<stdio.h>
#include<windows.h>
#include<errno.h>
//*************************************************************************
/* П/п русификации текста */
char bufRus[255];
char* rus(const char* text)
{
  CharToOem(text,bufRus);
  return bufRus;
}
//*************************************************************************
main()
{
int i,j,n,c,d,k,m;
char name1[255],name2[255];
        cout<<rus("Название файла откуда взять массив:")<<endl;
        cin>>name1;
        cout<<rus("Название файла куда поместить результат:")<<endl;
        cin>>name2;
 
        struct tm *ptr;
        time_t lt;
        lt=time(NULL);
        ptr=localtime(&lt); //Текущая дата и время
 
        errno=0;
        fstream fp1(name1,ios::in);
        if(!fp1) { cout<<rus("Ошибка ")<<strerror(errno); getch(); return 0;}// Открытие файла и проверка на ошибки
        fp1>>d;
        errno=0;
        fstream fp2(name2,ios::out|ios::trunc);
        if(!fp2) { cout<<rus("Ошибка ")<<strerror(errno); getch(); return 0;}// Открытие файла и проверка на ошибки
 
        for(d;d>0;d--)
        {
                clock_t tStart;
                tStart=clock();         //Старт счетчика времени
                fp1>>n;  //Колличество элементов массива
                int *a=new int[n];
                int *p=new int[n];
                m=n;
                for(i=0;i<n;i++)
                        {
                                fp1>>a[i]; //Элементы массива
                                p[i]=a[i];
                        }
                cout<<endl;
                for(i=0;i<n;i++)
                cout<<setw(4)<<a[i];
                c=0;
                k=0;
                do
                {
                  for(i=0;i<n;i++)
                  {
                    for(j=i+1;j<n;j++)
                    {
                      if(a[j]==a[i])
                      {
                        c=j;
                        while(c<n)
                        {
                          a[c]=a[c+1];
                          c++;
                        }
                        n=n--;
                      }
                    }
                  }
                  k++;
                }
                while(k<2);
                fp2<<"Название:                     "<<"Внешний интерфейс"<<endl
                   <<"Дата/время запуска программы: "<<asctime(ptr)
                   <<"Входные данные:               "<<endl
                   <<"Колличество элементов:        "<<m<<endl
                   <<"Массив:                       ";
                for(i=0;i<m;i++)                      
                        fp2<<p[i]<<" ";                 
                fp2<<endl                           
                   <<"Выходные данные:              "<<endl
                   <<"Количество:                   "<<n<<endl
                   <<"Массив:                       ";
                for(i=0;i<n;i++)
                        fp2<<a[i]<<" ";
                fp2<<endl;
                fp2<<"Время:"<<endl
                   <<"Время работы программы:           "
                   <<((float)(clock() - tStart)/CLOCKS_PER_SEC)*1000<<" мСек"<<endl //Остановка и вывод времени
                   <<endl<<endl;
                delete(a);
                delete(p); //Освобождение памяти
        }
        fp2.close();
        fp1.close();        //Удаления файловых переменных
        getch();
return 0;
}
Данную программу нужно переделать, используя уже не массив, а список.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.