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

Маccив->Статический вызов -> и его использование - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить значение заданной функции на данном интервале с заданным шагом. Осуществить вывод значений аргумента и результатов вычислений значений функ http://www.cyberforum.ru/cpp-beginners/thread141753.html
Вычислить значение заданной функции на данном интервале с заданным шагом. Осуществить вывод значений аргумента и результатов вычислений значений функции в виде таблицы.
C++ вывести наибольшую последовательность которая удовлетворяет условие M[i+1]=M[i]+1 Вот задача: упорядочить по возрарастанию массив целых чисел М а потом вывести наибольшую последовательность которая удовлетворяет условие M=M+1.Помогите ,пожалуйста кто может,не могу найти ошибку... http://www.cyberforum.ru/cpp-beginners/thread141744.html
Удалить строку с самым большим количеством слов C++
помогите написать программу: "Удалить строку с самым большим количеством слов" (используя указатели) С++ Заранее благодарна
Траббл с компиляцией. Ms Visual с++ C++
Удалите тему. создал не в том разделе
C++ обработка массивов http://www.cyberforum.ru/cpp-beginners/thread141705.html
В массиве A из N элементов (N не больше 30) определить количество элементов, значения которых больше среднего арифметического всех элементов. Число N и значения элементов массива задаются вводом. 2....
C++ Простейшее, но нужно Дано произвольное число X. Вычислить и вывести на экран Y=ln X, если Х имеет положительное значение. В остальных случаях вывести сообщения "логарифм нуля не существует" или "логарифм отрицательного... подробнее

Показать сообщение отдельно
MAQSA
2 / 2 / 0
Регистрация: 18.04.2010
Сообщений: 119

Маccив->Статический вызов -> и его использование - C++

08.06.2010, 12:52. Просмотров 358. Ответов 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
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#ifndef Mass1_h
#define Mass1_h1
#include <iostream.h>
#include <locale.h>
#include<windows.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <conio.h>
#include<math.h>
//========================================================
template<class T>
class Array
{
public:
long itsSize;
int*itsPMass;
Array();
~Array();
T geta(int);
void puta(int, T &);
void bubbleSort(T*a,long size);
void print(T*a,long size);
void SetSize(long size){itsSize=size;};
float GetSize()const{return itsSize;};
private:
int *a;
};
#endif
//=================================================================
template<class T>
Array<T>::Array()
{int i;
itsPMass=new int[itsSize];
}
template<class T>
Array<T>::~Array()
{
int i;
for(i=0;i<itsSize;i++)
delete[]itsPMass;
}
 
template<class T>void bubbleSort(T *a,long size)
{
   int i, j, counter;
    int x;
    counter=0;
    for(i=0;i<size;i++)
    {
        for(j=size-1;j>i;j--)
        {
            if(a[j-1]>a[j])
            {
                x=a[j-1];
                a[j-1]=a[j];
                a[j]=x;
                         counter++;
            }
        }
    }
cout<<endl<<endl<<"KilKisTb perestanovok = "<<counter<<endl<<endl;
}
template<class T>void VSort(T *a, long size)
{
   int i, j,k, counter;
    int x;
    counter=0;
    for(i=0;i<size;i++)
    {  k=i; x=a[i];
        for(j=i+1;j<size;j++)
             if(a[j]<x)
            {
            k=j; x=a[j];
            }
                a[k]=a[i];
                a[i]=x;
             counter++;
 
        }
 
    cout<<"KilkisTb perestanovok ="<<counter<<endl<<endl;
    }
 
template<class T>void print(T *a,long n)
{
    for(int i=0;i<n;i++)
    cout<<a[i]<<" ";
}
template <class T>
T Array<T>:: geta(int k)
{
return a[k];
}
template <class T>
void Array<T>:: puta(int f,T &k)
{
a[f]=k;
}
 
//==================================================================
void main()
{
     clrscr();
     int i;
     srand(time(NULL));
     long SIZE;
     int *ar,k;
Array<int>*copy=new Array<int>;
Array<int>*copy1=new Array<int>;
Array<int>*copy2=new Array<int>;
clrscr();
 
cout<<"SIZE=>";
cin>>SIZE;
getch();
     cout<<endl<<"Vvedenuy massuv"<<endl;
     cout<<endl;
     cout<<"||||||||||||||||||||||||||||||||"<<endl;
         for(i=0;i<SIZE;i++)
        ar[copy->geta(i)]=rand()%100;
 
    for(i=0;i<SIZE;i++)
    {
    k=copy->geta(i);
    copy1->puta(i,k);
    copy2->puta(i,k);
    }
    for(i=0;i<SIZE;i++)
    cout<<ar[copy->geta(i)]<<" ";
    getch();
    cout<<endl<<"||||||||||||||||||||||||||||||||"<<endl;
    cout<<"         SORT BUBLE\n"<<endl;
    cout<<endl<<"Po4aTKoBuy massuv"<<endl;
    for(i=0;i<SIZE;i++)
    cout<<ar[copy1->geta(i)]<<" ";
 
    bubbleSort(ar,SIZE);
    cout<<endl<<"Vidsortovanuy masuv"<<endl;
    for(i=0;i<SIZE;i++)
    cout<<ar[copy1->geta(i)]<<" ";
    getch();
    cout<<endl<<"           SORT Vubory\n";
    cout<<endl<<"Po4aTKoBuy massuv"<<endl;
    for(i=0;i<SIZE;i++)
    cout<<ar[copy2->geta(i)]<<" ";
    cout<<"\n";
    VSort(ar,SIZE);
    cout<<endl<<"Vidsortovanuy masuv"<<endl;
 
    for(i=0;i<SIZE;i++)
    cout<<ar[copy2->geta(i)]<<" ";
 
getch();
}
я не верно вывожу отсортированные массивы и еще наверное не верно использую VSort(ar,SIZE); ar уже раньше использовался для сортировки, а я еще раз его взял.

Добавлено через 1 час 19 минут
Help pliZzz)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru