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

Динамический массив (классов) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамическая строка и перегрузка операций http://www.cyberforum.ru/cpp-beginners/thread445947.html
Всем доброго дня!!!Если есть минутка, помогите сделать эти задания!буду очень благодарен!! Вот сама задача!!!! 1. Длина L четная, то выделяется подстрока со второго пробела.
C++ Создать класс, для работы с динамическими векторами Создать класс, для работы с динамическими векторами, длины n. В класс реализовать операцию вычитания векторов ввода и вывода в поток. Проверить работу соответствующих операций. http://www.cyberforum.ru/cpp-beginners/thread445943.html
C++ Задача на функции
Помогите разобраться с задачей. Задание. Описать процедуру Minmax (A, B), записывающую в переменную А минимальное из значений А и В, а в переменную В - максимальное из этих значений (А и В -...
Отлов нескольких одновременно нажатых клавиш C++
Всем доброго времени суток. Подскажите как одновременно отловить несколько клавиш, попробовал это проделать с ctrl + shift и правой + левой кнопками мыши, получилось конечно, но не очень корректно...
C++ нужно перевести математическую формулу у формулу нва с++ http://www.cyberforum.ru/cpp-beginners/thread445881.html
http://i070.***********/1202/4b/d6d4496e5067t.jpg
C++ класс - прямоугольник Нужно найти площадь и периметр прямоугольника.... вот написала код...но он не работает...подскажите пожалуйста что делать??? #include <iostream> using namespace std; float... подробнее

Показать сообщение отдельно
Alexpm
3 / 3 / 0
Регистрация: 06.09.2011
Сообщений: 47

Динамический массив (классов) - C++

14.02.2012, 11:09. Просмотров 1578. Ответов 5
Метки (Все метки)

Вот такой вопрос, почему так?

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
#include <iostream>
#include <string>
using namespace std;
 
class primer
{
public:
    primer (int _number, char _s1[])
    {
        number=_number;
        strcpy(s1, _s1);
    }
    primer()
    {
    }
    primer input(int number)
    {
        char s1[10];
        cout<<"Пример:"<<" ";
        cin.sync();
        cin.getline(s1, sizeof(s1), '\n');
        cin.sync();
        primer tmp(number, s1);
        return tmp;
    }
    void output()
    {
        cout<<number<<" "<<s1<<endl;
    }
    private:
    int number;
    char s1[10];
};
 
int dobavl(primer *mass, int n)
{
    cout<<"Сколько?"<<" "; cin>>n;
    mass=(primer*) realloc (mass, (n*sizeof(primer)));  
    for (int i=0, number=1; i<n; i++, number++)
    {
        mass[i]=mass[i].input(number);
    }
        for (int i=0; i<n; i++)
    {
        mass[i].output();
    }
    return n;
};
 
void main()
{
    setlocale(LC_ALL,"Russian");
    primer *mass=(primer*) malloc(sizeof(primer));
    int n=0;
    n=dobavl(mass, n);
}

==============================================================
А если вывод на экран делать из отдельной функции:
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
#include <iostream>
#include <string>
using namespace std;
 
class primer
{
public:
    primer (int _number, char _s1[])
    {
        number=_number;
        strcpy(s1, _s1);
    }
    primer()
    {
    }
    primer input(int number)
    {
        char s1[10];
        cout<<"Пример:"<<" ";
        cin.sync();
        cin.getline(s1, sizeof(s1), '\n');
        cin.sync();
        primer tmp(number, s1);
        return tmp;
    }
    void output()
    {
        cout<<number<<" "<<s1<<endl;
    }
    private:
    int number;
    char s1[10];
};
 
int dobavl(primer *mass, int n)
{
    cout<<"Сколько?"<<" "; cin>>n;
    mass=(primer*) realloc (mass, (n*sizeof(primer)));  
    for (int i=0, number=1; i<n; i++, number++)
    {
        mass[i]=mass[i].input(number);
    }
    return n;
};
 
void vivod(primer mass[], int n)
{   
    for (int i=0; i<n; i++)
    {
        mass[i].output();
    }
};
 
void main()
{
    setlocale(LC_ALL,"Russian");
    primer *mass=(primer*) malloc(sizeof(primer));
    int n=0;
    n=dobavl(mass, n);
    vivod(mass, n);
}
То так:


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