Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2012, 09:52   #1
ExploiT243
 
Регистрация: 11.05.2012
Сообщений: 4
По умолчанию Найти минимальный радиус шара, который будет охватывать все заданные точки(центр окружности лежит на одной из заданных точек)

есть программа, проблема в передаче массива в функцию
a[номер точки][координата(0=x,1=y,2=z)]
Код:
#include "stdio.h"
#include "conio.h"
#include "math.h"
#include "stdafx.h"
float a[100][3],b[2][3],c[1][3],r,maxd1=0,mind1=16000,maxd2=0,n[100][3],m[100][3];
int size,i,j,k;
void d(float n[100][3],m[100][3])
{
sqrt((n[i][0]-n[j][0])*(n[i][0]-n[j][0])+(n[i][1]-n[j][1])*(n[i][1]-n[j][1])+(n[i][2]-n[j][2])*(n[i][2]-n[j][2]));
}
float rad(a[100][3])
{
r = sqrt((a[i][0]-c[1][0])*(a[i][0]-c[1][0])+(a[i][1]-c[1][1])*(a[i][1]-c[1][1])+(a[i][2]-c[1][2])*(a[i][2]-c[1][2]));
return r;
}

float main(void)
{

printf("vvedite kol-vo tochek");
scanf("%d",&size);
if(size == 1) printf("minimal radius: 0");
else {for(k=0;k<size;k++){
		for(i=0; i < size; i++) scanf("%d %d %d",a[i][0],a[i][1],a[i][2]);
		for(j=0; j < size; j++) scanf("%d %d %d",a[j][0],a[j][1],a[j][2]);
			if ((d(a[i][3],a[j][3])) > maxd1) {(d(a[i][3],a[j][3])=maxd1;}/*находим макс расст. между точками*/
		a[i][0]=b[0][0];/*переприсваеваем координаты точек, между которыми макс расст*/
		a[i][1]=b[0][1];
		a[i][2]=b[0][2];
		a[j][0]=b[1][0];
		a[j][1]=b[1][1];
		a[j][2]=b[1][2];
		a[2][0]=(b[1][0]-b[0][0])/2+b[0][0];/*находим точку посередине между максимально удал точками*/
		a[2][1]=(b[1][1]-b[0][1])/2+b[0][1];
		a[2][2]=(b[1][2]-b[0][2])/2+b[0][2];
		for(i=0; i < size; i++)
			if(d(a[i][3],a[j][3] < mind1) {d(&a[i][3],&a[j][3]) = mind1;}/*находим ближайшую точку из заданных*/
			a[i][0]=c[1][0];
			a[i][1]=c[1][1];
			a[i][2]=c[1][2];
		for(i=0; i < size; i++)
			if (rad(a[i][3]) > maxd2) {rad(a[i][3] = maxd2;}}}/*из точки находим наиболее удаленную от неё, это и будет радиус*/
			printf("minimal radius:%d",maxd2);}



Лог компилятора
1>f:\прога\okruzhnost'\okruzhnost'\ okruzhnost'.cpp(17) : error C2061: синтаксическая ошибка: идентификатор "m"
1>f:\прога\okruzhnost'\okruzhnost'\ okruzhnost'.cpp(22) : error C2448: rad: вероятно, инициализатор, использующий стиль функции, является определением функции
1>f:\прога\okruzhnost'\okruzhnost'\ okruzhnost'.cpp(36) : error C2660: d: функция не принимает 2 аргументов
1>f:\прога\okruzhnost'\okruzhnost'\ okruzhnost'.cpp(36) : error C2660: d: функция не принимает 2 аргументов
1>f:\прога\okruzhnost'\okruzhnost'\ okruzhnost'.cpp(36) : error C2143: синтаксическая ошибка: отсутствие ")" перед ";"
1>f:\прога\okruzhnost'\okruzhnost'\ okruzhnost'.cpp(47) : error C2660: d: функция не принимает 2 аргументов
1>f:\прога\okruzhnost'\okruzhnost'\ okruzhnost'.cpp(47) : error C2143: синтаксическая ошибка: отсутствие ")" перед "{"
1>f:\прога\okruzhnost'\okruzhnost'\ okruzhnost'.cpp(47) : error C2660: d: функция не принимает 2 аргументов
1>f:\прога\okruzhnost'\okruzhnost'\ okruzhnost'.cpp(52) : error C3861: rad: идентификатор не найден
1>f:\прога\okruzhnost'\okruzhnost'\ okruzhnost'.cpp(52) : error C2143: синтаксическая ошибка: отсутствие ")" перед ";"
1>f:\прога\okruzhnost'\okruzhnost'\ okruzhnost'.cpp(52) : error C3861: rad: идентификатор не найден
1>Журнал построения был сохранен в "file://f:\прога\Okruzhnost'\Okruzhnost'\De bug\BuildLog.htm"
1>Okruzhnost' - ошибок 11, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
ExploiT243 вне форума Ответить с цитированием
Старый 27.05.2012, 10:31   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Программа не годится вся целиком.
Проще написать новую чем ошибки исправить.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
определить радиус и центр окружности Degster Паскаль, Turbo Pascal, PascalABC.NET 3 12.06.2011 17:38
определить радиус и центр окружности, на кот. лежит наиб.число точек заданного на плоскости мн-ва точек) kcю Помощь студентам 0 17.11.2009 19:50
центр окружности и радиус (всё это на плоскости) Pascal tipilat Помощь студентам 4 09.07.2009 22:19
Определить радиус и центр окружности Verochka Помощь студентам 2 19.11.2008 15:47
Определить радиус и центр окружности на которой лежит наибольшее число точек. Zoratul Помощь студентам 2 11.01.2008 16:00