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

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

Войти
Регистрация
Восстановить пароль
 
Левиафам
33 / 28 / 9
Регистрация: 31.05.2012
Сообщений: 528
#1

Вывод массива - C++

25.12.2013, 22:38. Просмотров 263. Ответов 1
Метки нет (Все метки)

Привет всем, ребят, тут такое дело, я сделал прогу которая сортирует массив, прога содержит шаблон,...суть в том что при сортировке чисел типа double выдает ерунду при таких числах как например, 2.3 4.5 5.6. и т д.....и так же среднее арифметич выдает не то и так далее там видно будет......благодарен заранее
#include <iostream>
#include <math.h>
#include <conio.h>
#include <stdlib.h>
using namespace std;

template<typename T>
class Ve
{
public:

T *v;
int n;
Ve();
Ve(int);
void vvod(); //заполнение двухмерного массива
void vivod(); // вывод двухмерного массива
void InsertionSort();//сортировка вставками
~Ve(); // удаление двумерного динамического массива
};
//-----------------------------------
template<typename T>
Ve<T>::Ve()
{
n=0;
v=NULL;
}
//----------------------------------
template<typename T>
Ve<T>::Ve(int xx)
{
n=xx;
v = new T [n];
}
//-----------------------------------
template<typename T>
void Ve<T>::vvod()
{
cout<<"заполните массив: "<<endl;
for(int i=0; i<n; i++)
cin>>v[i];
}
//------------------------------------
template<typename T>
void Ve<T>::vivod()
{
for(int i=0; i<n; i++)

cout<<v[i];
cout<<endl;
cout<<"минимальный элемент массива"<<v[0]<<endl;
cout<<"максимальный элемент массива"<<v[n-1]<<endl;
int x=0,a=0,y=0;
while(y<n)
{
x=x+v[a];
a++;
y++;
}
int sr,shod=0;
sr=x/n;
cout<<"среднее арифмет"<<sr<<endl;
for(int i=0; i<n; i++)
{
if (v[i]==sr) {shod=shod+1;};
}
cout<<"совпадение"<<shod<<endl;
}
//-------------------------------------
template<typename T>
void Ve<T>::InsertionSort()//сортировка вставками
{
int i, j, key=0, temp=0;
for (i=0; i<n-1; i++)
{
key=i+1;
temp=v[key];
for (j=i+1; j>0; j--)
{
if (temp<v[j-1])
{
v[j]=v[j-1];
key=j-1;
}
}
v[key]=temp;
}

}
//---------------------------------------
template<typename T>
Ve<T>::~Ve()
{
delete[] v;
}
//==========================================
void main()
{
setlocale (LC_ALL, "Russian");
// все процессы происходящие в базовом классе
int xx;
cout<<"введите размер массива для сортировки:"<<endl;
cin>>xx;
Ve<float> obj(xx);

obj.vvod();

obj.InsertionSort();
cout<<"отсортированный массив методом вставок:"<<endl;
obj.vivod();


getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2013, 22:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод массива (C++):

Реализовать вывод массива объектов типа Student на консоль (файловый ввод/вывод) - C++
Как сделать чтобы список студентов выводился на экран в конце? #include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; ...

Открытые функции класса: ввод массива, вывод массива, определение длины вектора - C++
Данные класса: массив N(10). Открытые функции класса: ввод массива, вывод массива, определение длины вектора. Длина массива определяется...

Вывод определенного элемента массива из массива символов - C++
Имеется символьный массив char, нужно вывести на экран произвольный элемент этого массива. Сделал так: #include &lt;iostream&gt; ...

Ввод и вывод массива целых чисел Вычислить сумму модулей элементов массива,располроженных после первого отрицательного - C++
Очень срочно,помогите пожалуйста,чем быстрее - тем лучше=) Ввод и вывод массива целых чисел.задания оформить в виде функции,глобальные...

Ввод и вывод массива целых чисел Вычислить сумму модулей элементов массива,располроженных после первого отрицательного - C++
Очень срочно,помогите пожалуйста,чем быстрее - тем лучше=) Ввод и вывод массива целых чисел.задания оформить в виде функции,глобальные...

Нужно сделать, чтобы программа состояла из 3 функций, тоесть 1-ая функция ввода массива, 2-ая основная функция, 3-я- вывод массива - C++
Есть программа #include &lt;iostream&gt; #include &lt;algorithm&gt; const int N = 5; int handSet(void) { int a; std::cout...

1
mrtelohranitel
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 27
Завершенные тесты: 1
25.12.2013, 23:31 #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
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
#include <iostream>
#include <math.h>
#include <conio.h>
#include <stdlib.h>
using namespace std;
 
template<typename T>
class Ve
{
public:
 
T *v;
int n;
Ve();
Ve(int);
void vvod(); //заполнение двухмерного массива
void vivod(); // вывод двухмерного массива
//void InsertionSort();//сортировка вставками
void ISort();//сортировка вставками
~Ve(); // удаление двумерного динамического массива
};
//-----------------------------------
template<typename T>
Ve<T>::Ve()
{
n=0;
v=NULL;
}
//----------------------------------
template<typename T>
Ve<T>::Ve(int xx)
{
n=xx;
v = new T [n];
}
//-----------------------------------
template<typename T>
void Ve<T>::vvod()
{
cout<<"заполните массив: "<<endl;
for(int i=0; i<n; i++)
cin>>v[i];
}
//------------------------------------
template<typename T>
void Ve<T>::vivod()
{
for(int i=0; i<n; i++)
 
cout<<v[i]<<" ";
cout<<endl;
cout<<"минимальный элемент массива"<<v[0]<<endl;
cout<<"максимальный элемент массива"<<v[n-1]<<endl;
float x=0.0;int a=0,y=0;
while(y!=n)
{
x=x+v[a];
a++;
y++;
}
float sr;int shod=0;
sr=x/n;
cout<<"среднее арифмет"<<sr<<endl;
for(int i=0; i<n; i++)
{
if (v[i]==sr) {shod=shod+1;};
}
cout<<"совпадение"<<shod<<endl;
}
//-------------------------------------
/*template<typename T>
void Ve<T>::InsertionSort()//сортировка вставками
{
int i, j; int key=0, temp=0;
for (i=0; i<n-1; i++)
{
key=i+1;
temp=v[key];
for (j=i+1; j>0; j--)
{
if (temp<v[j-1])
{
v[j]=v[j-1];
key=j-1;
}
}
v[key]=temp;
}
 
}*/
template<typename T>
void Ve<T>::ISort()
{
 // Переменные циклов
 int i, j; 
 // Временная переменная для хранения текущего элемента
 float temp; 
 
 // Находим позицию очередного элемента и вставляем его туда
 for(i = 1; i < n; i++)
 {
 // Запоминаем текущий элемент
 temp = v[i];
 j = i - 1;
 // Просматриваем элементы слева от текущего
 while(j >= 0 && v[j] > temp)
 {
 // Если находим элемент меньше текущего, то сдвигаем его вправо
 v[j + 1] = v[j];
 j--;
 }
 // Помещаем текущий элемент в освободившуюся позицию
 v[j + 1] = temp;
 }
}
//---------------------------------------
template<typename T>
Ve<T>::~Ve()
{
delete[] v;
}
//==========================================
void main()
{
setlocale (LC_ALL, "Russian");
// все процессы происходящие в базовом классе
int xx;
cout<<"введите размер массива для сортировки:"<<endl;
cin>>xx;
Ve<float> obj(xx);
 
obj.vvod();
 
obj.vivod();
 
//obj.InsertionSort();
obj.ISort();
cout<<"отсортированный массив методом вставок:"<<endl;
obj.vivod();
 
 
getch();
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2013, 23:31
Привет! Вот еще темы с ответами:

Вывод Массива - C++
Имеется код: #include &lt;iostream&gt; #include &lt;time.h&gt; #include &lt;stdlib.h&gt; using namespace std; int zapolnenie(int a, int b, int e,...

Вывод массива - C++
Не могу вывести массив после нахождения суммы. Прошу помочь или подкиньте-ка идею) void c(int **m, int s, int r) { for (int...

Вывод массива - C++
Помогите пожалуйста написать программу которая выводит массив на ввиде k столбцов и оканчивается на n числе, заранее спасибо

Вывод массива - C++
Здрасти, помогите вывести массив: #include &lt;iostream&gt; #include &lt;conio.h&gt; int* CreateDoubleDynArray(unsigned int count_row,...


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

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

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