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

описать класс для хранения строк - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как раделить строки в файле в классе CString? http://www.cyberforum.ru/cpp-beginners/thread235423.html
Скиньте если не трудно какой нибудь код для разделения строк в файле в классе CString
C++ Подскажите что дабавить? В этой задаче выводится наибольшая цифра в числе,подскажите,пожалуйста что добавить чтобы выводилась не только наибольшая цифра,но она была бы еще и четной. #include <ctime> #include <cstdlib> #include <cstdio> #include <windows.h> int LeastDigit(const int &a_number) { int least_digit = a_number % 10; int current_number = a_number / 10; while (current_number != 0) { if... http://www.cyberforum.ru/cpp-beginners/thread235420.html
C++ Как правильно создать динамическим массивом
Надо найти маршрут коня на доске произвольного, ограниченного только памятью машины, размера. Использование рекурсивного алгоритма обязательно. Все просто. Вот только надо ведь по идее внутри _tmain создать двумерный массив. Инициализировать его до _tmain нельзя - пока не введены размеры. Инициализировать внутри _tmain нельзя - функция вне _tmain ругается - типа массив не объявлен. Как это можно...
Где ошибка ? C++
Задание такое : Число п/4 с заданной пользователем точностью , для чего воспользоваться числовым рядом 1-1/3+1/5-1/7+1/9......;(в строку ) значения частичной суммы которого при суммировании достаточно большого количества членов приближается к значению п/4 . Мое решение : Нужно чтоб в цикле решался этот ряд до тех пор пока он не превысит п/4 ( которое я задаю ) потом просто его умножить на 4...
C++ Сортировка столбцов матрицы http://www.cyberforum.ru/cpp-beginners/thread235366.html
Помагите пожалуйсто нужно отсортиовать столбцы матрицы по возростанию нижней строки например : была матрица: 5 9 5 1 1 1 5 8 9 1 5 7 6 5 9 3 Нужно переставить столбцы местами и получить : 1 9 5 5
C++ Чтение и запись в тестовый файл.Нужно разобраться! Доброго времени суток! Т.к. я в Си пока еще не силен прошу помочь разобраться в теме про "запись и чтение из файла".Я перерыл много учебников, лазил по сайтам, но нормального ответа так и не нашел :-/ .Объясните по порядку что и как делать.Заранее Спасибо :) подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2911 / 1340 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
29.01.2011, 12:09     описать класс для хранения строк
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
#include <cstddef>
#include <cstdio>
#include <cstring>
#include <exception>
 
class String {
 public:
 
  class WrongCharacterExcpetion : public std::exception {
   public:
    WrongCharacterExcpetion(const size_t position, const char symbol) throw()
        : position_(position), symbol_(symbol) {
      sprintf(error_string_, "Incorrect symbol '%c' at position %d.\n",
              symbol_, position_);
    }
    virtual const char* what() const throw() {
      return error_string_;
    };
    size_t position() const {
      return position_;
    }
    char symbol() const {
      return symbol_;
    }
  private:
    size_t position_;
    char symbol_;
    char error_string_[80];
  };
 
  String() : size_(0), data_(NULL) {}
  explicit String(const char* string)
      : size_(0), data_(NULL) {
    SetString(string);
  }
  ~String() {
    delete data_;
  }
  void SetString(const char* new_string) {
    size_t new_string_length = strlen(new_string);
    char *string_buffer = new char[new_string_length + 1];
    size_t position = 0;
    while (new_string[position] != '\0') {
      if (new_string[position] >= '0' && new_string[position] <= '9') {
        string_buffer[position] = new_string[position];
      } else {
        delete string_buffer;
        throw WrongCharacterExcpetion(position, new_string[position]);
      }
      ++position;
    }
    string_buffer[position] = new_string[position];
    size_ = new_string_length;
    delete data_;
    data_ = string_buffer;
  }
  size_t Length() const { return size_; }
  char *CString() const { return data_; }
 private:
  size_t size_;
  char *data_;
};
 
int main(int argc, char *argv[]) {
  String a("12345");
 
  try {
    String b("125a12");
  } catch (String::WrongCharacterExcpetion &exception_rised) {
    printf("%s\n", exception_rised.what());
  }
  return 0;
}
 
Текущее время: 17:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru