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

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

Войти
Регистрация
Восстановить пароль
 
ТОрчОК
Заблокирован
#1

узнать количество элементов через указатель - C++

11.05.2013, 22:46. Просмотров 317. Ответов 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
#include"cards.h"
#include"cards2.h"
#include<string>
#include<iostream>
#include<conio.h>
#include<vector>
template<class T> class cards
{
    T card;
    T suit;
    std::string* cs;
    std::string* buffer;
    std::string player[6];
    std::string warrior[6];
public:
    cards();
    ~cards();
    std::string get(std::string c, std::string s);
    void cards_of_player();
    void cards_of_warrior();
    void remove_cards(const std::string mas[]);
};
template<class T>cards<T>::cards()
{
    cs=new std::string[36];
    buffer=new std::string[36];
}
template<class T>cards<T>::~cards()
{
    delete []cs;
    delete []buffer;
}
template<class T>std::string cards<T>::get(std::string c, std::string s)
{
    static int i=0;
    card=c;
    suit=s;
    cs[i]=c+s;
    std::string cs2=cs[i];
    i++;
    return cs2;
}
template<class T>void cards<T>::cards_of_player()
{
    int i;
    std::cout<<"ваши карты:"<<std::endl;
    for(int k=0;k<6;k++)
    {
        i=rand()%35;
        player[k]=cs[i];
        std::cout<<player[k]<<' ';
    }
    remove_cards(player);
}
template<class T>void cards<T>::cards_of_warrior()
{
    int i;
    std::cout<<std::endl<<"враг получил карты";
    for(int k=0;k<6;k++)
    {
        i=rand()%35;
        warrior[k]=cs[i];
    }
}
template<class T>void cards<T>::remove_cards(const std::string mas[])
{
    delete []buffer;
    buffer=new std::string[];
    std::cout<<sizeof("КАК?");                           //необходимо выделить память. как получить размер массива из    
    for(int i=0;i<sizeof("КАК?");i++)                        // из указателя на него
    {
            if(cs[i]!=mas[0]&&cs[i]!=mas[1]&&cs[i]!=mas[2]&&cs[i]!=mas[3]&&cs[i]!=mas[4]&&cs[i]!=mas[5])
            {
                static int j=0;
                buffer[j]=cs[i];
                std::cout<<std::endl<<buffer[j]<<std::endl;
                j++;
            }
    }
}
int main()
{
    setlocale(LC_ALL,"rus");
    cards<std::string> r;
    for(int i=0;i<(sizeof(ns)/sizeof(std::string));i++)
    {
        for(int j=0;j<(sizeof(ns2)/sizeof(std::string));j++)
        {
            r.get(ns[i].name,ns2[j].suit);
        }
    }
    r.cards_of_player();
    r.cards_of_warrior();
    getch();
    return 0;
}
проблему указал в комментариях. спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2013, 22:46     узнать количество элементов через указатель
Посмотрите здесь:
C++ Как узнать тип, переданный через указатель на void?
Вычислить и распечатать сумму элементов массива, используя указатель и метод доступа через разименование C++
C++ Найти через индекс количество отрицательных и количество положительных элементов массива
C++ Узнать указывает ли указатель
Массивы. Подсчитать количество элементов, равных нулю и сумму положительных элементов (Написать через классы) C++
C++ Узнать количество элементов массива, которые при делении на 7 дают остаток 1,2 или 5
Как узнать, инициализирован ли указатель? C++
Степень вывести через указатель,a десятичный логарифм через функцию рекуренционную C++
Быстрее ли вывов функции, переданной через параметр шаблона, чем через простой указатель на функцию? C++
Узнать номер элемента массива на который указывает указатель C++
C++ Как узнать, что заданная переменная - это указатель?
C++ Как можно узнать размер выделенной динамической памяти, на которую ссылается указатель a?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13045 / 7308 / 814
Регистрация: 27.09.2012
Сообщений: 18,041
Записей в блоге: 3
Завершенные тесты: 1
11.05.2013, 22:50     узнать количество элементов через указатель #2
Передавать отдельным параметром
ТОрчОК
Заблокирован
11.05.2013, 22:53  [ТС]     узнать количество элементов через указатель #3
так не пойдет, параметр будет менятся. по-другому никак? или вы что-то другое имели ввиду?
Croessmah
Модератор
Эксперт CЭксперт С++
13045 / 7308 / 814
Регистрация: 27.09.2012
Сообщений: 18,041
Записей в блоге: 3
Завершенные тесты: 1
11.05.2013, 23:15     узнать количество элементов через указатель #4
Можете использовать std::vector вместо головной боли с массивом
Yandex
Объявления
11.05.2013, 23:15     узнать количество элементов через указатель
Ответ Создать тему
Опции темы

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