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

переделать клас - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поместить в массив суммы элементов параллельных главной диагонали http://www.cyberforum.ru/cpp-beginners/thread834303.html
Уже устал искать ошибку, он не выводит mas, что-то не так с while, а что не могу понять. Заранее спасибо за помощь. #include <iostream> #include <ctime> #include <iomanip> using namespace...
C++ Массив структур Доброй ночи! Есть задание c массивом структур. Надо было нaпиcaть пpoграммy ввода и удаления инфopмации o coтрyдникe c указанным вoзpастoм. Все работает, но криво реализован выход, когда уже все... http://www.cyberforum.ru/cpp-beginners/thread834267.html
C++ Просто интересно спросить
Бывали ли случаи когда люди без необходимого знания математики становились серьезными программистами в крупных конторах или вносили значительные результаты в области программирования??
Функции двумерного массива. Транспонировать матрицу через ввод вывод функции двумерного массива. C++
Транспонировать матрицу через ввод вывод функции двумерного массива.Сначала вывести ее,а потом провести транспонирование.
C++ Заполнение матрицы http://www.cyberforum.ru/cpp-beginners/thread834254.html
Здравствуйте. Задали Домашку 2 задачи про матрицы. Вторую задачку я решил.А вот с первой возникла проблема. Не могу понять алгоритм движения по матрице. Помогите с 1 программой, хотя бы алгоритм...
C++ Как поменять диагонль из сповпцем Поменять местами в квадратной матрице главную диагональ со столбцом, содержащим минимальный элемент. int main() { int n,temp; int a ; scanf("%d", &n); srand(time(NULL)); for (int i = 0; i<n;... подробнее

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

переделать клас - C++

11.04.2013, 02:32. Просмотров 280. Ответов 1
Метки (Все метки)

Всем привет! Надо немножко доработать етот код
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
#include <iostream>
#include <stdio.h>
using namespace std;
const int count = 5;
 
class Stack{
    public:
    int element[count*2];
    int topIndex;
   void Pop();
    int Top();  
    void source(int);
    void imprint(int);
    void sort_all();
    }stack1, stack2, stack3;
    
int main (){
    
    cout << "Введіть дані стеку 1: \n";
     stack1.source(1);
    cout << "Введіть дані стеку 2: \n";
    stack2.source(2);
     cout << "\n Відсортований стек 3: \n" ;
     stack3.sort_all();
    cout << "\n Відсортований стек 1: \n" ;
     stack1.imprint(1);
    cout << "\n Відсортований стек 2: \n" ;
     stack2.imprint(2);
    
    return 0;
}
 
void Stack :: source(int id){
    for (int i=0; i<count; i++)
    { if (id == 1){
        cout << "\t  елемент " << i+1 << ": ";
        cin >> stack1.element[i];
    }
    if (id == 2){
        cout << "\t  елемент " << i+1 << ": ";
        cin >> stack2.element[i];
    }
    }
}
 
void Stack :: imprint(int id){
    int c, a;
    if (id == 1){
    for (int i=0; i<count; i++)
    { a=10000;
        for (int j=0; j<count; j++){
            if (stack1.element[j] < a && stack1.element[j]!=0){
                a=stack1.element[j];
                 c=j;
            }
       }
       stack1.element[c] = 0;
       c=-1;
       cout << a << ' ';
       a = 0;
    }
}
    if (id == 2){
    for (int i=0; i<count; i++)
    { a=10000;
        for (int j=0; j<count; j++){
            if (stack2.element[j] < a && stack2.element[j]!=0){
                a=stack2.element[j];
                 c=j;
            }
       }
       stack2.element[c] = 0;
       c=-1;
       cout << a << ' ';
       a = 0;
    }
}
}
 
void Stack :: sort_all(){
    int c, a;
    for (int i=0; i<count; i++)
     stack3.element[i] = stack1.element[i];
 
   for (int j=count; j<count*2; j++)
     stack3.element[j] = stack2.element[j-count];
     
    for (int b=0; b<count*2; b++)
    { a=10000;
        for (int h=0; h<count*2; h++){
            if (stack3.element[h] < a && stack3.element[h]!=0){
                a=stack3.element[h];
                 c=h;
            }
       }
       stack3.element[c] = 0;
       c=-1;
       cout << a << ' ';
       a = 0;
    }
}
 
void Stack::Pop()
{
    topIndex--;
}
 
int Stack::Top()
{
    return element[topIndex];
}
Возможно ето говнокод, но делалось быстро поетому нет времени оптимизировать. Метод imprint () сортирует елементы. Так вот мне надо доделать ето через дружественные функции и клас. А конкретно для imprint () создать дружественную функцию, а для sort_all() дружественный метод. И чтобы все выводилось как и раньше
П.С помогите, очень надо сдать лабу по ООП С++, а я не люблю писать на плюсах, веб намного интереснее.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru