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

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

Войти
Регистрация
Восстановить пароль
 
nik-nak
0 / 0 / 0
Регистрация: 24.01.2011
Сообщений: 12
#1

Динамическое распределение памяти. - C++

24.01.2011, 14:52. Просмотров 717. Ответов 11
Метки нет (Все метки)

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
#include<stdio.h>
#include<stdlib.h>
 
int bespor(int *ptr);
 
void main(void){
    int *ptr,kolvo,b=0,i,z=1;
    scanf("%d",&kolvo);//Сколько элементов в последовательности?
    kolvo--;
    if(kolvo>1){
        ptr=(int*)malloc(kolvo*sizeof(int));
        for(i=0;i<=kolvo;i++){
            scanf("%d",(ptr+i));
        }
    b=bespor(ptr);
    free(ptr);
    }
    printf("%d",b);
    while(z==1){//Задержка экрана.
                 scanf("%d",&z);
}}
 
int bespor(int *ptr){
    int i=0, flag=0, b=0;
    if((*(ptr+i))<(*(ptr+(i+1)))){
        flag++;
    }
    i++;
    while(*(ptr+(i+1))!=NULL){
        if(flag==1){
            if((*(ptr+i))>(*(ptr+(i+1)))){
                b++;
                flag--;
        }}else{
            if((*(ptr+i))<(*(ptr+(i+1)))){
                b++;
                flag++;
        }}
        i++;
    }
    return b;
}
Условие: Написать программу, которая подсчитывает, сколько раз последовательность меняется с убывающей на возрастающую и наоборот, перед этим узнав, сколько эл-тов в посл-ти.
Например: 5 4 6 2 8
Ответ: 3
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2011, 14:52     Динамическое распределение памяти.
Посмотрите здесь:

Динамическое распределение памяти - C++
Дан динамический целочисленный массив y1,y2,....,yn. и и динамическая символьная переменная h. Если значение h равно '+', преобразовать...

Динамическое распределение памяти - C++
Добрый вечер! Помогите пожалуйста! Поставлена такая задача: Разработать программу, которая в матрице размерности n*n меняет местами...

Динамическое распределение памяти - C++
Добрый вечер, помогите пожалуйста разобраться с задачкой!!! Дана действительная квадратная матрица порядка 2n. Получить новую матрицу,...

Динамическое распределение памяти - C++
Помогите,пожалуйста) - расширьте функционал программы за счет возможности введения с клавиатуры размера одномерного массива; -...

Динамическое распределение памяти - C++
Не подскажите , здесь где-то есть ошибка? задача : Даны действительные числа . Получить действительную квадратную матрицу порядка n&lt;8,...

Динамическое распределение памяти - C++
как писать эту на программе с++ Даны действительные числа . Получить действительную квадратную матрицу порядка n&lt;8, элементами...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
24.01.2011, 14:56     Динамическое распределение памяти. #2
И в чём сопстна вопрос?
nik-nak
0 / 0 / 0
Регистрация: 24.01.2011
Сообщений: 12
24.01.2011, 14:57  [ТС]     Динамическое распределение памяти. #3
Не компилится.
И я не могу понять в чем ошибка.
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
24.01.2011, 15:00     Динамическое распределение памяти. #4
У меня всё компилируется.
nik-nak
0 / 0 / 0
Регистрация: 24.01.2011
Сообщений: 12
24.01.2011, 15:02  [ТС]     Динамическое распределение памяти. #5
Какой компилятор?
В компилируемом(у меня) варианте программа глючила на последовательностях с 5 и более элементами.
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
24.01.2011, 15:13     Динамическое распределение памяти. #6
Так не компилируется или не работает?

Добавлено через 8 минут
Вот так код должен выглядеть:

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
#include<stdio.h>
#include<stdlib.h>
 
int bespor(int *ptr);
 
void main(void){
        int *ptr,kolvo,b=0,i,z=1;
        scanf("%d",&kolvo);//Сколько элементов в последовательности?
        //kolvo--;
        if(kolvo>1){
                ptr=(int*)malloc(kolvo*sizeof(int));
                for(i=0;i</*=*/kolvo;i++){
                        scanf("%d",(ptr+i));
                }
        b=bespor(ptr);
        free(ptr);
        }
        printf("%d",b);
        while(z==1){//Задержка экрана.
                 scanf("%d",&z);
}}
 
int bespor(int *ptr){
        int i=0, flag=0, b=0;
        if((*(ptr+i))<(*(ptr+(i+1)))){
                flag++;
        }
        i++;
        while(*(ptr+(i+1))!=NULL){
                if(flag==1){
                        if((*(ptr+i))>(*(ptr+(i+1)))){
                                b++;
                                flag--;
                }}else{
                        if((*(ptr+i))<(*(ptr+(i+1)))){
                                b++;
                                flag++;
                }}
                i++;
        }
        return b;
}
nik-nak
0 / 0 / 0
Регистрация: 24.01.2011
Сообщений: 12
24.01.2011, 15:15  [ТС]     Динамическое распределение памяти. #7
Не компилируется выложенный вариант.
Компилирующийся не работает,т.е. выдает неверный ответ(что-то напутал с в функции bespor, уже не помню).
Работаю с Visual Studio 2010 Express.
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
24.01.2011, 15:17     Динамическое распределение памяти. #8
Выложенный вариант компилируется в MSVS2010.
nik-nak
0 / 0 / 0
Регистрация: 24.01.2011
Сообщений: 12
24.01.2011, 15:22  [ТС]     Динамическое распределение памяти. #9
Спасибо. Заработало.
Теперь небольшое пояснение:
Эта задача у меня была на экзамене по программированию.
Теперь захотелось проверить(преподаватель требовал трассировку в уме), но первоначального варианта я не помню(а листочек посеял) и решил перерешать(извините за тавтологию).
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
24.01.2011, 15:24     Динамическое распределение памяти. #10
nik-nak, а экзамен-то сдали?
nik-nak
0 / 0 / 0
Регистрация: 24.01.2011
Сообщений: 12
24.01.2011, 15:28  [ТС]     Динамическое распределение памяти. #11
Ирония судьбы.
Сдал на 5.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2011, 15:29     Динамическое распределение памяти.
Еще ссылки по теме:

Динамическое распределение памяти - C++
Помогите переделать программу в соответствии с условиями: а) для хранения массивов используйте динамически распределяемую память; б)...

Динамическое распределение памяти - C++
Динамическое распределение памяти Ребят выручайте уж совсем плохо с ним:

Динамическое распределение памяти - C++
Прошу помощи! Даны действительные числа a1...an2 . Получить действительную квадратную матрицу порядка n&lt;8, элементами которой являются...

Динамическое распределение памяти - C++
Столкнулся со следующей задачей: Создать список, элементами которого являются целые числа. Данные формируются случайным образом. Данные...


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

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
24.01.2011, 15:29     Динамическое распределение памяти. #12
Поздравляю)))
Yandex
Объявления
24.01.2011, 15:29     Динамическое распределение памяти.
Ответ Создать тему
Опции темы

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