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

Виртуальные функции. Программа вылетает с ошибкой. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разветвление http://www.cyberforum.ru/cpp-beginners/thread432489.html
Ввести три целых числа и найти наибольшее из них. #include <iostream.h> main() { int a, b, c, max; cout<<"Vvedite tri zeluh chisla "; cin>>a>>b>>c; if
C++ Определение максимальных элементов массива (С++) Всем добрый день) Задача следующая. Даны два массива, в одном 5 элементов, в другом 20. Определить индексы и значения максимальных элементов в каждом массиве. Всё, в принципе, работает, но никак не хочет выводить максимальные элементы. Перепробовал много способов, в любом случае, выводит все элементы массива. Если кто-нибудь сможет помочь, буду очень благодарен. Нахождение максимальных... http://www.cyberforum.ru/cpp-beginners/thread432485.html
C++ Упрощение и алгоритм
Здрасте есть рекурентное выражение не удаётся упростить для нахождения итератора, (ВСЯ ПРОБЛЕМА - ЭТО ДВОЙНОЙ ФАКТОРИАЛ) и может поправите алгоритм double a,c,sum; sum = a=c=x; k=1; while (fabs(c)>esp) { c = ??; a*=-c; sum+=a;
C++ ошибки компиляции консоли с++ и zlib 1.1.3, visual studio 2010
Привет, скачал в интернете исходники zlib 1.1.3 (знаю, что последняя версия гораздо больше, но мне нужна именно эта) и в microsoft visual studio 2010 пытаюсь скомпилировать простенькое консольное с++ приложение, все файлы zlib включил в проект (архив со всем проектом http://www.fayloobmennik.net/1448112), но при компиляции лезет ряд ошибок, решение которых мне не удается найти в интернете: ...
C++ Рахработать программу 2 в 1! http://www.cyberforum.ru/cpp-beginners/thread432455.html
Разработать две программы. Первая принимает от пользователя два значения времени – строки вида ЦЦ.ЦЦ.ЦЦ, где Ц – это любая цифра из диапазона . Далее она вычисляет полное количество секунд, прошедших между двумя значениями времени, и выводит его на экран. Вторая программа запускает первую в качестве вновь созданного процесса. ЗАРАНЕЕ СпасибоУ) :)
C++ Программа на c++ ( надо проверить ) Программа должна сортировать числа в массиве по возрастанию! Не мало раз проверял в чем касяк, не могу найти=) Если найдете, буду рад услышать ошибку) Вот сама программа: // Программа служит для того,чтобы правильно группировать элементы массива #include <iostream> using namespace std; int massiv = {34,23,1,54,32}; // Обозначаем массив и заполняем его предворительно подробнее

Показать сообщение отдельно
vse
 Аватар для vse
0 / 0 / 1
Регистрация: 04.01.2012
Сообщений: 8
21.01.2012, 20:01  [ТС]     Виртуальные функции. Программа вылетает с ошибкой.
soon, задание такое
Создать базовый класс Object с полем типа unsigned char.Реализовать конструктор
инициализации, задающий начальное значение этому полю (по умолчанию 0). Реализо-
вать в данном классе виртуальные функции сложения, вычитания и вывода на экран. Ре-
ализовать два производных класса, переопределив виртуальные функции предка (класс
Object). Вызывающая программа должна демонстрировать все варианты вызова вирту-
альных функций.

Создать класс с BitString и класс Hex.

Создать класс BitString для работы с битовыми строками не более чем из 100 бит.
Битовая строка должна быть представлена массивом типа unsigned char, каждый элемент
которого принимает значение 0 или 1. Реальный размер массива задается как аргумент
конструктора инициализации. Должны быть реализованы все традиционные операции для
работы с битовыми строками: and, or, xor, not. Реализовать сдвиг влево и сдвиг вправо на
заданное количество битов.
проще? если не сложно, то покажи, будь добр, механизм - а то я пока на оптимальность не нацелен.
В функции sprintf, вы передавали указтель на массив в 1 элемент.
исходил из этого:
C++
1
2
3
4
5
6
7
8
9
10
void BitString::init(int val){
     int i,bit;
     srand(time(NULL));
     pole=0;
     size=val;
     for (i=0;i<val;i++){
         bit=rand()%1000;
         stroka[i]=bit%2;
         }
}
хотя да - не совсем въехал в sprintf...

dimcoder, там я коментил алгоритм, ошибку вылавливал...

Добавлено через 9 минут
Благодарю , увеличение размерности массива вылечило...

объясните, дураку.
int sprintf(buffer, format-string[, argument...]);
char *buffer; память для хранения вывода
char *format-string; строка управления форматом

Описание.

Функция sprintf форматирует и запоминает наборы символов и
значений в buffer. Каждый аргумент argument (если он есть), пре-
образуется и выводится согласно соответствующей спецификации фор-
мата в format-string.
Format-string состоит из порядковых символов и имеет ту же
самую форму и функцию, что аргумент format-string для функции
printf. Смотрите функцию printf для описания format-string и ар-
гументов.

Возвращаемое значение.

Функция sprintf возвращает количество символов, записанных
в buffer.
C++
1
2
3
4
5
6
7
8
     char symb[1];
     int i;
     
     for (i=0;i<size;i++){
          sprintf(symb,"%1d",stroka[i]);
          cout<<symb;
     }
     cout<<"\n";
по идее в stroka[i] один символ, зачем в sprintf буфер из более чем одного символа?
 
Текущее время: 16:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru