Синников С++ / Документ Microsoft Word
.docx6 помоему вариант 7
#include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL,"RUS"); int n; int i,j,k; printf("Введите кол-во точек на множестве M: "); scanf("%d",&n); int x[n], y[n]; int checkPoint[n]; printf("Введите точки (координаты х и у через пробел)\n"); for(i=0;i<n;i++) { printf("M%d: ",i+1); scanf("%d %d",&x[i],&y[i]); checkPoint[i]=0; } int f;int leftSide=0, rightSide=0; for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { leftSide=0; rightSide=0; for(k=0;k<n;k++) { f = (x[k]-x[i])*(y[j]-y[i])-(y[k]-y[i])*(x[j]-x[i]); if(f>0) leftSide=1; if(f<0) rightSide=1; } if(leftSide==0 || rightSide ==0) {checkPoint[i]=1; checkPoint[j]=1;} } } for(i=0;i<n;i++) { if(checkPoint[i]==0) { printf("Условие не выполнено, не для каждой точки A существует точка B, такая, что что не существует двух точек множества M, лежащих по разные стороны от прямой AB."); return 0; } } printf("Условие выполнено! Для каждой точки A существует точка B, такая, что что не существует двух точек множества M, лежащих по разные стороны от прямой AB."); return 0; }
4лаба вариант 7
#include <stdio.h> #include <stdlib.h> #include <locale.h> #include <string.h> char * inverce(char*); char * decTo3(int); int isEquals(char*,char*); int main() { setlocale(LC_ALL,"RUS"); int n; int i,k,l; printf("Введите число N: "); scanf("%d",&n); int s[n]; s[0]=0; for(i=1;i<n;i++) { s[i]=1; } for(k=1; (k+1)*(k+1)<n; k++) { if(s[k]==1) { for(l=(k+1)*(k+1)-1; l<n; l+=k+1) { s[l]=0; } } } int *a=malloc(999999); int aN=0;; for(i=0;i<n;i++) { if(s[i]==1) { a[aN]=i+1; aN++; } } for(i=0; i<aN;i++) { printf("%d ",a[i]); } printf("\n"); for(i=0;i<aN-1;i++) { char *g,*h; g=decTo3(a[i]); h= inverce(decTo3(a[i+1])); if(isEquals(g,h)) { printf("Пара %d , %d -> %s : %s\n",a[i],a[i+1],decTo3(a[i]),decTo3(a[i+1])); } } return 0; } char * inverce(char *t) { int i; int k = strlen(t) - 2; int m = k / 2; for (i = 0; i <= m; i++) { char tmp = t[i]; t[i] = t[k - i + 1]; t[k - i + 1] = tmp; } return t; } char * decTo3(int x) { char *t = (char *)malloc(1000); int i = 0; do { t[i++] = x % 3 + '0'; x = x / 3; } while (x != 0); t[i] = '\0'; return inverce(t); } int isEquals(char* g, char* h) { int i; if(strlen(g)!=strlen(h)){return 0;} for(i=0;i<strlen(g);i++) { if(g[i]!=h[i]) return 0; } return 1; }
3 лаба вар 7
3,3
#include <stdio.h> #include <stdlib.h> #include <locale.h> #include <math.h> int main() { setlocale(LC_ALL,"RUS"); double a = 1.45; double pi = 3.1415; double e = 0.0001; double x,k; printf("Введите x: "); scanf("%lf",&x); printf("Введите точность E: "); scanf("%lf",&e); int i=1; double t = x*cos(a+(pi*i/2)); double s = t; while((fabs(t*k-t)<e)) { i++; k =(x/i)*(cos(a+(pi*i/2))/cos(a+(pi*(i-1)/2))); t=t*k; s+=t; } double res = cos(a)-s; printf("Ответ: %.3lf",res); return 0; }
3,2
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <locale.h> int main() { setlocale(LC_ALL,"RUS"); printf("Введите радиус R: "); double r; scanf("%lf",&r); double x,y; printf("Введите x: "); scanf("%lf",&x); printf("Введите y: "); scanf("%lf",&y); if(x>=0 && x<=2*r && y>=0) { if(pow(x-r,2)+y*y<=r*r) { printf("Точка принадлежит области!"); } else { printf("Точка не принадлежит области!"); } } else if(x>=-r && x<=0 &&y>=-r && y<=0) { if(pow(x+r,2)+pow(y+r,2)>=r*r) { printf("Точка принадлежит области!"); } else { printf("Точка не принадлежит области!"); } } else { printf("Точка не принадлежит области!"); } return 0; }
3,1
#include <stdio.h> #include <stdlib.h> #include <locale.h> #include <math.h> int main() { setlocale(LC_ALL,"RUS"); double x; printf("Введите х: "); scanf("%lf",&x); if(x>=-8 && x<=-5) /// если x=-5 лежит в этом отрезке, т.к это точка разрыва и непонятно, y=-3 или y=-2, предположили что у=-3; { printf("y = -3,00"); } else if(x>-5&&x<=-3) { printf("y = %.2lf",3+x); } else if(x>-3 && x<3) { printf("y = %.2lf",sqrt(9-x*x)); } else if(x>=3 && x<8) { printf("y = %.2lf",(3*x-9)/5); } else if(x>=8 && x<=10) { printf("y = 3,00"); } return 0; }
2
#include <stdio.h> #include <stdlib.h> int main() { int a,b,c; printf("a="); scanf("%d", &a); b=a+1; c=a-1; printf("The next number for the number %d\ ", a); printf("is %d", b); printf(".\n "); printf("The previous number for the number %d\ ", a); printf("is %d", c); printf(".\n "); return 0; }
1
#include <stdio.h> #include <stdlib.h> #include <locale.h> #include <math.h> int main() { setlocale(LC_ALL,"RUS"); double a,b; printf("Введите а: "); scanf("%lf",&a); printf("Введите b: "); scanf("%lf",&b); double s = exp(a*a-13.4*b); if(s>=0 && a+b>0 || s<=0 && a+b<0) { double res = pow(cos(a+b*b),3.0)*sqrt(s/pow(a+b,3)); printf("%.4lf\n",res); } else { printf("Невозможно посчитать!\n"); } return 0; }