Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
delpors
3 / 3 / 1
Регистрация: 14.05.2013
Сообщений: 20
#1

Программа запускается, но работает некорректно - C++

06.07.2013, 10:42. Просмотров 550. Ответов 15
Метки нет (Все метки)

Недавно начал изучать С++, перешел к указателям. Написал небольшой код, компилятор почти никаких ошибок не выводит, программа запускается но работает не правильно, после того как ввожу значения, закрывается.
0
Миниатюры
Программа запускается, но работает некорректно  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2013, 10:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа запускается, но работает некорректно (C++):

некорректно работает программа - C++
Программа компилируется но после ввода данных пропадает окно! #include<iostream.h> #include<string.h> #include<math.h> ...

некорректно работает программа - C++
Написала вот эту программу, она компилируется, но после ввода данных, вылазит ошибка. С чем это может быть связано? // f(x,y) = 3*x-y ...

Некорректно работает программа - C++
При создании c1 все еще правильно. При выполнении операторов уже нет. Почему? #include <iostream> #define _USE_MATH_DEFINES #include...

оператор if, некорректно работает программа - C++
#include <iostream.h> #include <math.h> main () { int b; double z, x=0.63, c=1.5, d=2, a=0.37; cout << "Vvedite znachenie...

Некорректно работает программа. Бесконечный цикл - C++
Код запускается, но после ввода данных просто ничего не происходит, не вылетает, не выдает ошибку. Помогите, что не так? Уверен ошибка...

Программа по работе с файлом работает некорректно - C++
Помогите найти где ошибка,программа работает со строками из файла, компилятор пишет error C2039: 'clear' : is not a member of...

15
castaway
Эксперт С++
4915 / 3023 / 370
Регистрация: 10.11.2010
Сообщений: 11,080
Записей в блоге: 10
Завершенные тесты: 1
06.07.2013, 10:53 #2
Поставь system( "pause" ); между 9-й и 10-й строками.
1
delpors
3 / 3 / 1
Регистрация: 14.05.2013
Сообщений: 20
06.07.2013, 13:03  [ТС] #3
[QUOTE=lazybiz;4812189]Поставь system( "pause" ); между 9-й и 10-й строками.[/а QUOTE]
а system() из какой библиотеки?
0
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
06.07.2013, 13:09 #4
delpors, stdlib.h
1
delpors
3 / 3 / 1
Регистрация: 14.05.2013
Сообщений: 20
06.07.2013, 13:14  [ТС] #5
функцию вставил, но программа работает также
0
120°
12 / 10 / 1
Регистрация: 01.07.2013
Сообщений: 62
06.07.2013, 13:14 #6
delpors, у вас в программе еще одна небольшая проблема. там из одной функции возвращается адрес локальной переменной. нехорошо...
0
delpors
3 / 3 / 1
Регистрация: 14.05.2013
Сообщений: 20
06.07.2013, 13:18  [ТС] #7
В начале была эта ошибка, но программа работала, после того как вставил указатели, работать отказалась.
0
castaway
Эксперт С++
4915 / 3023 / 370
Регистрация: 10.11.2010
Сообщений: 11,080
Записей в блоге: 10
Завершенные тесты: 1
06.07.2013, 13:36 #8
Будь так любезен, скопируй то что у тебя получилось с изменениями сюда.
0
delpors
3 / 3 / 1
Регистрация: 14.05.2013
Сообщений: 20
06.07.2013, 13:41  [ТС] #9
ну вот
0
Миниатюры
Программа запускается, но работает некорректно  
delpors
3 / 3 / 1
Регистрация: 14.05.2013
Сообщений: 20
06.07.2013, 13:46  [ТС] #10
мне кажется проблема здесь show(del+5,&d)
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,287
Записей в блоге: 2
Завершенные тесты: 1
06.07.2013, 13:49 #11
delpors, лучше скинь код, а не скриншот.
0
delpors
3 / 3 / 1
Регистрация: 14.05.2013
Сообщений: 20
06.07.2013, 13:51  [ТС] #12
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
#include <iostream>
double kol=0;
double *(sab)(double *(*massive),int a);
void show(double *(*massive),double *(*a));
int main(){
    double *d;
    double *del[5];
    *d=*sab(del+5,5);
    show(del+5,&d);
}
double *(sab)(double *(*massive),int a){//функция заполняет массив и возвращает
                      //реальный его размер
    for (int s=0;s<a;s++){
        std::cout<<"Введите значения ";
        std::cin>>*(*massive+s);
        if (!std::cin)
            break;
        kol+=1;
    }
    return &kol;
}
void show(double *(*massive),double *(*a)){//функция выводит содержимое массива
    for (int s=0;s<*(*a);s++){
    std::cout<<"Значения массива "<<*(*massive+s)<<std::endl;
    }
 
}
0
castaway
Эксперт С++
4915 / 3023 / 370
Регистрация: 10.11.2010
Сообщений: 11,080
Записей в блоге: 10
Завершенные тесты: 1
06.07.2013, 14:03 #13
Где у тебя system( "pause" ); ?
Сейчас в чем проблема?
0
delpors
3 / 3 / 1
Регистрация: 14.05.2013
Сообщений: 20
06.07.2013, 19:54  [ТС] #14
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
#include <iostream>
#include <stdlib.h>
double kol=0;
double *(sab)(double *(*massive),int a);
void show(double *(*massive),double *(*a));
int main(){
    double *d;
    double *del[5];
    *d=*sab(del+5,5);
    show(del+5,&d);
    system("pause");
}
double *(sab)(double *(*massive),int a){//функция заполняет массив и возвращает
                      //реальный его размер
    for (int s=0;s<a;s++){
        std::cout<<"Введите значения ";
        std::cin>>*(*massive+s);
        if (!std::cin)
            break;
        kol+=1;
    }
    return &kol;
}
void show(double *(*massive),double *(*a)){//функция выводит содержимое массива
    for (int s=0;s<*(*a);s++){
    std::cout<<"Значения массива "<<*(*massive+s)<<std::endl;
    }
 
}]
да вставил я его, никаких изменений

Добавлено через 5 часов 40 минут
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
#include <iostream>
double kol=0;
double *(sab)(double *massive,int a);
void show(double *massive,double *a);
int main(){
    double *d;
    double del[5];
    *d=*sab(del,5);
    show(del,&(*d));
}
double *(sab)(double *massive,int a){//функция заполняет массив и возвращает
                                        //реальный его размер
    for (int s=0;s<a;s++){
        std::cout<<"Введите значения ";
        std::cin>>*(massive+s);
        if (!std::cin)
            break;
        kol+=1;
    }
    return &kol;
}
void show(double *massive,double *a){//функция выводит содержимое массива
    for (int s=0;s<*a;s++){
    std::cout<<"Значения массива "<<*(massive+s)<<std::endl;
    }
 
}
Я нашел мои ошибки, теперь она работает. Спасибо всем кто пытался мне помочь.
0
castaway
Эксперт С++
4915 / 3023 / 370
Регистрация: 10.11.2010
Сообщений: 11,080
Записей в блоге: 10
Завершенные тесты: 1
06.07.2013, 19:57 #15
delpors, и в чем же была ошибка?
0
06.07.2013, 19:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2013, 19:57
Привет! Вот еще темы с ответами:

Программа работает некорректно, в результате выводятся заданные изначально значения - C++
//#include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &quot;cstdio&quot; #include &quot;math.h&quot; #include &quot;stdlib.h&quot; #define N 5 int main() { ...

Не могу понять почему программа работает некорректно (односвязные списки) - C++
Построить однонаправленный список чисел. Затем исключить из него все повторы чисел, оставить каждое число в списке в единственном...

Программа в vs не запускается; в dev запускается, но зависает - C++
помогите исправить ошибку, в vs не запускается, в dev запускается, на повисает #include &lt;iostream&gt; #include &lt;fstream&gt; using...

Некорректно работает - C++
Здравствуйте помогите пож-та с задачкой: Сформировать вещественный массив X1(N), N≤20, элементами которого являются случайные числа из...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru