Пятница, 17.05.2024, 23:03
Приветствую Вас, Гость

*************************************15 - 3

Составить программу, определяющую, из каких цифр состоит заданное натуральное число и печатающую эти цифры в возрастающем порядке.

 

#include<stdio.h>

 #include<conio.h>

 unsigned long chislo=546245672;

 int i,k,c,j,min,ostatok;

 int a[20];

 void main()

 {

 clrscr();

 unsigned long nach_znach=chislo;

 for(i=0; chislo!=0; i++)

   {

    ostatok=chislo%10;

    a[i]=ostatok;

    chislo=(chislo-ostatok)/10;

    k=i;

   }

 for(j=0; j<k+1; j++)

   {

   min=a[j];

   for(i=j; i<k+1; i++)

     if(min>a[i])

       {

            c=a[i];

            a[i]=min;

            min=c;

       }

   a[j]=min;

   }

 printf("The first place count: %lu.\n",nach_znach);

 printf(" The counts: ");

 for(i=0; i<k+1; i++)

   if(i!=k-1)

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

   else

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

 getch();

 }


*************************************15 - 4

Каждый из элементов X[i] массива X[n] заменить средним значением первых i элементов этого массива (т.н.задача текущего сглаживания).

 

#include <stdio.h>

#include <conio.h>

#include <math.h>

void main () {

        clrscr();

            float a[] = {3,7,2,3,9,0,1};

            float sum=0;

            int i,j;

            for (i=0;i<sizeof(a)/sizeof(float);i++) printf("%f ",a[i]);

            printf("\b\n");

            for (i=0;i<sizeof(a)/sizeof(float);i++) {

                        sum=0;

                        for(j=0;j<i+1;j++) sum+=a[j];

                        sum=sum/j;

                        a[i]=sum;

            };

            for (i=0;i<sizeof(a)/sizeof(float);i++) printf("%f ",a[i]);

            getch();

}