/*Массив из структурных данных сосотоит из координат точек плоскости. Отсортировать массив в порядке возрастания расстояния точек до начала координат. (Использован метод пузырька)*/

 

#include "stdafx.h"

#include "stdio.h"

#include "conio.h"

#include "stdlib.h"

 

struct koord     

{

      float x,y;

};

 

void sort(koord *a,int n);

 

int main()

{    

      koord *a;

      int i,n;

      printf("Enter kol-vo tochek:\n");

      scanf("%d",&n);

      a=(koord*)calloc(n,sizeof(koord));

      printf("Enter koord tochek:\n");

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

            scanf("%f%f",&a[i].x,&a[i].y);

      sort(a,n);

      printf("Sortirovka tochek:\n");

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

            printf("%4.1f  %4.1f    ",a[i].x,a[i].y);

      getch();

      return 0;

}

 

void sort(koord *a,int n)

{    

      koord temp;

      int i, fl=1;

      while(fl==1)

      {    

            fl=0;

            for(i=0;i<n-1;i++)

                  if((a[i].x*a[i].x+a[i].y*a[i].y)>(a[i+1].x*a[i+1].x+a[i+1].y*a[i+1].y))

                  {

                        temp=a[i];

                        a[i]=a[i+1];

                        a[i+1]=temp;

                        fl=1;

                  }

      }

}


/*Массив из структурных данных сосотоит из координат точек плоскости. Отсортировать массив в порядке возрастания расстояния точек до начала координат. (Сортировка методом min и max значений)*/

 

#include "stdafx.h"

#include "stdio.h"

#include "conio.h"

#include "stdlib.h"

 

struct koord     

{

      float x,y;

};

 

void sort(koord *a,int n);

 

int main()

{    

      koord *a;

      int i,n;

      printf("Enter kol-vo tochek:\n");

      scanf("%d",&n);

      a=(koord*)calloc(n,sizeof(koord));

      printf("Enter koord tochek:\n");

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

            scanf("%f%f",&a[i].x,&a[i].y);

      sort(a,n);

      printf("Sortirovka tochek:\n");

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

            printf("%4.1f %4.1f     ",a[i].x,a[i].y);

      getch();

      return 0;

}

void sort(koord *a,int n)

{    

      koord temp;

      int i,j,mj;

      float min,r;

      for(i=0;i<n-1;i++)

      {    

            min=(a[i].x*a[i].x+a[i].y*a[i].y);

            mj=i;

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

            {    

                  r=a[j].x*a[j].x+a[j].y*a[j].y;

                  if(r<min)

                  {    

                        min=r;

                        mj=j;

                  }

                  temp=a[mj];

                  a[mj]=a[i];

                  a[i]=temp;

            }

      }

}


/*Cтруктура включает фамилию сотрудника, номер отдела (100,101,102), зарплату. Вывести суммарную зарплату по отделам*/

# include<stdafx.h>

# include<stdio.h>

# include<string.h>

# include<conio.h>

struct ved 

{

      char name[20];

      int otd;

      float zar;

};

void zarplata(ved *mas, int n, float *zarp1, float *zarp2, float *zarp3);

void main()

{    

      ved mas[6];

      int i;

      for (i=0;i<6;i++)

      {    

            flushall();

            printf("Enter name\n");

            gets(mas[i].name);

            printf("Enter otdel\n");

            scanf("%d",&mas[i].otd);

            printf("Enter zarplata\n");

            scanf("%f",&mas[i].zar);

      }

      float zarp1, zarp2, zarp3;

      zarplata(mas, 6, &zarp1, &zarp2, &zarp3);

      printf("Zarplata po otdelam\n");

      printf("%7.2f%7.2f%7.2f", zarp1, zarp2, zarp3);

      getch();

}

void zarplata(ved *mas, int n, float *zarp1, float *zarp2, float *zarp3)

{    

      *zarp1=0;

      *zarp2=0;

      *zarp3=0;

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

      {    

            if (mas[i].otd==100)

                  *zarp1=*zarp1+mas[i].zar;

            if (mas[i].otd==101)

                  *zarp2=*zarp2+mas[i].zar;

            if (mas[i].otd==102)

                  *zarp3=*zarp3+mas[i].zar;

      }

}


/*Поиск книги по автору и году издания (не позднее указанного)*/

#include "stdafx.h"

#include "conio.h"

#include "string.h"

struct knigi

{

      char name[20];

      char avtor[20];

      int age;

};

void novinki(knigi *a, knigi *b, char n[], int *k, int h,int x);

int main()

{    

      knigi a[6],b[6];

      int k=0;

      int h;

      char n[20];

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

      {    

            printf ("Nazvanie knigi %d\n",i+1);

            flushall();

            gets(a[i].name);

            printf ("Imya avtora knigi %d\n",i+1);

            flushall();

            gets(a[i].avtor);

            printf ("God izdaniya knigi %d\n",i);

            scanf("%d", &a[i].age);

      }

      printf("Iskomiy avtor\n");

      flushall();

      gets(n);

      printf("min year izdaniya\n");

      int x;

      scanf("%d",&x);

      novinki (a,b,n,&k,6,x);

      printf("\n");

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

            puts(b[i].name);

      getch();

      return 0;

}

void novinki (knigi *a, knigi *b, char n[], int *k, int h, int x)

{

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

            if (strcmp(n,a[i].avtor)==0&&a[i].age>x)

            {    

                  strcpy(b[*k].name,a[i].name);

                  (*k)++;

            }

}


/*Поиск студента в списке из фамилии и номера по введенному первому символу и номеру группы*/

#include <stdafx.h>

#include <conio.h>

#include <string.h>

struct stud      

{    

      char name[20];

      int num;

};

int search(stud *mas,stud *mas2,int numi,char b);

int main()

{    

      int i;

      stud mas[3];

      for (i=0;i<3;i++)

      {    

            printf("Enter name %d\n",i+1);

            flushall();

            gets(mas[i].name);

            printf("Enter number of group %d\n",i+1);

            scanf("%d",&mas[i].num);

      }

      int numi;

      stud mas2[3];

      char b;

      printf("Enter first symbol\n");

      flushall();

      scanf("%c", &b);

      printf("Enter number of group\n");

      scanf("%d",&numi);

      int nr=search(mas,mas2,numi,b);

      printf("\n");

      printf("Students: \n");

      if (nr==0) printf("No matches \n");

      else

      {    

            for (i=0;i<nr;i++)

            {    

                  printf("%d) ",i+1);

                  puts(mas2[i].name);

                  printf(" group ");

                  printf("%d",mas2[i].num);

                  printf("\n");

            }

      }

      getch();   

      return 0;

}

int search(stud *mas,stud *mas2,int numi,char b)

{    

      int i,j=0;

      for (i=0;i<3;i++)

            if ((*mas[i].name==b)&&(mas[i].num==numi))

            {    

                  mas2[j]=mas[i];

                  j++;

            }

      return j;

}


/*Структура задана координатами центра окружности (х,y) u её радиусом r. Определить и вывести на экран координаты центра окружности, которая пересекает наибольшее количество других окружностей.*/

#include "stdafx.h"

#include <stdio.h>

#include <conio.h>

#include <math.h>

#include <stdlib.h>

struct okr

{    

      float x,y,r;

};

int maxi(okr *mas, float *x, float *y, int n);

int main()

{    

      okr mas[6];

      int i;      float x,y;

      printf("Enter dannye x, y, r\n");

      for(i=0;i<6;i++)

      {    

            scanf("%f", &mas[i].x);

            scanf("%f", &mas[i].y);

            scanf("%f", &mas[i].r);

      }

      maxi(mas,&x,&y,6);

      printf("Center:\n");

      printf("x=%f,y=%f",x,y);

      getch();

      return 0;

}

int maxi(okr *mas, float *x, float *y, int n)

{

      int i,j;     int k=0;   int max=-1;  float d;

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

      {

            k=0;

            for(j=0;j<n;j++)

            {

                  if(i!=j)

                        if((mas[j].x-mas[i].x)*(mas[j].x-mas[i].x)+(mas[j].y-mas[i].y)*(mas[j].y-mas[i].y)<(mas[i].r+mas[j].r)*(mas[i].r+mas[j].r))

                             k++;

            }

            if(k>max)

            {

                  max=k;

                  *x=mas[i].x;

                  *y=mas[i].y;

            }

      }

      return 0;

}

 


/*Массив из структурных данных сосотоит из координат точек плоскости. Отсортировать массив в порядке

возрастания расстояния точек до начала координат.*/

#include "stdafx.h"

#include "stdio.h"

#include "conio.h"

#include "stdlib.h"

struct koord     

{

      float x,y;

};

void sort(koord *a,int n);

int main()

{

      koord *a;

      int i,n;

      printf("Enter kol-vo tochek:\n");

      scanf("%d",&n);

      a=(koord*)calloc(n,sizeof(koord));

      printf("Enter koord tochek:\n");

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

            scanf("%f%f",&a[i].x,&a[i].y);

      sort(a,n);

      printf("Sortirovka tochek:\n");

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

            printf("%4.1f %4.1f     ",a[i].x,a[i].y);

      getch();

      return 0;}

void sort(koord *a,int n)

{

      koord temp;

      int i,j,mj;

      float min,r;

      for(i=0;i<n-1;i++)

      {    

            min=(a[i].x*a[i].x+a[i].y*a[i].y);

            mj=i;

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

            {    

                  r=a[j].x*a[j].x+a[j].y*a[j].y;

                  if(r<min)

                  {    

                        min=r;

                        mj=j;

                  }

                  temp=a[mj];

                  a[mj]=a[i];

                  a[i]=temp;

            }

      }

}

 


/*Массив из структурных данных сосотоит из координат точек плоскости. Отсортировать массив в порядке

возрастания расстояния точек до начала координат.(другая функция)*/

 

#include "stdafx.h"

#include "stdio.h"

#include "conio.h"

#include "stdlib.h"

struct koord     

{

      float x,y;

};

void sort(koord *a,int n);

void sort2(koord *a,int n);

int main()

{

      koord *a;

      int i,n;

      printf("Enter kol-vo tochek:\n");

      scanf("%d",&n);

      a=(koord*)calloc(n,sizeof(koord));

      printf("Enter koord tochek:\n");

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

            scanf("%f%f",&a[i].x,&a[i].y);

      sort(a,n);

      printf("Sortirovka tochek:\n");

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

            printf("%4.1f %4.1f     ",a[i].x,a[i].y);

      getch();

      return 0;

}

void sort(koord *a,int n)

{

      koord temp;

      int i, fl=1;

      while(fl==1)

      {

            fl=0;

            for(i=0;i<n-1;i++)

                  if((a[i].x*a[i].x+a[i].y*a[i].y)>(a[i+1].x*a[i+1].x+a[i+1].y*a[i+1].y))

                  {

                        temp=a[i];

                        a[i]=a[i+1];

                        a[i+1]=temp;

                        fl=1;      

                  }

      }

}

 

 

Сайт создан в системе uCoz