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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2009, 20:54   #1
Алекс...)))
 
Регистрация: 04.02.2009
Сообщений: 9
Восклицание Динамические массивы в Борланд Си... (Что у меня не правильно в программе?)

ЗАДАНИЕ:::
Записать в массив Х 25 целых чисел. Переписать положительные из них подряд в массив P, а отрицательные - в массив N

Код HTML:
#include <conio.h>
#include <stdio.h>
#include <time.h>
#include <iostream.h>
#include <stdlib.h>
const int n=25;
int main()
{
 int a[n], *p, *o, i, j, k, z;
 bool fl;
 srand (time(NULL));
 // zapolnyaem a
 cout<<"Massiv a:\n";
 for (i=0; i<n; i++)
  {
   a[i]=rand()%10;
   cout.width(4);
   cout<<a[i];
  }
 cout<<endl<<endl;
  //----------------
 // smotrim, skolko mesta nygno dlya novogo massiva
 for (i=0, k=0; i<n; i++)
  {
   fl=true;
   for (j=0; j<m; j++)
   if (a[i]>=0)
    {
     fl=false;
     break;
    }
   if (!fl) continue;
   k++;
  }
 //-----------------
 //videlyaem pamyat
 p=new int[k];
 //zapolnyaem massiv p
 cout<<"Massiv p:\n";
 z=0;
 for (i=0; i<n; i++)
  {
   fl=true;
   for (j=0; j<m; j++)
   if (a[i]>=0)
    {
     fl=false;
     break;
    }
   if (!fl) continue;
   p[z++]=a[i];
   cout.width(4);
   cout<<a[i];
  }
 // smotrim, skolko mesta nygno dlya novogo massiva
 for (i=0, k=0; i<n; i++)
  {
   fl=true;
   for (j=0; j<m; j++)
   if (a[i]<0)
    {
     fl=false;
     break;
    }
   if (!fl) continue;
   k++;
  }
 //-----------------
 //videlyaem pamyat
 o=new int[k];
 //zapolnyaem massiv o
 cout<<"Massiv o:\n";
 z=0;
 for (i=0; i<n; i++)
  {
   fl=true;
   for (j=0; j<m; j++)
   if (a[i]<0)
    {
     fl=false;
     break;
    }
   if (!fl) continue;
   o[z++]=a[i];
   cout.width(4);
   cout<<a[i];
  }
 delete[] p;
 delete[] o;
 getch();
 return 0;
}
Алекс...))) вне форума Ответить с цитированием
Старый 09.02.2009, 20:55   #2
Алекс...)))
 
Регистрация: 04.02.2009
Сообщений: 9
По умолчанию

Отрицательные у меня как === о
а положительные как === р
Алекс...))) вне форума Ответить с цитированием
Старый 09.02.2009, 21:47   #3
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

Кароч вот решение:
Код:
int main()
{
	const int col = 25;
	int arr[col];
	int *arrp = 0;
	int *arrn = 0;
	int lenp  = 0;
	int lenn  = 0;

	srand(time(0));
	cout<<"Original array:"<<endl;
	for(int i = 0; i < col; ++i)
	{
		arr[i] = rand()%10-5;
		cout<<arr[i]<<" ";
	}
	cout<<endl;
	//------------------------------
	for(int i = 0; i < col; i++)
		if(arr[i] >= 0) 
			lenp++;
		else  
			lenn++;
	arrp = new int[lenp];
	arrn = new int[lenn];

	for(int i = 0, x = 0, y = 0; i < col; i++)
	{
		if(arr[i] >= 0) 
			arrp[x++] = arr[i];
		else
			arrn[y++] = arr[i];
	}
	//------------------------------

	//Out Array
	cout<<"Arrp array:"<<endl;

	for(int i = 0; i < lenp; i++)
		cout<<arrp[i]<<" ";

	cout<<endl<<"Arrn array:"<<endl;

	for(int i = 0; i < lenn; i++)
		cout<<arrn[i]<<" ";
	cout<<endl;

	delete[] arrp;
	delete[] arrn;

	return 0;
}
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Указатели и динамические массивы. Airou Общие вопросы C/C++ 5 16.01.2009 19:05
Помогите переделать 2 задачи под динамические массивы (Паскаль) mpegable Помощь студентам 2 27.05.2008 17:32
Ошибка в программе. Массивы RECREATOR Общие вопросы Delphi 5 21.12.2007 12:13
Циклическо сдвинуть элементы массива на K позиций влево, тоже сделать, испульзуя динамические массивы Fimogen Общие вопросы C/C++ 10 03.11.2007 11:19