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

Выбрасывает при выполнении - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Двумерный массив, количество строк без нулевых элементов http://www.cyberforum.ru/cpp-beginners/thread186871.html
Здравствуйте. У меня проблема с программой. Дана целочисленная прямоугольная матрица. определить: 1)кол-во строк , не содержащих нулевые элементы 2)максимальное из чисел, повторяющееся несколько раз Со вторым заданием я справилась, а с первым не могу. Я сама понимаю, что кусочек кода, отвечающего за 1) ошибочное, постоянно выводит мне эн, тоесть 5. Кол-во строк увеличивается независимо от...
C++ Условные операторы, двумерные массивы Вот задачи, решение сделано на Паскале, переделать нужно на Си... 1. Даны произвольные числа а, b, c. Определить, может ли быть построен треугольник со сторонами соответствующей длины, и указать, что это будет за треугольник (равносторонний, равнобедренный, какой-либо ли другой). program treugolnik; uses crt; {Подключаем модуль, содержащий функцию очистки экрана} var a, b, c : real; ... http://www.cyberforum.ru/cpp-beginners/thread186867.html
C++ последовательная обработка символов
В тексте первый символ каждого слова - цифра, указывающая длину этого слова. Проверить правильность указания длины слов. На экран вывести заданные длины слов и вычисленные. вот пограмма ток незнаю как дописать помогите! #include <stdio.h> #include <math.h> void main() { char c,c1; int l,m; c=c1=’ ‘; m=0;
C++ Сформировать две строки - первая содержит только числа из исходной строки, а вторая – только слова
1.Дан текст, состоящий из предложений. Ввод текста осуществляется в несколько строк (не более 20). Признак завершения ввода – ввод пустой строки. Предложения в тексте могут начинаться на одной строке, а заканчиваться на другой (максимальная длина предложения – 70 символов). Записать текст так, чтобы каждое предложение начиналось с новой строки. Упорядочить предложения по их длине и вывести...
C++ Засунуть в тернарный оператор http://www.cyberforum.ru/cpp-beginners/thread186846.html
Помогите засунуть выражение if ( (i < 0 || j < 0) || (i >= ROW || j >= COL) || (i == oi && j == oj)) continue; else if (arr) ++cnt; в тернарный оператор, у меня что-то не выходит никак
C++ сортировка массива по двум критериям(или что-то вроде того) Дан массив int arr, нужно отсортировать первую строчку по возрастанию, если числа равны сравнивать соответственные значения во второй (гарантируется, что все числа во второй разные). И вся проблема в том, что n=100000, а отсортировать нужно меньше чем за 0.5 сек. Конечно, написал с быстрой сортировкой, но по второй срочке не всегда сортируется. Покажу, что есть, там ошибка в if-е, где... подробнее

Показать сообщение отдельно
IchMors
96 / 92 / 4
Регистрация: 16.05.2010
Сообщений: 307
06.11.2010, 01:00     Выбрасывает при выполнении
Пытаюсь написать хеадер для работы с большими числами, через разбиение на ряд чисел.
При компиляции ошибки не обнаруживаются но при выполнении программа прерывается.
подскажите где могут быть ошибки, которые не нравятся компилятору.
del.h:
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
#include <iostream.h>
#include <vector>
 
using namespace std;
 
typedef unsigned short int usint;
 
 
class vlint
{
public:
    vlint(usint);
    void display();
    void pow(vlint &, usint);
    const vlint & operator = (const vlint &);
    vlint mult(usint);//умножение
private:
    vector <usint> mass;
};
 
 
vlint::vlint(usint a)
{
    for(;a;)
    {
        mass.push_back(a%10);
        a /= 10;
    }   
};
 
 
void vlint::display()
{
    for(int i = 0; i < mass.size(); i++)
        cout << mass[i] << ends;
};
 
 
 
void vlint::pow(vlint & a, usint p)
{
    vlint temp(a);
    for(int i = 1; i < p; i++)
        temp = a;//////недописано
};
 
 
const vlint & vlint::operator =(const vlint & rhs)
{
    if(&rhs == this) return *this;
    mass = rhs.mass;
    return *this;
};
 
vlint  vlint::mult(usint a)
{
    usint temp;
for(;a;)
{
    for(int i = 0;i < mass.size();i++)
    {
        mass[i] = mass[i]*(a%10);
        temp = mass[i]/10;
        mass[i] = mass[i]%10;
 
        if(i < mass.size())
        {
            mass[i+1] += temp;
            if(mass[i+1]/10)//переполнение при сумировании
            {
                if((i+1) < mass.size())
                    mass[i+2] += mass[i+1]%10;
                else 
                    mass.push_back(mass[i+2]%10);
            }
 
        }
        else
            mass.push_back(temp);// если следующей ячейки не существует
    }//end for i
    a /= 10;
}//end for a    
    return *this;
};
main :
C++
1
2
3
4
5
6
7
8
9
10
int main()
{
    vlint t(5);
    t.mult(5);
    t.display();
 
 
    _getch();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru