Лабораторная работа по "Основам программирования"

Автор работы: Пользователь скрыл имя, 06 Марта 2013 в 22:20, лабораторная работа

Описание

Задание
На плоскости заданы своими координатами N точек. Разработать функцию, создающую массив размером N × (N - 1), элементами которого являются расстояния от каждой из точек до п - 1 других.
Дано натуральное число N. Разработать функцию формирования массива, элементами которого являются цифры числа N.

Работа состоит из  1 файл

10.doc

— 39.50 Кб (Скачать документ)

Учебный курс: Основы программирования

Кафедра:

Лабораторная работа №10. Функции.

Выполнил:

Преподаватель:

Задание

  1.   На плоскости заданы своими координатами n точек. Разработать функцию, создающую массив размером n × (n - 1), элементами которого являются расстояния от каждой из точек до n - 1 других.
  2.  Дано натуральное число n. Разработать функцию формирования массива, элементами которого являются цифры числа n.

Входные данные

 

Enter the number of points: 3

Enter the values ??of the X and Y

1)  1 2

2)  2 3

3)  3 4

Write a number: 12345

Выходные данные

Консоль

 

Search Results distance function:

Points 1: 1.414 2.828

Points 2: 1.414 1.414

Points 3: 2.828 1.414

Write a number: 12345

5 4 3 2 1

Исходный текст

Файл lab10.cpp

 

 

 

 

 

 

 

#include <stdio.h>

#include <locale>

#include <math.h>

 

 

double** Distance(double **mass, int size)

{

double** outmass;

outmass=(double**)malloc(size*sizeof(double*));

for (int i=0; i<size; i++) {*(outmass+i)=(double*)malloc((size-1)*sizeof(double));}

int num;

double x1,x2,y1,y2;

for (int i=0; i<size; i++) {

num=0;

for (int j=0; j<size; j++) {

   if (i!=j) {

x1=*(*(mass+i)+0);

y1=*(*(mass+i)+1);

x2=*(*(mass+j)+0);

y2=*(*(mass+j)+1);

*(*(outmass+i)+num)=sqrt(pow(abs(x2-x1),2.0)+pow(abs(y2-y1),2.0));

num++;

}

}

 

}

for (int  i=0; i<size; i++) {free(mass[i]);}

free(mass);

return outmass;

}

 

int Summ(long long int IN)

{

if (IN==0) {return 0;}

return (IN%10)+Summ(IN/10);

}

 

void main()

{

printf("Enter the number of points: ");

int N;

scanf("%d",&N);

double** mass;

mass=(double**)malloc(N*sizeof(double*));

for (int i=0; i<N; i++) {*(mass+i)=(double*)malloc(2*sizeof(double));}

printf("Enter the values ​​of the X and Y\n");

for (int i=0; i<N; i++) {printf("%d)  ",i+1); scanf("%lf %lf",(*(mass+i)+0),(*(mass+i)+1));}

double** rez;

rez=Distance(mass,N);

printf("Search Results distance function:\n");

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

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

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

printf("%3.3lf ",*(*(rez+i)+j));

}

printf("\n");

}

int number;

    int array[1000];

    int count = 0, i;

    printf("Write a number: ");

    scanf(" %d ", &number);

    while(number)

    { 

        array[count++] = number % 10;

        number /= 10;

    }

 

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

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

    printf("\n");

}

 


Информация о работе Лабораторная работа по "Основам программирования"