Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- /*
- struct typzlozony {
- int a;
- float b;
- char c;
- };
- void wyswietl(struct typzlozony tz) {
- printf("%d %f %c \n",tz.a,tz.b,tz.c);
- }
- int main()
- {
- struct typzlozony tz;
- tz.a = 1;
- tz.b = 2.2;
- tz.c = 'a';
- wyswietl(tz);
- struct typzlozony *tz2;
- tz2 = malloc(sizeof(struct typzlozony));
- tz2->a = 1;
- tz2->b = 2.3;
- tz2->c = 'c';
- wyswietl(*tz2);
- free(tz2);
- return 0;
- }*/
- struct trojkat {
- int a;
- int b;
- int c;
- };
- int zad1(struct trojkat tr) {
- return tr.a+tr.b+tr.c;
- }
- void wyswietl(struct trojkat tr) {
- printf("%d %d %d \n",tr.a,tr.b,tr.c);
- }
- void wyswietl2(struct trojkat *tr) {
- printf("%d %d %d \n\n",tr->a,tr->b,tr->c);
- }
- void zad2(struct trojkat tr1, struct trojkat *tr2) {
- tr2->a = tr1.a;
- tr2->b = tr1.b;
- tr2->c = tr1.c;
- }
- struct punkt {
- int x,y,z;
- };
- float zad3(struct punkt *tab,int n) {
- float min = sqrt(pow(tab[1].x-tab[0].x,2)+pow(tab[1].y-tab[0].y,2)+pow(tab[1].z-tab[0].z,2));
- float pom;
- for(int i = 1;i<n-1;i++) {
- for(int j = i+1;i<n;i++) {
- pom = sqrt(pow(tab[i+1].x-tab[i].x,2)+pow(tab[i+1].y-tab[i].y,2)+pow(tab[i+1].z-tab[i].z,2));
- if(pom < min) min = pom;
- }
- }
- return min;
- }
- void zad4(struct punkt *tab1, struct punkt *tab2, int n) {
- for(int i = 0;i<n;i++) {
- tab2[i] = tab1[i];
- }
- }
- struct punkt10 {
- int x[10];
- };
- void zad5wyswietl(struct punkt10 *tab, int n) {
- for(int i = 0;i<n;i++) {
- for(int j = 0;j<10;j++) {
- printf("%d ",tab[i].x[j]);
- }
- printf("\n");
- }
- }
- void zad5(struct punkt10 *tab1, struct punkt10 *tab2,int n) {
- for(int i = 0;i<n;i++) {
- for(int j = 0;j<10;j++) {
- tab2[i].x[j] = tab1[i].x[j];
- }
- }
- zad5wyswietl(tab2,10);
- }
- struct punktn {
- int n;
- int *wymiar;
- };
- int main() {
- struct trojkat tr;
- tr.a = 4;
- tr.b = 3;
- tr.c = 10;
- printf("%d",zad1(tr));
- wyswietl(tr);
- struct trojkat *tr2;
- tr2 = malloc(sizeof(struct trojkat));
- zad2(tr,tr2);
- wyswietl2(tr2);
- struct punkt p1,p2,p3,p4,p5;
- p1.x =4;p1.y = 2;p1.z = 3;
- p2.x =2;p2.y=4;p2.z = 14;
- p3.x = 65;p2.y = 45;p3.z = 94;
- p4.x =0;p4.y = 0;p4.z = 34;
- p5.x =0;p5.y = 0;p5.z = 44;
- struct punkt tab[5] = {p1,p2,p3,p4,p5};
- struct punkt tab2[5] = {p1,p2,p3,p4,p5};
- printf("%f \n\n",zad3(tab,5));
- zad4(tab,tab2,5);
- struct punkt10 p10;
- for(int i = 0;i<10;i++)
- p10.x[i] = i;
- struct punkt10 tab3[10];
- for(int i=0;i<10;i++)
- tab3[i] = p10;
- struct punkt10 tab4[10];
- zad5(tab3,tab4,10);
- struct punktn pp1,pp2,pp3;
- pp1.wymiar = malloc(pp1.n*sizeof(struct punktn));
- for(int i = 0;i<10;i++)
- pp1.wymiar[i] = i;
- pp2.wymiar = malloc(pp1.n*sizeof(struct punktn));
- for(int i = 0;i<5;i++)
- pp2.wymiar[i] = i*2;
- pp3.wymiar = malloc(pp1.n*sizeof(struct punktn));
- for(int i = 0;i<7;i++)
- pp2.wymiar[i] = (i+1)*3;
- for(int i = 0;i<10;i++) {
- if(i%3==0) tab1[i]=p1;
- if(i%3==1) tab1[i] = p2;
- if(i%3==2) tab1[i] = p3;
- }
- struct punktn tab5[10];
- zad5(tab4,tab5,10);
- free(pp1.wymiar);
- free(pp2.wymiar);
- free(pp3.wymiar);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement