Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет по вычислительной практике.docx
Скачиваний:
16
Добавлен:
22.02.2015
Размер:
180.58 Кб
Скачать

Приложение к

Исходный код программы 6.

  1. Mai.cpp

#include "my.h"

void main()

{

clrscr ();

int *B;

int N;

B=input(&N);

output (B,N);

long s1=0,s2=0;

s1=sum23(B,N);

s2=sumBol(B,N);

invert(B,N);

output(B,N);

output (s1,s2);

free(B);

}

int* input(int *pN)

{

printf ("\nVvedite kolichestvo elementov massiva\n");

scanf ("%d",pN);

int *A;

A=(int*)malloc((*pN)*sizeof(int));

printf ("\nVvedite elementy massiva\n");

for (int i=0;i<*pN;i++)

scanf("%d",&(A[i]));

return A;

}

void output (int A[],int N)

{ printf("\n");

for (int i=0;i<N;i++)

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

if (!getch())

getch();

}

void output(long s1,long s2)

{

printf ("\ns1= %d", s1);

printf ("\ns2=%d",s2);

if (!getch())

getch();

}

  1. Calc.cpp

#include "my.h"

long sum23 (int A[],int N)

{

long s=0;

for (int i=0;i<N;i++)

{

if ((A[i]%2==0)||(A[i]%3==0))

s+=A[i];

}

return s;

}

long sumBol (int A[],int N)

{

long sum=0;

for (int i=0;i<N-1;i++)

{

if (A[i]>A[i+1])

sum+=A[i];

}

return sum;

}

void invert (int A[],int N)

{

int iMax=0,max=A[0];

int buf;

for (int i=0;i<N;i++)

{

if (max<A[i])

{

max=A[i];

iMax=i;

}

}

i=0;

if (iMax!=N-1)

{

iMax++;

for (iMax;i<(N-iMax)/2+1;iMax++)

{

buf=A[N-1-i];

A[N-1-i]=A[iMax];

A[iMax]=buf;

i++;

}

}

}

  1. Test.cpp

#include "my.h"

void test ()

{

int A[6]={5,6,4,3,2,1};

long s;

s=sum23(A,6);

if (s!=15)

{

printf("error function sum23");

exit(1);

}

s=0;

s=sumBol(A,6);

if (s!=15)

{

printf("error function sumBol");

exit(1);

}

invert (A,6);

int j=0;

for (int i=2;i<6;i++)

{

if (A[i]!=j)

{

printf("error function sumBol");

exit(1);

}

}

}

Приложение л

Исходный код программы 3.

  1. Main.cpp

#include "my.h"

void main()

{

clrscr();

unsigned int bit;

int N;

input (&N);

calc (&bit,N);

output (bit);

}

void input (int *pN)

{

printf ("Vvedite chislo\n");

scanf ("%d",pN);

}

void output (unsigned int bit)

{

printf ("%u",bit);

if (!getch())

getch();

}

  1. Calc.cpp

#include "my.h"

void calc (unsigned int *pBit,int N)

{

*pBit=0;

int j=1;

for (int i=0;i<16;i++)

{

if (N%j==0)

{

*pBit|=(1<<i);//set bit

}

j++;

}

}

  1. Test.cpp

#include "my.h"

void test()

{

unsigned int tbit;

calc(&tbit,2);

if (tbit!=3)

{

printf ("error function calc");

exit (1);

}

}