Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 04.05.2014
Сообщений: 57

Программа на исполнение запускается, но пишет, что проект окончился крахом

14.06.2015, 09:14. Показов 704. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В этом коде выдает такую ошибку:
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
#include "widget.h"
#include "ui_widget.h"
#include <QColor>
#include <QImage>
#include <QDebug>
#include <math.h>
#include <stdlib.h>
 
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
 
//1
ui->setupUi(this);
g = new QImage("C:/MGU.jpg");
float k=1.7;
mini= new QImage("C:/MGU 2.png");
 
float average=0;
int H=g->height();
int W=g->width();
//
int **Im=new int *[W];
for(int x=0;x<W;x++)
    for(int y=0;y<H;y++)
    {
    Im[x][y]=0;
    for(int i=0;i<x;i++)
        for(int j=0;j<y;j++)
            Im[x][y]+=g->pixel(i,j);
    }
 
int *Color=new int[W*H];
for(int x=0;x<W;x++)
    for(int y=0;y<H;y++)
    {
        QColor color(g->pixel(x,y));
        int G=color.green();
        int R=color.red();
        int B=color.blue();
        int grey=floor(0.299*R+0.587*G+0.114*B);
        Color[x*H+y]=grey;
        g->setPixel(x,y,qRgb(grey,grey,grey));
        average+=grey;
    }
 
}
 
void Widget::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    painter.drawImage(0,0,g->scaled(this->size()));
}
 
Widget::~Widget()
{
    delete ui;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.06.2015, 09:14
Ответы с готовыми решениями:

Программа не запускается на исполнение
Доброй ночи. Возникла такая проблема: написал программу, должно быть правильно, компилятор никаких ошибок не выдает. Но при запуске...

Программа "Hello world" не запускается, пишет ошибку, что не так?
Здравствуйте, недавно начал изучать си шарп, застрял на элементарном, но лучше спрошу, чем неучем быть, вот программа хелло ворлд не...

Не запускается Rosa, пишет что то про сектора
Здравствуйте, подскажите пожалуйста, что сделать, что бы запустилась.Ставил рунту, пишет что ошибки на диске, исправила и нормально...

7
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
14.06.2015, 09:20
Долго объяснять, поэтому объяснять не буду..
Замени все динамические выделения массивов под изображения на:
C++
1
int * p = new int [W * H];
и обращайся к ним так:
C++
1
2
3
color = p[y * W + x]; // чтение
...
p[y * W + x] = color; // запись
освобождение:
C++
1
delete [] p;
0
0 / 0 / 0
Регистрация: 04.05.2014
Сообщений: 57
14.06.2015, 09:26  [ТС]
castaway, Не совсем поняла, что на что заменять.
Цитата Сообщение от Jim Посмотреть сообщение
int *Color=new int[W*H];
надо заменить?
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
14.06.2015, 09:27
Цитата Сообщение от Jim Посмотреть сообщение
Не совсем поняла, что на что заменять.
Всё заменить. Оставить только имена указателей.
Цитата Сообщение от Jim Посмотреть сообщение
надо заменить?
Нет. Тут как надо. Только проверь обращение к этому массиву, там не правильно.
0
0 / 0 / 0
Регистрация: 04.05.2014
Сообщений: 57
14.06.2015, 09:40  [ТС]
castaway,
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
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
 
    //1
    ui->setupUi(this);
    g = new QImage("C:/MGU.jpg");
    float k = 1.7;
    mini = new QImage("C:/MGU 2.png");
 
 
    //int Hm=mini->height();
    //int Wm=mini->width();
 
    float average = 0;
    int H = g->height();
    int W = g->width();
    //
    int **Im = new int *[W];
    for (int x = 0; x<W; x++)
    for (int y = 0; y<H; y++)
    {
        Im[x][y] = 0;
        for (int i = 0; i<x; i++)
        for (int j = 0; j<y; j++)
            Im[x][y] += g->pixel(i, j);
    }
    //
    /*
    int **corel=new int *[W];
    for(int i=0;i<W;i++)
    corel[i]=new int [H];
    */
    int *p = new int[W*H];
    for (int x = 0; x<W; x++)
    for (int y = 0; y<H; y++)
    {
        QColor color(g->pixel(x, y));
        int G = color.green();
        int R = color.red();
        int B = color.blue();
        int grey = floor(0.299*R + 0.587*G + 0.114*B);
        color= p[x*H + y] ;
        p[x*H + y]=color;
        color = p[y*W + x];
        p[y*W + x] = color;
        g->setPixel(x, y, qRgb(grey, grey, grey));
        average += grey;
    }
Так? Кажется неправильно, но я не понимаю как иначе.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
14.06.2015, 09:42
Вот как я писал:
C++
1
2
3
4
5
int * p = new int [W * H];
...
color = p[y * W + x]; // чтение
...
p[y * W + x] = color; // запись
Вот как у тебя:
C++
1
2
3
4
5
6
7
8
    int **Im = new int *[W];
    for (int x = 0; x<W; x++)
    for (int y = 0; y<H; y++)
    {
        Im[x][y] = 0;
        for (int i = 0; i<x; i++)
        for (int j = 0; j<y; j++)
            Im[x][y] += g->pixel(i, j);
Чего тут не понятного? Не можешь ключевые строки сравнить?
0
0 / 0 / 0
Регистрация: 04.05.2014
Сообщений: 57
14.06.2015, 09:54  [ТС]
castaway, так?
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
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
 
//1
ui->setupUi(this);
g = new QImage("C:/MGU.jpg");
float k=1.7;
mini= new QImage("C:/MGU 2.png");
 
 
//int Hm=mini->height();
//int Wm=mini->width();
 
float average=0;
int H=g->height();
int W=g->width();
//
int * p=new int [W*H];
for(int x=0;x<W;x++)
color = p[y*W+x];
p[y*W=x]=color;
    {
    Im[x][y]=0;
        for(int j=0;j<y;j++)
            color = p[x*H+y];
        p[x*H+y]=color;
            Im[x][y]+=g->pixel(i,j);
    }
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
14.06.2015, 09:58
Нет. Пойди прочитай какую-нибудь книгу по С++. У меня нервов не хватит тебе подсказывать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.06.2015, 09:58
Помогаю со студенческими работами здесь

Монитор пишет, что нет сигнала. Компьютер запускается.
Здравствуйте, хотел бы посоветоваться по поводу моей проблемы. Сидел смотрел видео на компьютере, тут внезапно все повисло намертво,...

Программа неожиданно завершилась (с крахом) - C++ (Qt)
Пиши свою первую игру. Пока на стадии организации связи между формами. Но... При запуске вылетает ошибка неожиданное завершение программы...

Программа завершается крахом при чтении из сокета
Есть структура balance, ее тип ProtocolStruct::RespEnvirState. Есть переменная int nBalance, которая хранит количество байт, которыми...

Во время добавления элементов на форму программа завершается крахом
В MDI проекте создаю второе дочернее окно. Причем есть еще одно, где все элементы добавлены по тому же принципу и все работает. ...

Не запускается проект и откомпилированная программа на другом компьютере
Всем здравствуйте! Имеется лабораторная работа,написанная и прекрасно работающая у меня на компьютере. Но не запускается ни на едином...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru