Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Функции, возвращающие несколько результатов


Автор: persalena 21.12.2008, 11:20
Собственно компилятор ругается. Я догадываюсь в чем ошибка, но исправить ее не могу. 
Код
#include<math.h>
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
float diskr(float k, float l, float m)
  {
  float D;
  D= sqrt(l*l-4*k*m);
  return D;
  }
  
void korni(float D, float l, float k, float *x1, float *x2)
  {
  *x1=((-l + sqrt(D))/2*k);
  *x2=((-l - sqrt(D))/2*k);
  }
  
void main()
{
float D1,D2,x1,x2,y1,y2,a,b,k1,k2,l1,l2,m1,m2,t;
printf("\n vvedite a\n");
scanf("%f",&a);
printf("\n vvedite b\n");
scanf("%f",&b);
k1=1;
k2=1;
l1=6,2;
l2=a;
m1=a*a;
m2=b-1;
t=0;
D1=diskr(k1,l1,m1);
D2=diskr(k2,l2,m2);
if (D1>=0&&D2>=0) 
  { 
  korni(D1,l1,k1,&x1,&x2)
  korni(D2,l2,k2,&y1,&y2)                //вот в этом месте ругается (Statement missing)
  if (y1<x2&&y1>x1&&y2<x2&&y2>x1) t=1;
  }
printtf("%3.2f",t);
getch();
}



Я думаю это из-за того, что в функции нет у1 и у2 и поэтому адрес не берется. а как сделать так, чтобы брался?

Автор: chaos 21.12.2008, 11:26
persalena, в строках 36, 37 необходимо поставить в конце ;
в строке 40 printtf заменить на printf ибо очепятка smile
а так вроде все ок.

Автор: persalena 21.12.2008, 11:56
Ой, ниче я) Блин такие глупые ошибки! Спасибо большое! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)