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

Не работает метод класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать класс с функцией поиска http://www.cyberforum.ru/cpp-beginners/thread1199593.html
Ребята помогите написать класс с функцией поиска, состоящий из 5 строк
C++ Контейнер std::vector Помогите определить почему не работает задача. Оибку выбивает на строку k.push_back(0); #include <iostream> #include <math.h> #include <vector> #include <algorithm> using namespace std; class Sample http://www.cyberforum.ru/cpp-beginners/thread1199592.html
Матрица и диагональные элементы C++
в заданной квадратной матрицы значения некоторых диагональных элементов равны нулю. переставить строки или столбцы матрицы таким образом, чтобы диагональные элементы стали ненулевыми. если это невозможно сделать вывести соответствующее сообщение
Надо описать функции перегрузки в абстрактном классе C++
Здравствуйте. Есть код и нужно сделать так, чтобы перегрузки операторов + и > были описаны в абстрактном классе. Оператор сложения: c=(a+b)/(amin+bmin), где amin и bmin - минимальные элементы в iой строке Оператор >: Истина, если среднее арифметическое икаждого столбца 1 матрицы > чем среднее арифметическое кадого столбца во 2ой матрице Код: #include "StdAfx.h" #include <iostream>...
C++ Определить количество строк, содержащих ‘:’ или ‘–’ http://www.cyberforum.ru/cpp-beginners/thread1199569.html
Определить количество строк, содержащих ‘:’ или ‘–’ #include<stdio.h> #include<stdlib.h> #include<conio.h> #include <string.h> int main (){ int i, kolvo1=0, kolvo2=0, kolvo3=0;
C++ Переписать элементы, расположенные на вспомогательной диагонали и под ней в одномерный массив по столбцам есть два задания, честно говоря очень сложно представить как их сделать . помогите люди добрые! 1. Переписать элементы, расположенные на вспомогательной диагонали и под ней в одномерный массив по столбцам. 2. Записать на место отрицательных элементов нули, а на место положительных - единицы подробнее

Показать сообщение отдельно
makadore
1 / 1 / 0
Регистрация: 29.05.2014
Сообщений: 20

Не работает метод класса - C++

05.06.2014, 01:05. Просмотров 215. Ответов 3
Метки (Все метки)

C++ (Qt)
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
 
using namespace std;
 
class Lines
{
private:
    char *line;
 
public:
    void setLine(char *l)
    {
        int len = strlen(l);
 
        line = new char[len+1];
 
        if (len < 2)
        {
            strcpy(line, "Wrong Line");
        }
        else
        {
            strcpy(line, l);
        }
    }
 
    int getSize()
    {
        return strlen(line);
    }
 
    void popLater(int index)
    {
        if (index < 0) return;
 
        int size = getSize();
        for (int i = index - 1; i < size; i++)
        {
            line[i] = line[i + 1];
        }
    }
 
    void popLaters(char symbol)
    {
        int counter = 0;
        int size = getSize();
        char *tmp = new char[size + 1];
        for (int i = 0; i <= size; i++)
        {
            if (line[i] != symbol)
            {
                tmp[counter] = line[i];
                counter++;
            }
        }
        tmp[counter] = '\0';
        delete[] line;
    line = tmp;
    }
 
    void getLine()
    {
        for (int i = 0; line[i] != NULL; i++)
        {
            cout << line[i];
        }
        cout << endl;
    }
 
    void save(char *path)
    {
        FILE *file;
        int len = getSize();
        fopen_s(&file, path, "wb");
        fwrite(&len, 4, 1, file);
        fwrite(line, sizeof(char), len, file);
        fclose(file);
    }
 
    void load(char *path)
    {
        FILE *file;
        fopen_s(&file, path, "rb");
        if (!file)
        {
            cout << "File not found!";
            return;
        }
        delete[] line;
        int len;
        fwrite(&len, 4, 1, file);
        line = new char[len + 1];
        fwrite(line, sizeof(char), len, file);
        fclose(file);
    }
};
 
void main()
{
    Lines a;
 
    //a.setLine("1 2 3 4 5 6 7 8 9"); // инициализируем строку
    //a.getLine(); // выводим строку
    //cout << "Dlinna stroki: " << a.getSize() << endl; // вывод длинны строки
    //a.popLater(3); // удаляем указанный символ по индексу.
    //a.popLaters(' '); // удаляем указанный символ.
    //cout << endl;
    //a.getLine();
    //a.save("mybin.dat"); // сейвим файл
    a.load("mybin.dat"); // загружаем файл
 
}
Скажите, правильно ли я сохраняю и считываю массив строк?
Поджскажите, что не так, пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru