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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.12.2012, 00:25   #1
Yakoff
Пользователь
 
Регистрация: 28.05.2011
Сообщений: 21
По умолчанию Посчитать выражение. Последние штрихи в программе. Язык Си

Условие такое: даны шестиэлементные два вектора х и у и 3 матрицы А, В и С, все 6го порядка.
Посчитать выражение (Ax,By)+(Cx,y)/(x,By)

Казалось, что прогу написал, но он ругается на типы.
cannot convert from 'void' to 'float'
И выдает "деление на 0"

Не подскажете, в чем именно ошибка, и как это исправить?

Вот код:

Код:
#include<stdio.h>
#include<conio.h>
# define n 6
 
void umn(float A[n][n], float x[n], float u[n])
{
    int i,j;
    float s;
    for (i=0; i<n; i++)
        for (j=0; j<n; j++)
        {
            s+=A[i][j]*x[j];
            u[i]=s;
        }
}
void scal(float a[n], float b[n])
{
    int i;
    float s;
    for (i=0; i<n; i++)
        {
            s+=a[i]*b[i];   
        }
}
void main()
{
float A[n][n], B[n][n], C[n][n], x[n], y[n], p[n], q[n];
int i,j;
float result;
for (i=0;i<n;i++)
for (j=0;j<n;j++)
{
    printf("A[%d][%d]=",i,j);
    scanf("%f",&A[i][j]);
}
for (i=0;i<n;i++)
for (j=0;j<n;j++)
{
    printf("B[%d][%d]=",i,j);
    scanf("%f",&B[i][j]);
}
for (i=0;i<n;i++)
for (j=0;j<n;j++)
{
    printf("C[%d][%d]=",i,j);
    scanf("%f",&C[i][j]);
}
umn(A, x, p);
umn(B, y, q);
umn(C, x, p);
scal(p,q);
scal(p,y);
scal(x,q);
if (scal(x,q)!=0)
{
result=scal(p,q)+scal(p,y)/scal(x,q);
printf("Otvet=",result);
getch();
}
else
printf("Delenie na 0.");
getch();
}
Yakoff вне форума Ответить с цитированием
Старый 31.12.2012, 04:59   #2
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Код:
if (scal(x,q)!=0)
{
result=scal(p,q)+scal(p,y)/scal(x,q);
У вас скал НИЧЕГО не возвращает, так чего вы от нее хотите? Сравниваете с 0, делите, складываете,..
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Язык Си. Сортировка в файле(ошибка в программе) yap123 Помощь студентам 1 15.12.2011 15:04
найти ошибки в программе (язык C) nuvoletta Помощь студентам 3 29.11.2011 21:21
Изменить Язык в программе. Corpinccom Паскаль, Turbo Pascal, PascalABC.NET 8 15.08.2010 23:02
Нужно посчитать сумму ряда. В программе ошибка. Пожалуйста помогите найти Рита Белова Помощь студентам 5 05.12.2009 13:07
Помогите плз в программе надо найти чей номер телю кончается на 10 и посчитать их Бубальгум Помощь студентам 0 05.05.2009 16:12