Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
957.35 Кб
Скачать
  1. Блок-схема:

початок

vvedit rozmir masuvy

i = 0; i<n; i++

Y[i]

1

1

vu hochete znaytu:

1, 2,3

g == 1

SYMA(Y,n)

syma dodatnuh zn =

g ==2

SYMA(Y,n)

syma mosyliv elementiv pislya pershogo dodatn zn

g == 3

ZSYV(Y, n)

masuv(Y,n)

кінець

початок

c = 0

i = 0; i<k; i++

mas[i]>0

c = c + mas[i]

кінець

початок

i = 0; i<k; i++

mas[i]>0

T = i

2

2

i = T; i<k; i++

r = r +fabs(mas[i])

кінець

початок

k

i = 1; i<k; i++

Z[i-p]=mas[i]

j=0; j<p; j++

Z[i-p]=mas[i]

i=0; i<k; i++

Z[i]

кінець

початок

Vash masuv

i=0; i<k; i++

mas[i]

кінець

  1. Складання програми:

#include<stdio.h>

#include<math.h>

#include <conio.h>

#include<stdlib.h>

double SYMA(double *mas, int k);

double MODYL(double *mas, int k);

void ZSYV(double *mas, int k);

void masuv (double *mas, int k);

void main(){

int n,g,i;

double *Y;

printf("vvedit rozmir masuvy");

scanf ("%d",&n);

Y=(double*)malloc(sizeof(double)*n);

for (i = 0; i<n; i++){

printf("%d chlen masuvy \n",i+1);

scanf("%lf",&Y[i]);

}

masuv(Y,n);

p:

printf("vu hochete znaytu: \n");

printf("1 - symy + elementiv \n");

printf("2 - symy modyliv elementiv pislya pershogo dodatn zn \n");

printf("3 - zsynytu el na k el vlivo \n");

scanf("%d",&g);

if (g == 1)

printf("syma dodatnuh zn = %lf \n",SYMA(Y,n));

if(g == 2)

printf("syma mosyliv elementiv pislya pershogo dodatn zn = %lf \n",MODYL(Y,n));

if(g == 3)

ZSYV(Y, n);

else {

printf("nevirno vvelu dani \n");

goto p;}

getch ();

free (Y);

}

double SYMA(double *mas, int k){

double c;

int i;

c = 0;

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

if(mas[i]>0)

c = c + i;

}

return c;

}

double MODYL(double *mas, int k){

double T,r;

int i;

T = 0;

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

if(mas[i]>0){

T = i;

break;}

}

r = 0;

if(T==0)

{

printf("Nevirno \n");

}

else {

for (i = T; i<k; i++){

r = r +fabs(mas[i]);

}

}

return r;

}

void ZSYV(double *mas, int k){

int i,j,p;

double Z[100];

printf("Vvedit k \n");

scanf("%d",&p);

printf("vash masuv \n");

for(i=p; i<k; i++){

Z[i-p]=mas[i];

}

for(j=0; j<p; j++){

Z[k-p+j]=mas[j];

}

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

printf("%lf \t",Z[i]);

}

}

void masuv(double *mas, int k){

int i;

printf("Vash masuv \n");

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

printf("%lf \t",mas[i]);

}

}