Преобразование одномерных массивов

Пример 4.4

Задан массив действительных чисел Х размером 20 элементов.

Удалить из него все отрицательные элементы.


Текст программы

 

 int main()

 {

float a[20];

int n,i,j,ku;

n=20;

 

for (i=0;i<n;i++)

{

a[i]=-20+0.001*rand();

printf("%6.1f",a[i]);

}

ku=0;

for (i=n-1; i>=0; i--)

if(a[i]<0)

  {ku++;

   for(j=i; j<n-1; j++)

   a[j]=a[j+1];

   }

printf("\n");

printf("\n");

for (i=0;i<n-ku;i++)

printf("%6.1f",a[i]);

return 0;

}


Пример 4.5

Заданы массивы A размером n и B размером m.

Перенести в массив C те элементы массива A, которые не входят в массив B

 


Текст программы

int main()

 {

  int a[30],b[30],c[30];

int n,i,m,j,k,l=0;

 

 printf("\n введите размер массив А");

 scanf(“%d”,&n);

 

printf("\n массив А");

for (i=0;i<n;i++)

{

a[i]=0.005*rand();

printf(" %5d",a[i]);

}

 

 printf("\n введите размер массив B ");

 scanf(“%d”,&m);

 

printf("\n массив B");

for (i=0;i<m;i++)

{

b[i]= 0.005*rand();

printf("%5d",b[i]);

}

for (i=0;i<n;i++)

{

k=0;

for (j=0;j<m;j++)

if (a[i]==b[j]) k++;

if (k>0){c[l]=a[i];l++; }

}

 

printf("\n массив C");

 

 for (i=0; i<l;i++)

 printf(" %5d",c[i]);

return 0;

}

 

 

Пример 4.6

Цикл для перебора первого сравниваемого элемента массива A
Задан массив A размером n. Перенести в массив C те элементы массива A, которые повторяются 2 и более раз.

 


Текст программы

 

int main()

 {

 int a[30],c[30];

 int n,i,m,j,k,l=0,pr;

 printf("\n введите размер массив А");

 scanf(“%d”,&n);

 

for (i=0;i<n;i++) 

scanf(“%d”,&a[i]);

 

printf("\n массив А");

for (i=0;i<n;i++)

printf("%4d",a[i]);

 

for (i=0;i<n;i++)

{

k=0;

for (j=0;j<n;j++)

if (a[i]==a[j]) k++;

if (k>=2){pr=0;

      for (j=0;j<l;j++)

        if(c[j]==a[i]) pr=1;

if (pr==0

)

{c[l]=a[i]; l++; }}

}

printf("\n массив C");

for (i=0; i<l;i++)

printf(" %5d",c[i]);

return 0;

}

Пример 4.7    

Задан массив действительных чисел Х размером 20 элементов.

Передвинуть его элементы влево циклическим сдвигом так,

чтобы максимальный элемент занял первое место.

 

 

 

 


int main()

 {

float a[40],max, dop;

int n,i,k,nmax;

n=6;

for (i=0;i<n;i++)

  {

a[i]=-10+0.001*rand();

printf("%5.1f",a[i]);

}

 max=-1000;

 for (i=0;i<n;i++)

 if(a[i]>max) { max=a[i];nmax=i; }

printf("\n max=%6.1f nmax=%d",max,nmax);

for(k=1; k<=nmax; k++)

{

dop=a[0];

for (i=0; i<n-1; i++)

a[i]=a[i+1];

a[n-1]=dop;

}

printf("\n");

for (i=0;i<n;i++)

printf("%6.1f",a[i]);

return 0;

}

 

 






Многомерные массивы

4.4.1 Описание многомерных массивов.

Язык Си позволяет объявлять многомерные массивы. Самым простым из многомерных массивов является двумерный массив. Можно сказать, что двумерный массив - это массив из одномерных массивов.

a11 a12 a13 ... a1m
a21 a22 a23 ... a2m
a31 a32 a33 ... a3m
         
an1 an2 an3 ... anm

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: