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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2010, 23:21   #1
Dmitry73
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 13
По умолчанию удаление элемента из массива

как удалить из массива все простые числа и подсчитать процент удаленных элементов?
Dmitry73 вне форума Ответить с цитированием
Старый 01.12.2010, 23:29   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

какой язык программирования? Какой массив (динамический/статический/другой) ?

а вообще, всё просто - удалить элемент из массива, это переписать все последующие элементы со сдвигом на один.
например, удаляем K-й элемент. (размер массива = N)
тогда:
for i:=K to N-1 do do A[i] := A[i+1];
и после размер массива уменьшаем на единицу:
N := N - 1;
(если массив динамический - то можно и размер выделенный под массив уменьшить (см. SetLength() ), если статический, то так и оставить...)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.12.2010, 23:36   #3
Dmitry73
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 13
По умолчанию

язык си, массив статический, я вроде попробовал написать программу, но где то ошибка, не работает(

Код:
for(i=0;i<N;i++)
	  {if(a[i]>0)
		{  b=a[i];
	  while(b!=1)
	 { if(b%k==0)
	  {c++;             //с-подсчитывает кол во делителей
	 b=b/k;
	  k++;}
	  else
	  { k++;}
	  }k=1;
	  i2=i; // i2-запоминает позицию на которой простое число
	  if(c==2)
	  while(i2<n)
	  {a[i2]=a[i2+1];
	  n=n-1;
	  i2++;
	  }
	  c=0;
	  }
	  }


        printf(" \n");
    for(i=0;i<n;i++)
    {
         printf(" %d",a[i]);
    }

Последний раз редактировалось Stilet; 02.12.2010 в 09:07.
Dmitry73 вне форума Ответить с цитированием
Старый 02.12.2010, 09:10   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пример грохота элементов массива:
http://www.programmersforum.ru/showthread.php?t=123064
http://www.programmersforum.ru/showthread.php?t=124684
Смысл примерно такой как Серж описал
В твоем случае просто в условии нужно выяснить простое ли это число или нет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удаление элемента массива Studentka_iz_ZP Общие вопросы C/C++ 2 02.10.2010 13:55
Удаление элемента из массива prostac Помощь студентам 2 30.09.2010 11:14
Удаление элемента из массива asd874 Помощь студентам 3 13.05.2010 12:13
Удаление элемента из массива Ozerich PHP 10 14.02.2009 02:21
Удаление элемента массива chiffa Общие вопросы Delphi 1 03.01.2008 19:24