Амтамасыздандыру


Бір өлшемді жиыммен жұмыс істеу мысалы



бет41/51
Дата07.09.2022
өлшемі484,5 Kb.
#38632
түріЛекция
1   ...   37   38   39   40   41   42   43   44   ...   51
Бір өлшемді жиыммен жұмыс істеу мысалы.
Бір өлшемді бүтін а жиымының ең үлкен элементін және оның индексін тауып, оны бірінші элементпен алмастырыңыз. Сонымен қатар программа берілген жиымның оң және теріс элементтерінің сандарын анықтайтындай болуы керек.
Программа былай жазылады:
#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] бірөлшемді массиві берілген. Жұп орында орналасқан элементтердің ең кішісін тауып, оның индексін де анықтау керек. Ал тақ орында тұрған элементтердің ең үлкенін және индексін табу керек.




Достарыңызбен бөлісу:
1   ...   37   38   39   40   41   42   43   44   ...   51




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет