Ĺadny brzuch
Mam taki oto prosty programik:
#include <stdio.h>
int suma(int, int);
main()
{
int a=0;
int b=0;
printf("podaj bok a:");
scanf("%d",&a);
printf("Podaj bok b: ");
scanf("%d",&B);
printf("suma wynosi: %d a iloraz %d",suma(a,B));
return 0;
}
//--------------------
int suma( int x , int y )
{
int suma;
int ilo;
suma=x+y;
ilo=x*y;
return suma,ilo ;
}
W jakis sposob zwrocic dwa paramentry od funkcji.
Taki zapisi zwracana jest tylko wartosc ilo.
No i w jaki sposob nalezy sie odwołac do takiej f-cji
Ja bym to tak zrobił:
#include <stdio.h> int suma(int, int); main() { int a=0; int b=0; int iloczyn; int sum; printf("podaj bok a:"); Â Â scanf("%d",&a); printf("Podaj bok b: "); Â scanf("%d",&b); sum = suma(a,b,iloczyn); printf("suma wynosi: %d a iloczyn %d",sum,iloczyn); return 0; } //-------------------- int suma( int x , int y ,&ilo) { int suma; int ilo; suma=x+y; ilo=x*y; return suma; }
Użytkownik hakersa edytował ten post 23 październik 2005, 13:46
LUB:
struct SWynik { int suma, iloczyn; }; SWynik suma( int x, int y ); main() { int a=0; int b=0; printf("podaj bok a:"); Â scanf("%d",&a); printf("Podaj bok b: "); scanf("%d",&b); SWynik wynik = suma(a,b); printf( "suma wynosi: %d a iloczyn %d", wynik.suma, wynik.iloczyn ); return 0; } //-------------------- SWynik suma( int x , int y ) { SWynik ret; ret.suma=x+y; ret.iloczyn=x*y; return ret; }
Użytkownik Real_Noname edytował ten post 23 październik 2005, 15:05
chodzi o referencje
troche poczytałem, zastosowalem się do tego co piszecie i mam cos takiego:
#include<stdio.h> int fun(int x, int y, int &ilo); main() { int a=3; int b=3; int iloczyn; printf("Suma=%d Iloczyn=%d",fun(a,b,iloczyn),iloczyn); return 0; } int fun(int x, int y, int &ilo) { int suma=x + y; ilo= x * y; return suma; }
Czemu ciagle mi nie liczy iloczynu ?
Użytkownik Crisu edytował ten post 23 październik 2005, 17:13
dobra metoda prob i bledow doszedlem ale za cholere nie wiem dlaczego tak:
#include<stdio.h>
int fun(int x, int y, int &ilo);
main()
{
int a=3;
int b=3;
int iloczyn;
int wynik=fun(a,b,iloczyn);
printf("Suma=%d Iloraz=%d",wynik,iloczyn);
return 0;
}
int fun(int x, int y, int &ilo)
{
int suma=x + y;
ilo= x * y;
return suma;
}
Czemu nalezy przypisac wynik funkcji do jakies nowej zmiennej??
Użytkownik Crisu edytował ten post 23 październik 2005, 17:28
chodzi o referencje
troche poczytałem, zastosowalem się do tego co piszecie i mam cos takiego:
#include<stdio.h> int fun(int x, int y, int &ilo); main() { int a=3; int b=3; int iloczyn; printf("Suma=%d Iloczyn=%d",fun(a,b,iloczyn),iloczyn); return 0; } int fun(int x, int y, int &ilo) { int suma=x + y; ilo= x * y; return suma; }
Czemu ciagle mi nie liczy iloczynu ?
Balcerowicz: int &a to nie jest wskaźnik int *a, to jest przekazywanie przez referencje.
Kodie ma racje:)
No juz wszystko działa tylko ciagle nie wiem jaka jest roznica miedzy
wynik=fun(a,b,iloczyn)
printf("%d %d ",wynik,iloczyn)
a
printf("%d %d",fun(a,b,iloczyn),iloczyn);
w kazdym razie thx za pomoc all
Kodie ma racje:)
No juz wszystko działa tylko ciagle nie wiem jaka jest roznica miedzy (...) Taka, że w pierwszym przypadku używasz zmiennej pomocniczej wynik ;)
......
ale czemu po uzyciu zmiennej wynik dziala ok a bez jej uzycia sie wywala?
skoro teoretycznie to ten sam kod
Użytkownik Crisu edytował ten post 23 październik 2005, 18:38
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
#include <stdio.h>
int suma(int, int);
main()
{
int a=0;
int b=0;
printf("podaj bok a:");
scanf("%d",&a);
printf("Podaj bok b: ");
scanf("%d",&B);
printf("suma wynosi: %d a iloraz %d",suma(a,B));
return 0;
}
//--------------------
int suma( int x , int y )
{
int suma;
int ilo;
suma=x+y;
ilo=x*y;
return suma,ilo ;
}
W jakis sposob zwrocic dwa paramentry od funkcji.
Taki zapisi zwracana jest tylko wartosc ilo.
No i w jaki sposob nalezy sie odwołac do takiej f-cji
Ja bym to tak zrobił:
#include <stdio.h> int suma(int, int); main() { int a=0; int b=0; int iloczyn; int sum; printf("podaj bok a:"); Â Â scanf("%d",&a); printf("Podaj bok b: "); Â scanf("%d",&b); sum = suma(a,b,iloczyn); printf("suma wynosi: %d a iloczyn %d",sum,iloczyn); return 0; } //-------------------- int suma( int x , int y ,&ilo) { int suma; int ilo; suma=x+y; ilo=x*y; return suma; }
Użytkownik hakersa edytował ten post 23 październik 2005, 13:46
LUB:
struct SWynik { int suma, iloczyn; }; SWynik suma( int x, int y ); main() { int a=0; int b=0; printf("podaj bok a:"); Â scanf("%d",&a); printf("Podaj bok b: "); scanf("%d",&b); SWynik wynik = suma(a,b); printf( "suma wynosi: %d a iloczyn %d", wynik.suma, wynik.iloczyn ); return 0; } //-------------------- SWynik suma( int x , int y ) { SWynik ret; ret.suma=x+y; ret.iloczyn=x*y; return ret; }
Użytkownik Real_Noname edytował ten post 23 październik 2005, 15:05
chodzi o referencje
troche poczytałem, zastosowalem się do tego co piszecie i mam cos takiego:
#include<stdio.h> int fun(int x, int y, int &ilo); main() { int a=3; int b=3; int iloczyn; printf("Suma=%d Iloczyn=%d",fun(a,b,iloczyn),iloczyn); return 0; } int fun(int x, int y, int &ilo) { int suma=x + y; ilo= x * y; return suma; }
Czemu ciagle mi nie liczy iloczynu ?
Użytkownik Crisu edytował ten post 23 październik 2005, 17:13
dobra metoda prob i bledow doszedlem ale za cholere nie wiem dlaczego tak:
#include<stdio.h>
int fun(int x, int y, int &ilo);
main()
{
int a=3;
int b=3;
int iloczyn;
int wynik=fun(a,b,iloczyn);
printf("Suma=%d Iloraz=%d",wynik,iloczyn);
return 0;
}
int fun(int x, int y, int &ilo)
{
int suma=x + y;
ilo= x * y;
return suma;
}
Czemu nalezy przypisac wynik funkcji do jakies nowej zmiennej??
Użytkownik Crisu edytował ten post 23 październik 2005, 17:28
chodzi o referencje
troche poczytałem, zastosowalem się do tego co piszecie i mam cos takiego:
#include<stdio.h> int fun(int x, int y, int &ilo); main() { int a=3; int b=3; int iloczyn; printf("Suma=%d Iloczyn=%d",fun(a,b,iloczyn),iloczyn); return 0; } int fun(int x, int y, int &ilo) { int suma=x + y; ilo= x * y; return suma; }
Czemu ciagle mi nie liczy iloczynu ?

Balcerowicz: int &a to nie jest wskaźnik int *a, to jest przekazywanie przez referencje.
Kodie ma racje:)
No juz wszystko działa tylko ciagle nie wiem jaka jest roznica miedzy
wynik=fun(a,b,iloczyn)
printf("%d %d ",wynik,iloczyn)
a
printf("%d %d",fun(a,b,iloczyn),iloczyn);
w kazdym razie thx za pomoc all
Kodie ma racje:)
No juz wszystko działa tylko ciagle nie wiem jaka jest roznica miedzy (...) Taka, że w pierwszym przypadku używasz zmiennej pomocniczej wynik ;)
......
ale czemu po uzyciu zmiennej wynik dziala ok a bez jej uzycia sie wywala?
skoro teoretycznie to ten sam kod
Użytkownik Crisu edytował ten post 23 październik 2005, 18:38