Форум программистов, компьютерный форум CyberForum.ru

Застрял - C++

Восстановить пароль Регистрация
 
Gothic Angelos
 Аватар для Gothic Angelos
1 / 1 / 0
Регистрация: 29.05.2010
Сообщений: 140
15.03.2011, 00:04     Застрял #1
Не могу понять в чём проблема...в моей функции modul переменная Х считается правильно,а передаётся полнейший бред, та же ситуация и с переменными в других функциях,с подсчётом проблем нет,а передаёт вверх набор непонятных чисел,помогите разобраться


#include<iostream.h>
#include<math.h>
#include<conio.h>
float a[3][2]={-0.3,0.1,-0.1,0.2,0.3,-0.1};
float x1[3]={0.7,0.6,-0.4};

void modul (float x1[3]);
void klaster (float a[3][2]);
void kos(float x1[3], float a[3][2]);
void jjj(float c, float X,float A);
void main()
{
clrscr ();
float X1,X,A,B,c;
modul (x1);
cout<<endl;
klaster(a);
cout<<endl;
kos(x1,a);
jjj(c,X,A);
getch();
}
void modul ( float x1[3])
{
float X1,X;
for (int i=0;i<3;i++)
X=pow(X1+=pow(x1[i],2),0.5);
cout<<X<<" ";
}

void klaster(float a[3][2])
{
float a1,b,A,B;
for(int j=0;j<3;j++)
{
A=pow(a1+=pow(a[j][0],2),0.5);
B=pow(b+=pow(a[j][1],2),0.5);
}
cout<<A<<" "<<B<<" ";
}
void kos(float x1[3], float a[3][2])
{
float c,C,C1;
for (int j=0; j<3;j++)
{
c+=x1[j]*a[j][0];}
cout<<c<<" ";
}
void jjj(float c, float X, float A)
{
float C;
C=X*A;
cout<<C<<c;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Subgrando
40 / 40 / 3
Регистрация: 28.01.2011
Сообщений: 175
15.03.2011, 00:05     Застрял #2
Как всё это компилировалось?
Gothic Angelos
 Аватар для Gothic Angelos
1 / 1 / 0
Регистрация: 29.05.2010
Сообщений: 140
15.03.2011, 00:07  [ТС]     Застрял #3
программа работает,но считает не правильно,не могу найти у себя ошибку
IrineK
Заблокирован
15.03.2011, 00:11     Застрял #4
Сформулируйте четко задачу. Желательно, немногословно.
Что, по-вашему, вам удалось. Что конкретно требуется от нас.
Gothic Angelos
 Аватар для Gothic Angelos
1 / 1 / 0
Регистрация: 29.05.2010
Сообщений: 140
15.03.2011, 00:14  [ТС]     Застрял #5
в моей первой функции под название modul я считаю модуль вектора, подсчёт происходит правильно,но в следующие функции передаётся совершенно другое число...я прошу помочь мне найти мою ошибку,а то я уже перепробовал кучу вариантов,вся надежда на вас,спасибо
IrineK
Заблокирован
15.03.2011, 00:16     Застрял #6
Как вы передаете посчитанный модуль вектора в следующие функции?
Gothic Angelos
 Аватар для Gothic Angelos
1 / 1 / 0
Регистрация: 29.05.2010
Сообщений: 140
15.03.2011, 00:17  [ТС]     Застрял #7
Пробовал return-передаёт абсурд,пробовал по ссылке-та же ситуация,как ещё можно я не знаю(
IrineK
Заблокирован
15.03.2011, 00:23     Застрял #8
void modul ( float x1[3])
{
float X1,X;
for (int i=0;i<3;i++)
X=pow(X1+=pow(x1[i],2),0.5);
cout<<X<<" ";
}
не может ничего передать по определению типа - void.

А где у вас вектор?
Subgrando
40 / 40 / 3
Регистрация: 28.01.2011
Сообщений: 175
15.03.2011, 00:24     Застрял #9
Что-то мне кажется, что передаётся адрес...
Gothic Angelos
 Аватар для Gothic Angelos
1 / 1 / 0
Регистрация: 29.05.2010
Сообщений: 140
15.03.2011, 00:26  [ТС]     Застрял #10
Х1-мой вектор корень из суммы квадратов координат которого я пытаюсь передать в следующие функции для дальнейших действий...
когда через дебаг проверяю в функции подсчёта число правильное,а когда смотрю на это число в void main там уже это число кардинально изменено
IrineK
Заблокирован
15.03.2011, 00:37     Застрял #11
C++
1
2
3
4
5
6
7
8
float  modul ( float x1[])
{
float X1,X;
for (int i=0;i<3;i++)
   X=pow(X1+=pow(x1[i],2),0.5);
cout<<X<<" ";
return X;
}
в main() посчитанное значение должна получить переменная

float zzz = modul (x1);
Gothic Angelos
 Аватар для Gothic Angelos
1 / 1 / 0
Регистрация: 29.05.2010
Сообщений: 140
15.03.2011, 00:40  [ТС]     Застрял #12
Благодарю,всё верно!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2011, 01:00     Застрял
Еще ссылки по теме:

Застрял с вводом с файла C++
Застрял в цикле. Глупая сортировка матрицы C++
Застрял на функции PHP

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
15.03.2011, 01:00     Застрял #13
А как вы так модуль вектора вычисляете? Что то не вижу извлечения квадратного корня
C++
1
2
3
4
5
6
7
void modul ( float x1[3])
{
float X1,X;
for (int i=0;i<3;i++)
X=pow(X1+=pow(x1[i],2),0.5);
cout<<X<<" ";
}
Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
float modul(float x1[3])
{
    return sqrt(x1[0] * x1[0] + x1[1] * x1[1] + x1[2] * x1[2]);
}
 
int main()
{
    // Вектор
    float x1[3] = {0.7, 0.6, -0.4};
 
    cout << modul(x1);
 
    getch();
 
    return 0'
}
Добавлено через 9 минут
Что такое klaster, kos и jjj? Что они делать должны?
Yandex
Объявления
15.03.2011, 01:00     Застрял
Ответ Создать тему
Опции темы

Текущее время: 21:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru