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

Классы - C++

Восстановить пароль Регистрация
 
Garret192
 Аватар для Garret192
1 / 1 / 0
Регистрация: 21.10.2009
Сообщений: 84
03.06.2010, 19:48     Классы #1
Привет. Помогите пожалуйста с задажей и если можно поскорей.Вот условие:
В массиве А(N,M) элементы строк, начинающихся с отрицательного элемента, расположить в порядке возрастания.
Я в принципе сделал все работает
Вот код
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
#include<iostream>
#include<math.h>
void sort(int *a,int n)
{
        int temp;
        for(int i=0;i<n;i++)
        {
                for(int j=i+1;j<n;j++)
                        if(a[j]<a[i])
                        {
                                temp=a[i];
                                a[i]=a[j];
                                a[j]=temp;
                        }
        }
}
int main()
{
        int **a,i,j,n=0,m=0;
        cout<<"Vvedi n "<<endl;
        cin>>n;
        cout<<"Vvedi m"<<endl;
        cin>>m;
        a=new int*[n];
        for(int i1=0;i1<n;i1++)
        {
                a[i1]=new int[m];
        }
        cout<<"Vvod elementov massiva: "<<endl;
        for(i=0;i<n;i++)
        {
                for(j=0;j<m;j++)
                {
                        cout<<"["<<i<<"]["<<j<<"]= ";
                        cin>>a[i][j];
                }
        }
        for(i=0;i<m;i++)
        {
                if(a[i][0]<0)
                        sort(a[i],m);
        for(i=0;i<n;i++)
        {
                cout<<endl;
                for(j=0;j<m;j++)
                        cout<<a[i][j]<<' ';
        }
        system ("pause");
        return 0;
}
Но нужно оформить с использованием класов а я вообще не представляю как это можно сделать.
Помогите пожалуйста, ну хотя бы дайте идею.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
edd
36 / 36 / 0
Регистрация: 13.05.2010
Сообщений: 81
03.06.2010, 20:11     Классы #2
пишешь
class massiv {public: int a[20]; void sort();}; и пошел всё почти тоже самое, если что обсуждалось недавно,,,,,
Garret192
 Аватар для Garret192
1 / 1 / 0
Регистрация: 21.10.2009
Сообщений: 84
03.06.2010, 20:25  [ТС]     Классы #3
а можно поподробнее...
edd
36 / 36 / 0
Регистрация: 13.05.2010
Сообщений: 81
03.06.2010, 20:34     Классы #4
что именно
Garret192
 Аватар для Garret192
1 / 1 / 0
Регистрация: 21.10.2009
Сообщений: 84
03.06.2010, 20:46  [ТС]     Классы #5
Во первых где это раньше обсуждалось?
Во вторых что значит почти тоже самое?
edd
36 / 36 / 0
Регистрация: 13.05.2010
Сообщений: 81
03.06.2010, 20:53     Классы #6
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
#include <iostream>
//#include <math.h>
//#include <stdio.h>
//#include <conio.h>
#include <string>
using namespace std;
const int lll=3;
class student { public:
                                int a;
                                char b[256];
};
void sort ( student * pb) 
{int i=0; student temp; for (i=0; i<lll; i++) 
for (int k=i; k<lll; k++){string pbk, pbi; pbk=pb[k].b; pbi=pb[i].b;
if (pbk<pbi) {temp=pb[i] ; pb[i]=pb[k]; pb[k]=temp;}}}
 
int main(){
        student ddd[lll];
        for (int i=0; i<lll; i++) {cin>> ddd[i].a; cin>> ddd[i].b;}
        sort (ddd);
        for (int i=0; i<lll;i++)
        cout <<ddd[i].a<<" "<<ddd[i].b<<endl;
        cin.get();
return 0;}
Добавлено через 1 минуту
либо функцию можно в самом классе описать так ещё проще,
edd
36 / 36 / 0
Регистрация: 13.05.2010
Сообщений: 81
03.06.2010, 21:03     Классы #7
добавь строчку cin.get(); return
Oleg462
31 / 30 / 3
Регистрация: 18.01.2010
Сообщений: 123
03.06.2010, 21:08     Классы #8
можно так
C++
1
system("PAUSE") ;
перед
C++
1
return 0
Garret192
 Аватар для Garret192
1 / 1 / 0
Регистрация: 21.10.2009
Сообщений: 84
03.06.2010, 21:09  [ТС]     Классы #9
Прости а ты не мог бы объснить общий смысл программы и принцмп действия переменных pbk pbi
edd
36 / 36 / 0
Регистрация: 13.05.2010
Сообщений: 81
03.06.2010, 21:14     Классы #10
там сортировка по алфавиту была нужна, это переменные из класса string ими удобно сравнивать например aab>aaa, сортировать фамилии и тд, а в твоём варианте другой вопрос в классе нужно сразу задавать размер массива если m n заранее известны проблем быть должно
Garret192
 Аватар для Garret192
1 / 1 / 0
Регистрация: 21.10.2009
Сообщений: 84
03.06.2010, 21:21  [ТС]     Классы #11
Прости ты немог бы написать эту программу просто мне её нужно срочно здать.
Буду премного благодарен.
P.s. Стыдно конечно просить ну очень нужно.
edd
36 / 36 / 0
Регистрация: 13.05.2010
Сообщений: 81
03.06.2010, 21:22     Классы #12
в предыдущем сообщении описана проблема читай внимательно
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2010, 22:12     Классы
Еще ссылки по теме:

Классы, включающие другие классы C++
Программа по классам, которая использует классы точек и прямых на плоскости, а, возможно, и другие классы C++
Классы и наследование (Создать класс 3D фигура, и производные классы шар, конус, цилиндр и куб. Создать функцию вычисления объёма.) C++

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

Или воспользуйтесь поиском по форуму:
Garret192
 Аватар для Garret192
1 / 1 / 0
Регистрация: 21.10.2009
Сообщений: 84
03.06.2010, 22:12  [ТС]     Классы #13
Ну у меня получилось вот так
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
#include <iostream>
//#include <math.h>
//#include <stdio.h>
//#include <conio.h>
#include <string>
using namespace std;
class a { public:
                                int n;
                                int m;
};
void sort (int *a,int n)
{
  int temp;
        for(int i=0;i<n;i++)
        {
                for(int j=i+1;j<n;j++)
                        if(a[j]<a[i])
                        {
                                temp=a[i];
                                a[i]=a[j];
                                a[j]=temp;
                        }
        }
}
 
int main()
{
        int **a,i,j,n=0,m=0;
        cout<<"Vvedi n "<<endl;
        cin>>n;
        cout<<"Vvedi m"<<endl;
                cin>>m;
        a=new int*[n];
        for(int i1=0;i1<n;i1++)
        {
                a[i1]=new int[m];
                }
        cout<<"Vvod elementov massiva: "<<endl;
                for(i=0;i<n;i++)
        {
                for(j=0;j<m;j++)
                {
                        cout<<"["<<i<<"]["<<j<<"]= ";
                        cin>>a[i][j];
                }
        }
        for(i=0;i<m;i++)
 
                if(a[i][0]<0)
                                                sort(a[i],m);
        for(i=0;i<n;i++)
                {
                cout<<endl;
                for(j=0;j<m;j++)
                        cout<<a[i][j]<<' ';
                }
system ("pause");
return 0;
}
но разве это что-то изменило?
Yandex
Объявления
03.06.2010, 22:12     Классы
Ответ Создать тему
Опции темы

Текущее время: 05:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru