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

Размер массива объектов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Файлы. Подсчитать количество символов и строк http://www.cyberforum.ru/cpp-beginners/thread807478.html
Дан текстовый файл. Дописать в его конце следую¬щие данные: количество строк, количество символов в каждой строке, количество чисел в каждой строке.
C++ Проверить граф на связность Я обхожу граф и если остались непомеченные вершины, то он не связный, но почему то моя реализация работает некорректно :c #include <iostream> #include <vector> #include <string.h> #define MAXN 20 using namespace std; vector < vector<int> > g; vector<char> used; http://www.cyberforum.ru/cpp-beginners/thread807477.html
Объединить упорядоченные файлы не нарушая упорядоченности C++
Даны три файла вещественных чисел с именами S1, S2 и S3, элементы ко¬торых упорядочены по убыванию. Объединить эти файлы в новый файл с именем S4 так, чтобы его элементы также оказались упорядоченными по убыванию.
В одномерном массиве, состоящем из n целых элементов, 1) номер максимального элемента массива; 2) произведение элементов массива, расположенных между C++
Помогите исправить программу Задание: В одномерном массиве, состоящем из n целых элементов, 1) номер максимального элемента массива;I 2) произведение элементов массива, расположенных между первым и вторым нулевыми элементами. Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в нечетных позициях, а во второй половине элементы, стоящие в четных...
C++ Особенности работы fread http://www.cyberforum.ru/cpp-beginners/thread807452.html
Решаю типовую задачу: считывание заголовка bmp-файла (точечного рисунка). Однако у меня ничего не получалось. В ходе расследования выяснилось, что функция fread работает не так, как надо: она читает файл не в исходном виде, а так, как он лежит на жёстком диске: http://i53.***********/thumb/2013/0313/75/bcda56d3f27ac791a9cb855bdc265575.jpeg На скриншоте - bmp-файл, открытый WinHex'ом, в...
C++ Error: Unable to open include file Доброе время суток, недавно захотел попробовать писать программы под DOS, для этого установил себе на пк виртуальную машину и скачал turbo c++, но при подключении библиотек выдает кучу ошибок, к примеру простая программа с использованием iostream выдает около 20 ошибок(см. скриншот), помогите выяснить в чем же проблема подробнее

Показать сообщение отдельно
SKS-65
5 / 5 / 1
Регистрация: 18.10.2011
Сообщений: 187

Размер массива объектов - C++

13.03.2013, 15:35. Просмотров 281. Ответов 3
Метки (Все метки)

Метод Count() подсчёта количества элементов массива (массив из сообщений) не правильно распознаёт элементы,заполняет и выводит правильно а если в методе обратиться к содержимому этого объекта то он не правильно работает
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
// labar.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "iostream"
#include "conio.h"
 
using namespace std;
 
class TMessage
{
public:
    char Topic[30];
    char Author[30];
    char Text[250];
};
 
class TTopic
{
public:
    TMessage* AddMessage(char* topic,char* author,char* text);
    void GetMessage(TMessage*);
    void DeleteMessage(TMessage**,int q);
    int Count(TMessage*);
};
TMessage* TTopic::AddMessage(char* topic,char* author,char* text)
{   
   TMessage* p=new TMessage;
    strcpy(p->Topic,topic);
    strcpy(p->Author,author);
    strcpy(p->Text,text);
    return p;
}
void TTopic::GetMessage(TMessage*p)
{
    cout<<"TOPIC - "<<p->Topic<<'\n'
          <<"AUTHOR - "<<p->Author<<'\n'
          <<"TEXT - "<<p->Text<<endl;
    
}
void TTopic::DeleteMessage(TMessage **p,int q)
{ 
    for (int i=q;i<10;i++)
    {
strcpy(p[q]->Topic,p[q+1]->Topic);
strcpy(p[q]->Author,p[q+1]->Author);
strcpy(p[q]->Text,p[q+1]->Text);
    }
}
int TTopic::Count(TMessage*p)
{
    int j=0;
    for(int i=0;i<10;i++)
    {
        if (p[i].Author=="0" || p[i].Text=="0" || p[i].Topic=="0")
        break;
        else
            j++;
    }
    return j;
}
void main()
{
    setlocale(LC_ALL,"RUSSIAN");
    int* i=0;
    TTopic top; //объявляем тему
    TMessage* p[10];   //объявляем массив сообщений
        p[0]=top.AddMessage("книга","Stiven King","parapapa");
        p[1]=top.AddMessage("kniga","Stiven","parapapa");
        p[2]=top.AddMessage("0","0","0");
        
        
    top.GetMessage(p[0]);
    top.GetMessage(p[1]);
    top.GetMessage(p[2]);
    cout<<top.Count(*p)<<"\n";
    top.DeleteMessage(p,0);
    top.DeleteMessage(p,1);
    
 
    cout<<"------------------------\n";
    
     top.GetMessage(p[0]);
     top.GetMessage(p[1]);
     top.GetMessage(p[2]);
    delete p[0];
    delete p[1];
    getch();
}
здесь в цикле метода Count() счётчик до 10,но он должен выходить из цикла при просмотре 3 элемента (p[2]),но он не выходит
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru