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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2010, 17:50   #21
aRise
Пользователь
 
Регистрация: 06.08.2010
Сообщений: 11
По умолчанию

ну если нужно еще и динамически размер массива изменять, тогда
Цитата:
int n=0, m=0;
int mass1[10]={1,0,33,55,0,77,0,2,6,0};
int s=0;
for(int i=0; i<10; i++) s += (mass1[i]>0);
int* mass2 = (int*)LocalAlloc(LPTR,s);
int j=0;
for(int i=0; i<10; i++)
if(mass1[i]>0) mass2[j++]=mass1[i];
честно говоря не помню как там выделять память не через API. (getmem или как там?)
aRise вне форума Ответить с цитированием
Старый 06.08.2010, 17:58   #22
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

new/delete
/me покосился на iostream в первом посте
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux
ozo вне форума Ответить с цитированием
Старый 06.08.2010, 18:44   #23
КМ1978
 
Регистрация: 06.08.2010
Сообщений: 8
По умолчанию

Окончательно остановился на этом варианте, думаю буду прав. Массив получается такой длины как надо. Кроме того значение n просчитано до заполнения массива и объявления константы count.
Код:
#include<conio.h>
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
    int n=0, j=0;
    int mass1[10]={1,0,33,55,0,77,0,2,6,0};
    for(int i=0; i<10; i++)
    {
        if(mass1[i]>0)
            n++;
    }
    const int count=n;
    int mass2[count];
    for(int i=0; i<10; i++)
    {
        if(mass1[i]>0)
        {
            mass2[j]=mass1[i];
            j++;
        }
    }
    for(int i=0; i<count; i++)
        cout<<mass2[i]<<setw(4);
    getch();
    return 0;
}

Последний раз редактировалось КМ1978; 06.08.2010 в 19:25.
КМ1978 вне форума Ответить с цитированием
Старый 06.08.2010, 18:46   #24
КМ1978
 
Регистрация: 06.08.2010
Сообщений: 8
По умолчанию

p.s. в Qt-Creatore работает

Последний раз редактировалось КМ1978; 06.08.2010 в 19:26.
КМ1978 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопрос по массивам souwOw Помощь студентам 0 24.10.2009 23:02
вопрос по массивам peq Microsoft Office Excel 2 15.10.2009 18:52
Вопрос по парным массивам в С++ Chudic Помощь студентам 4 07.11.2008 10:33
Вопрос по массивам Azzy Общие вопросы .NET 4 23.12.2007 23:43