Бір өлшемді жиыммен жұмыс істеу мысалы. Бір өлшемді бүтін а жиымының ең үлкен элементін және оның индексін тауып, оны бірінші элементпен алмастырыңыз. Сонымен қатар программа берілген жиымның оң және теріс элементтерінің сандарын анықтайтындай болуы керек.
Программа былай жазылады:
#include #include void main(void)
{ int a[4]={-1,-20,4,100}; // жиымды инициалдап сипаттау
// индексі 0- ден 3- ке дейін өзгереді
int i,index,max,kp,ko;
clrscr();
puts("\n БАСТАПҚЫ ЖИЫМ\n");
for (i=0; i<4; i++)
printf("%d ",a[i]); // бастапқы жиымның элем баспаға шығару max=a[0]; kp=0; ko=0;
for (i=1; i<4; i++)
{ if (a[i]>max) {
max=a[i]; index=i; }
}
a[index]=zam; a[0]=max;
for (i=0;i<4;i++)
{
if (a[i]<0) ko=ko+1;
else kp=kp+1;
}
puts("\n ПРОГРАММАНЫҢ ЖҰМЫСЫНЫҢ НӘТИЖЕЛЕРІ\n");
for (i=0; i<4; i++)
printf("%d ",a[i]); // Жиымның элементтерін ш ы ғ а р у
printf("\n Жиымның оң элементтері : %d \n",kp);
printf(" \n Жиымның теріс элементері: %d,\
\n\n Press any key...",ko);
getch();
}
Есеп. Бүтін оң және теріс сандардан тұратын a[n] массивінің жұп нөмірлі элементтерінің қосындысын табу керек, мұнда n саны енгізіледі, ал жиым элементтерінің мәндері кездейсоқ бүтін сандардан тұрады. rand() функциясы 0...32767 аралығындағы бүтін сан береді. Оны қолдану үшін stdlib.h директивасын қолдану қажет. Жиым элементтері екі разрядты оң және теріс сандардан тұруы үшін алынған кездейсоқ сан 100-ге көбейтіліп онан 50 алып тасталынған.
//сумма четных элементов массива
#include #include #include main()
{
int a[50];
int n;
printf("\nРазмерность массива : ");
scanf("%d",&n);
for(int i=0;i{
a[i] = rand() % 100 - 50; // случайные числа до 32767
printf("%i ",a[i]); // далее остаток от 100 и - 50
}
int sum=0;
for(i=0;isum+=a[i]; //элементы с индексами 0, 2, 4...
printf("\nсумма четных элементов массива : %i",sum);
}
Есеп: Бүтін сандардан құралған А(10) бір өлшемді жиымы (массиві) берілген. Сол массивтің оң элементтерінің қосындысын табу керек.
// Сумма положительных //элементов массива А[10]
// массив вводится
#include #include #define n 10
main ()
{int i=0,s=0;
int a[n];
textcolor(RED);
textbackground(WHITE);
clrscr();
while (i {
printf("a[%i]=",i);
scanf("%i",&a[i]);
if (a[i]>0)
s=s+a[i];
i=i+1;
}
printf("нaтиже= %d\n",s);
printf("\nаяkтау yшiн Enter");
getch();
}
Есеп: Бүтін сандардан тұратын А(n) бір өлшемді жиымы (массиві) берілген. Сол массивтің ең үлкен элементін және оның индексін анықтау керек.
// Определение max a[n] и его индекса
#include #include #include main ()
{
int max,n,k,i,a[100];
printf("\nРазмерность массива : ");
scanf("%d",&n);
printf("Элементы массива:");
for(i=0;i{a[i] = rand() % 100 - 50; // случайные числа до 32767
printf(" %i ",a[i]);} // далее остаток от 100 и - 50
// определение максимума
max=a[0];k=0;
for (i=1;iif (a[i]>max)
{max=a[i]; k=i;}
printf("\nmax = %d его индекс=%d\n",max,k+1);
getch();
}
Мысал: Бүтін сандардан тұратын А[15] бірөлшемді массиві берілген. Массивтің оң элeменттерінің геометриялық ортасын анықтау керек.
/* Дан целочисленный массив A[15], определить геом. среднее элементов > 0 */
#include #include #include #include #define n 15
main ()
{
int a[n],i;
printf("\nЭлементы массива:");
for(i=0;i{a[i] = rand() % 100 - 50; // случайные числа до 32767
printf(" %i",a[i]);} // далее остаток от 100 и - 50
// определение произведения и кол-ва пол. эл-тов
i=0; // начальный индекс = 0
float p=1.0; // произведение положит. эл-тов
int k=0; // кол-во положит. эл-тов
do
{ if (a[i]>0) { k++; p*=a[i];}
i++;
}
while (iprintf("\nкол-во пол эл-тов : %d\n",k);
p=pow(p,1.0/k);
printf("cp геом = %f",p);
getch();
}
Үйге:
1. А[10] бірөлшемді массиві берілген. Жұп орында орналасқан элементтердің ең кішісін тауып, оның индексін де анықтау керек. Ал тақ орында тұрған элементтердің ең үлкенін және индексін табу керек.