Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2013, 00:48   #1
Sumy-ua
Пользователь
 
Регистрация: 12.05.2013
Сообщений: 31
По умолчанию Стек

Помогите сделать программу.Создать стек с числами в диапазоне от –50 до +50.Подсчитать, сколько элементов стека имеют значение, которое превышает среднее значение всех элементов стека.. В конце работы стек должен быть удален.
Sumy-ua вне форума Ответить с цитированием
Старый 22.09.2013, 13:05   #2
Igor95
Форумчанин
 
Регистрация: 03.01.2013
Сообщений: 388
По умолчанию

Наработки?
Igor95 вне форума Ответить с цитированием
Старый 22.09.2013, 14:34   #3
Sumy-ua
Пользователь
 
Регистрация: 12.05.2013
Сообщений: 31
По умолчанию

Создает стек, содержащий только четные числа из первого стека. Помогите переделать под мое задание.
Код:
#include <stdio.h>
#include <conio.h>
 
#define LEN 100
 
int g_count1 = 0;
int g_count2 = 0;
int* g_v = NULL;
int* g_v2 = NULL;
 
int n = 105;
 
void push(int* gv, int& g_count, int val)
{
    if (g_count >= LEN) return;
    gv[g_count++] = val;
}
 
bool pop(int* gv, int& g_count, int* pval)
{
    if (g_count <= 0 || pval == NULL) return 0;
    if (pval != NULL) *pval = gv[--g_count];
    return 1;
}
 
int main(int argc, char* argv[])
{
    if (g_v == NULL)
    {
        g_v = new int[LEN+1];
        g_v2 = new int[LEN+1];
    }
 
    int i = -50;
    while (i <= 50) push(g_v,g_count1,i++);
 
    int val = 0;
    while (pop(g_v,g_count1,&val))
    {
        if ((val % 2) == 0)
            push(g_v2, g_count2, val);
    }
    
    while (pop(g_v2,g_count2,&val))
        printf("%d\n",val);
 
    if (g_v != NULL && g_v2 != NULL) 
    {
        delete[] g_v;
        delete[] g_v2;
    }
 
    _getch();
 
    return 0;
}
Sumy-ua вне форума Ответить с цитированием
Старый 23.09.2013, 19:06   #4
Sumy-ua
Пользователь
 
Регистрация: 12.05.2013
Сообщений: 31
По умолчанию

Кто то поможет?
Sumy-ua вне форума Ответить с цитированием
Старый 23.09.2013, 20:55   #5
Igor95
Форумчанин
 
Регистрация: 03.01.2013
Сообщений: 388
По умолчанию

Цитата:
Сообщение от Sumy-ua Посмотреть сообщение
Кто то поможет?
Какбы немного накладно создавать стек под 100 элементов.
Ну что, в лоб:
В цикле от -50 до 50 создаете элемент стека и в его информационную часть записываете число. И т.д до 50
Igor95 вне форума Ответить с цитированием
Старый 24.09.2013, 02:34   #6
Sumy-ua
Пользователь
 
Регистрация: 12.05.2013
Сообщений: 31
По умолчанию

Как сделать чтобы стек рандомно заполнялся в диапазоне -50..+50, размерность стека например 10
Sumy-ua вне форума Ответить с цитированием
Старый 24.09.2013, 06:57   #7
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию

Цитата:
Как сделать чтобы стек рандомно заполнялся в диапазоне -50..+50, размерность стека например 10
Код:
rand()%101-50

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Старый 24.09.2013, 14:27   #8
Sumy-ua
Пользователь
 
Регистрация: 12.05.2013
Сообщений: 31
По умолчанию

Цитата:
Сообщение от _PROGRAMM_ Посмотреть сообщение
Код:
rand()%101-50
Где именно мне эту строку вставить?
Sumy-ua вне форума Ответить с цитированием
Старый 24.09.2013, 22:03   #9
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию

Цитата:
Где именно мне эту строку вставить?
Этот код возвращает целое значение от -50, до 50. Вы, генерируя стек, задаете каждому элементу значение. Например
Код:
array[1]=rand()%101-50;
В вашем случае эту строку нужно передать функции как аргумент. Все делается в цикле.

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стек на С++ Electroflower Общие вопросы C/C++ 37 05.01.2012 14:20
Стек Виктор32 Паскаль, Turbo Pascal, PascalABC.NET 1 24.03.2011 15:54
Стек [ICQ] Помощь студентам 5 02.05.2010 13:44