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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Алгоритм Хаффмана http://www.cyberforum.ru/cpp-beginners/thread861970.html
Добрый день!Есть у кого исходники Сжатие по алгоритму Хаффмана,написанные на СИ(с ассемблерными вставками).Заранее благодарю
C++ Выход за границы массива Выхожу за пределы массива, но вот только не понимаю как. #include <iostream> #include <fstream> using namespace std; const int n = 10; const int m = 6; int main() http://www.cyberforum.ru/cpp-beginners/thread861967.html
C++ Я не прошу писать мне код, я прошу подсказать мне, что за структура требуется в задании
Написать программу для работы по запросам оператора с приоритетной очередью запросов. Куча отображается в память двоичным деревом. Приоритет - целое число. Запрос - строка произвольной длины. Узел дерево содержит ключ, указатель на левое и правое поддеревья, направление предыдущего прохода и указатель на поле запрса. В очереди могут находится запросы с равными приоритетами; в этом случае...
Ошибки ввода C++
Кто-нибудь помогите, не работает ввод.
C++ Дана строка символов, состоящая из цифр и пробелов. Вывести на экран слово с максимальной длиной http://www.cyberforum.ru/cpp-beginners/thread861922.html
Помогите, выдает ошибку в проверке условия цикла #include <conio.h> #include <stdio.h> #include <string.h> int main() { char dest; clrscr();
C++ специфичная проверка на конец файла Дело в чем. Я считываю с файла 2 размерности , 2 матрицы и вектор. Потом надо провести проверку прочитан ли файл до конца( для того чтобы размерности не были меньше матриц). Вполне логичная проверка if (!fin.eof()) {//блабла} работает не совсем корректно. Если после самого последнего элемента поставить пробел, то он отлавливает этот пробел. А ведь это не ошибка, так как вектор от него не... подробнее

Показать сообщение отдельно
ТОрчОК
Заблокирован

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

11.05.2013, 22:46. Просмотров 304. Ответов 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;
}
проблему указал в комментариях. спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru