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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2014, 08:39   #1
novichok_yu
 
Регистрация: 25.05.2014
Сообщений: 5
По умолчанию удалить элементы массива между мин.и макс. элементами(С)

язык С. удалить элементы массива между максимальным и минимальным элементами.
вот мой код. но в результате наэкран выводятся нули. что не так?
Код:
/* programma*/
#include <stdio.h>
#include <stdlib.h>
main()
{
int *mas1,*mas2;
int n,k,i,j, min, max, nommin, nommax, nom;
printf("vvedi n: ");
scanf("%d",&n);
mas1=(int*)calloc(n,sizeof(int));
if (!mas1||n<=0)
 {
 printf("Pamyt' ne vydelena \n");
 system ("PAUSE");
 return 0;
 }
for(i=0;i<n;i++)
 {
 printf("vvedite chislo: ");
 scanf("%d",&mas1[i]);
 }
min=max=mas1[0];
for(i=1;i<n;i++)
 {if(mas1[i]>max)
    {
   max=mas1[i];
   nommax=i;
    }
  if(mas1[i]<min)
   {
    min=mas1[i];
    nommin=i;
   }
   }
k=n-abs(nommax-nommin)+1;
mas2=(int*)calloc(k,sizeof(int));
if (!mas2)
 {
 printf("Pamyt' ne vydelena 2\n");
 system ("PAUSE");
 return 0;
 }
 
if ((nommax-nommin)>0)
  {
    for(i=0, j=0; i<n;i++)
    {
    nom=i;
     if(nom<=nommin&&nom>=nommax)
      {while(nom<=nommin){
        mas2[j]=mas1[i];
       j++;}
      while(nom>=nommax)
       {j=k+i;
       mas2[j]=mas1[i];
       }
     }
   }
  }
if((nommax-nommin)<0)
 {
    for (i=0, j=0; i<n;i++)
    {
    nom=i;
     if(nom>=nommin&&nom<=nommax)
      {while(nom>=nommin)
      {j=k+i;
        mas2[j]=mas1[i];
      }
     while(nom<=nommax){
     mas2[j]=mas1[i];
      j++;}
      }
    }
 }
free(mas1);
for(j=0;j<k;j++)
printf("%d ",mas2[j]);
printf("\n");
 
system("PAUSE");
return 0;
}
novichok_yu вне форума Ответить с цитированием
Старый 25.05.2014, 09:29   #2
novichok_yu
 
Регистрация: 25.05.2014
Сообщений: 5
По умолчанию

помогите, пожалуйста)
novichok_yu вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из массива удалить элементы кратные трем,стоящие между максимальными и минимальными элементами natatimina Помощь студентам 1 19.04.2014 20:41
Как переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами? xEk Помощь студентам 1 09.05.2012 21:20
Удалить элементы в массиве, стоящие между максимальным и минимальным элементами Tkas Помощь студентам 0 04.03.2012 16:50
Сортировка между мин и макс deus-expo Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 25.01.2012 21:50
Дана матрица 9х9. В строках с отрицательными элементами на главной диагонали найти сумму, макс и мин DeVcheNka Помощь студентам 5 21.11.2008 07:46