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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2009, 12:41   #1
pakupalos
 
Регистрация: 27.06.2009
Сообщений: 3
Восклицание C++ Динамический массив, почти готово

Сформировать одномер динам массив целых чисел, из массива удалить все числа из задонного интервала ( например все от -2 до 5) изменит размер массива соответственно.
Глюк с новым массивом, наверное с инициализация,невьезжаю как все пихнуть в первый массив.
Помогите плз
Код:
#include "stdafx.h"
#include <iomanip>
#include <iostream>
#include <ctime>
using namespace std;



int _tmain(int argc, _TCHAR* argv[])
{
   int *pmas,*pmas1, diapazon, minnum, size_mas, min_int, max_int,aa,bb,x,as,pk;
    unsigned int r;
   char cont;

   do
   {
      r=unsigned int (time(NULL)%32767);     // создание исходного массива
      srand(r);
      cout<<"diapozon=";
      cin>>diapazon;
      cin.get();
      cout<<"min_num=";
      cin>>minnum;
      cin.get();
      cout<<"Size of pmas=";
      cin>>size_mas;
      cin.get();
   
     
   pmas=new int[size_mas];//inicializacija
   pmas1=new int[size_mas];
   for(int i=0;i<size_mas;i++)
   *(pmas+i)=int(rand()/32767.*diapazon)+minnum;
   for(int i=0;i<size_mas;i++)
   cout<<pmas+i<<'\t'<<*(pmas+i)<<'\n';
   cout<<'\n';
   cin.get();
as=0;
   cout<<"Vvedite interval ot a do b!"<<endl;
            cout << "A: "<<endl;//vvod a
            cin >> aa ;
            cin.get();
            cout << "B: "<<endl;//vvod b
            cin >> bb ;
            cin.get();
            for (int j=0;j<size_mas;j++)
            {
               if(*(pmas+j)>=(aa) && *(pmas+j)<=(bb))
                  as++; //esli chislo prinadlezhit intervalu udalenija - sozdaetsja summa 4islenno razvnaja kol-vu etih 4isel
            }
            cout<<"skoka 4isel prinadlezhit intervalu: "<<as<<endl;
            x=size_mas-as;//iz objoma vsego massiva udaljaetsja eta summa, tem samim polu4aja razmer novogo massiva
            pk=0;
            for (int j=0;j<size_mas;j++) //zapisj 4isel ne prinadleza6ih intervalu v massiv
            {
               if(*(pmas+j)<=aa) //esli menj6e A
               {
                  *(pmas1+pk)=*(pmas+j);
                  pk++;
               }
               else
                  if(*(pmas+j)>=bb) //esli bolj6e B
                  {
                     *(pmas1+pk)=*(pmas+j);
                     pk++;
                  }
            }
            for (int nc=0;nc<x;nc++)
            cout<<nc<<"\t\t"<<*(pmas1+nc)<<endl;//vivod na ekran massiva

delete [] pmas;

   cout<<"For continue -- <Enter>, stop -- any symbol and <Enter>";

   cin.get(cont);
   }
   
   while (cont=='\n');

   return 0;

}

Последний раз редактировалось pakupalos; 28.06.2009 в 14:02.
pakupalos вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
динамический массив Dimon Паскаль, Turbo Pascal, PascalABC.NET 3 21.03.2008 18:08
Динамический массив _ares_ Паскаль, Turbo Pascal, PascalABC.NET 3 26.12.2007 23:54
Динамический массив. Mickle Помощь студентам 9 21.06.2007 20:31
Динамический массив Mickle Общие вопросы Delphi 8 19.06.2007 06:45