Пример 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
|
Текст программы
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 |