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

Вопрос о строке - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подсчет количества обменов и сравнений в алгоритмах сортировки http://www.cyberforum.ru/cpp-beginners/thread167879.html
Помогите как в алгоритмах сортировки: простыми включениями (простой вставкой),методом пузырька определить - определение числа сравнений; - определение числа обменов; - определение суммы обменов и сравнений; Если можно напишите код .Заранее благодарен... Дуляж тем запрещен правилами форума (п. 3.4). Не плодите одинаковые темы!
C++ Составить программу "Телефонный справочник" Составить программу "Телефонный справочник", которая имеет меню: 1 Добавление 2 Поиск 3 Завершение работы Команда "Добавление" дописывает в файл имя, фамилию и номер телефона абонента. Если файла на диске нет, то программа должна создать его. В файле информация о каждом абоненте находится в отдельной строке. Команда "Поиск" должна запрашивать фамилию человека и выводить его телефон.... http://www.cyberforum.ru/cpp-beginners/thread167858.html
Динамический объект не содержит в себе линамических членов. Удалять ли его? C++
Собственно в теме весь вопрос) Непонятно, нужно ли вызывать delete для динамического объекта если его деструктор пустой так как все его члены принадлежат к автоматическому классу хранения.
ввод n-значного числа, вывод цифр, из которых оно состоит и вывод суммы его цифр. C++
Написать программу, осуществляющую ввод n-значного числа, вывод цифр, из которых оно состоит и вывод суммы его цифр. Подключить стандартные библиотеки (библиотека стандартного ввода-вывода <stdio.h>, библиотека потокового ввода-вывода <ios-tream.h>, библиотека функций управления текстовым экраном <conio.h>, библиотека математических функций <math.h>, библиоте-ка стандартных функций <stdlib.h>).
C++ Вывести случайный элемент массива со значением 1 http://www.cyberforum.ru/cpp-beginners/thread167803.html
Такая штука: нужно вывести рандомный элемент массива, значение которого = 1. Ищу для этого в цикле рандомные значения строки/столбца и сравниваю элемент с 1. Естественно это плохо, т.к. с помощью rand() постоянно выводятся повторяющиеся значения, и для обработки, например, массива 100x100 может случится до 40.000 проходов. Вот код: int main() { #include <iostream.h> const int n...
C++ На сколько дней студенту хватит стипендии S, если он тратит N руб. в день и его расходы увеличиваются в X раз? На сколько дней студенту хватит стипендии S, если он тратит N р. в день и его расходы каждый день увеличиваются в X раз? подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9382 / 5432 / 916
Регистрация: 25.07.2009
Сообщений: 10,428
21.09.2010, 23:34     Вопрос о строке
alexsvk, да что ж из Вас всё клещами-то тянуть надо? Объявление/определение класса ComNum где? В его же конструкторе программа виснет...
Вот так всё работает, правда, толка от такого класса не много...
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
#include <iostream>
#include <cstring>
 
class ComNum {
    char * str;
public:
    ComNum(const char * _str){
        size_t len = strlen(_str);
        str = new char [ len + 1 ];
        strcpy(str, _str);
    }
    ~ComNum(){
        delete [] str;
    }
    friend std::ostream & operator << (std::ostream & ost, const ComNum & c){
        ost << c.str;
        return ost;
    }
};
 
int main(int argc, char* argv[])
{
    char str [80];
 
    //cout.width(strlen("Examples of expressions:")/2 + 40);
    std::cout << "Examples of expressions:" << std::endl;
    //cout.width(strlen("2+3i")/2 + 40);
    //cout<<"2+3i"<<endl;
    //cout.width(strlen("2") + 40);
    //cout<<2<<endl; 
    //cout.width(strlen("0i")/2 + 40);
    //cout<<"0i"<<endl;
    //cout.width(strlen("2-1i")/2 + 40);
    //cout<<"2-1i"<<endl;
    
    std::cout << "Enter the 1st expression: ";
    std::cin.getline(str,79);
//    cout<<'a';
    ComNum num_1(str);
//    strcpy(str,"");
//    cout<<str<<"ya"<<endl;
 
    std::cout << "Enter the 2nd expression: ";
    std::cin.getline(str,79);
    ComNum num_2(str);
    
    std::cout << "First: " << num_1 << "\nSecond: " << num_2 << std::endl;
    return 0;
}
И кстати
Цитата Сообщение от alexsvk Посмотреть сообщение
cout.width(strlen("2+3i")/2 + 40);
и далее по тексту (что я закомментировал) - это что за танцы с бубном?
 
Текущее время: 18:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru