Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Mod de lucru Purmo Tempco Digital...

Samsung S90C vs LG C3

Problema sunet RCS

Amortizor sertare bucatarie
 Codrea Pallady

Blocurile goale! Orase in car...

Motorul pe benzina 1.0 SCe65

Mostenire In 1986
 Lentile sferica pentru astigmatism

Problema inlocuire usa spate A6 C...

Ce gen de muzica este?

Drepturile copiilor, in numele &#...
 Mocheta peste parchet cu incalzir...

La multi ani mie!

Senzor filtru particule GOLF 7

La multi ani @radu103!
 

Cum fac return la doua sau mai multe elemente ?

- - - - -
  • Please log in to reply
25 replies to this topic

#1
Krisler12

Krisler12

    Senior Member

  • Grup: Senior Members
  • Posts: 2,761
  • Înscris: 21.04.2009
Sa zicem ca am o functie care calculeaza media aritmetica si intoarce rezultatul, de exemplu:

int average ( int a, int B)
{
   rezultat=(a+b)/2;
   return rezultat;
}


Acum sa ziceam ca am o functie care citeste un fisier iar la final trebuie sa intoarca: numele fisierului, numaru de linii citite si tipul fisierului (.txt/.xlx etc.).
Cum fac ? Ca dupa modelul de mai sus nu merge sa scriu:

return nume_fisier numar_linii  tip_fisier;

Atunci cum trebuie facut ?

Multumesc !

#2
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,252
  • Înscris: 24.02.2007
O structura

#3
Krisler12

Krisler12

    Senior Member

  • Grup: Senior Members
  • Posts: 2,761
  • Înscris: 21.04.2009
Cum adica ?

#4
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,252
  • Înscris: 24.02.2007
Creeazi si returnezi o structura

#5
danzi23

danzi23

    Senior Member

  • Grup: Senior Members
  • Posts: 6,072
  • Înscris: 14.08.2013
@Krisler12
uite un exemplu
#include <iostream>
using namespace std;
struct qwerty
{
	string fileName, extension;
	int n;
};
qwerty func()
{
	qwerty Y;
	Y.fileName = "asdf";
	Y.extension = ".txt";
	Y.n = 10;
	return Y;
}
int main()
{
	qwerty X = func();
	cout << X.fileName;
	return 0;
}


Edited by danzi23, 19 April 2014 - 10:09.


#6
Krisler12

Krisler12

    Senior Member

  • Grup: Senior Members
  • Posts: 2,761
  • Înscris: 21.04.2009
Multumesc !

Ce smecherie, chiar nu stiamd e asa ceva. :D

#7
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,252
  • Înscris: 24.02.2007
Deci meritam si noi o parte din viitoare tale castiguri la loto :D

#8
Krisler12

Krisler12

    Senior Member

  • Grup: Senior Members
  • Posts: 2,761
  • Înscris: 21.04.2009

View Postdani.user, on 19 aprilie 2014 - 10:36, said:

Deci meritam si noi o parte din viitoare tale castiguri la loto Posted Image
Vezi ca ma crezi ? :D

#9
ccdsah

ccdsah

    Senior Member

  • Grup: Senior Members
  • Posts: 2,581
  • Înscris: 16.03.2013

View PostKrisler12, on 19 aprilie 2014 - 09:45, said:

Sa zicem ca am o functie care calculeaza media aritmetica si intoarce rezultatul, de exemplu:

int average ( int a, int B)
{
rezultat=(a+b)/2;
return rezultat;
}


Acum sa ziceam ca am o functie care citeste un fisier iar la final trebuie sa intoarca: numele fisierului, numaru de linii citite si tipul fisierului (.txt/.xlx etc.).
Cum fac ? Ca dupa modelul de mai sus nu merge sa scriu:

return nume_fisier numar_linii  tip_fisier;

Atunci cum trebuie facut ?

Multumesc !

Nu returnea media aritmetica ci doar catul impartirii sumei numerelor la 2. trebuie sa definesti functia astfel incat sa returneze un nr real si impartirea s-o faci la 2.0

La problema ta nu folosesti o functie ci o procedura

#10
Krisler12

Krisler12

    Senior Member

  • Grup: Senior Members
  • Posts: 2,761
  • Înscris: 21.04.2009

View Postccdsah, on 19 aprilie 2014 - 12:56, said:


Nu returnea media aritmetica ci doar catul impartirii sumei numerelor la 2. trebuie sa definesti functia astfel incat sa returneze un nr real si impartirea s-o faci la 2.0

La problema ta nu folosesti o functie ci o procedura

Cum adica ? Da un exemplu, te rog, ca nu stiu.

#11
ccdsah

ccdsah

    Senior Member

  • Grup: Senior Members
  • Posts: 2,581
  • Înscris: 16.03.2013

View PostKrisler12, on 20 aprilie 2014 - 09:37, said:

Cum adica ? Da un exemplu, te rog, ca nu stiu.

http://en.wikipedia....mputer_science)

#12
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,468
  • Înscris: 10.08.2005

View Postccdsah, on 19 aprilie 2014 - 12:56, said:

La problema ta nu folosesti o functie ci o procedura

Quote

In different programming languages a subroutine may be called a procedure, a function, a routine, a method, or a subprogram. The generic term callable unit is sometimes used


#13
Dumitru_Pavel

Dumitru_Pavel

    Member

  • Grup: Members
  • Posts: 453
  • Înscris: 06.02.2014

View Postdani.user, on 19 aprilie 2014 - 09:45, said:

O structura

asta dacă ştii câte sunt şi de ce tip sunt dar problema se poate complica

#14
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,252
  • Înscris: 24.02.2007
Si structura se poate complica.

#15
paulicaFX

paulicaFX

    Member

  • Grup: Members
  • Posts: 792
  • Înscris: 08.08.2011
Sau prin parametrii de referinta
#include <iostream>
using namespace std;

void func(int &nr, string &tip, string &nume)
{
nr=10;
tip=".xml";
nume="fisier";

	 
}
int main()
{
int numarLinii;
string extensie,filename;
func(numarLinii,extensie,filename);
cout<<filename;

	 return 0;
}

Edited by paulicaFX, 20 April 2014 - 17:13.


#16
TS030

TS030

    Guru Member

  • Grup: Senior Members
  • Posts: 15,193
  • Înscris: 25.06.2012
N-as zice ca e o idee buna sa returnezi o structura - cel putin nu in acest caz. Daca datele de iesire pot fi logic grupate intr-o structura, atunci aceasta poate fi un parametru de iesire. Daca nu, parametri separati.
Totusi nu inteleg cum ajunge o functie care trebuie sa citeasca dintr-un fisier sa determine de capul ei numele si extensia fisierului... astea suna a parametri de intrare.

Krisler12, te-ai gandit sa pui mana pe si sa studiezi o carte de C++ pentru incepatori? Oricare dintre ele ar trebui sa trateze functiile si transmiterea parametrilor.

#17
Rhesus

Rhesus

    Senior Member

  • Grup: Senior Members
  • Posts: 2,884
  • Înscris: 22.04.2014

View PostMarianG, on 20 aprilie 2014 - 13:24, said:

Cu toate că terminologia este aproape identică (subrutina, rutina, metoda, functie, procedura, subprogram), se folosește funcție pentru acel unit care returneaza ceva (inca din Pascal, functia obligatoriu returneaza ceva), pe cand o procedura nu trebuie sa returneze(void din C). Subprogram si subrutină sunt denumiri umpic mai generale pentru functii si proceduri.

Aș vrea sa văd și părerile voastre legate de acest aspect Posted Image Cum spuneți/Ce denumiri preferați

Edited by Rhesus, 28 April 2014 - 20:39.


#18
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,468
  • Înscris: 10.08.2005

View PostRhesus, on 28 aprilie 2014 - 20:38, said:

Cu toate că terminologia este aproape identică (subrutina, rutina, metoda, functie, procedura, subprogram), se folosește funcție pentru acel unit care returneaza ceva (inca din Pascal, functia obligatoriu returneaza ceva), pe cand o procedura nu trebuie sa returneze(void din C). Subprogram si subrutină sunt denumiri umpic mai generale pentru functii si proceduri.
main e functie sau procedura?

Edited by MarianG, 28 April 2014 - 20:46.


Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate