Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Ajutor!!!  (Citit de 2907 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
Sycron
Client obisnuit
**

Karma: -141
Deconectat Deconectat

Mesaje: 66



Vezi Profilul
« : Februarie 08, 2008, 23:08:57 »

Am functia:
Citat
int minim(int a[100], int n, int &p)
{
int i,min;
min=a[1];
for(i=2;i<=n;i++) if(ai<min) {min=ai;p=i;}
return min;
}

cand o apelez
minim (a,n) -->Too few parameters
minim (a,n,p) -->returneaza minimu' corect ... dar p=0 intotdeauna... (in cazut in care minimu se afla pe ultima pozitie atunci p=n;) WOW dc??
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #1 : Februarie 08, 2008, 23:18:05 »

Pai daca dai teste in care minimul este a[1] nu ar trebui sa se schimbe valoarea lui p.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
Sycron
Client obisnuit
**

Karma: -141
Deconectat Deconectat

Mesaje: 66



Vezi Profilul
« Răspunde #2 : Februarie 08, 2008, 23:20:55 »

nu am dat teste in care valoarea lui n sa fie 1... :/ nu asta ma intereseaza (se rezolva usor... int p=1;)

de ce minim (a,n) -->Too few parameters Huh

trebuia sa mearga nu?
transmisie prin referinta... (returneaza minimu ... si memoreaza pozitia lui)
Memorat
Darth_Niculus
De-al casei
***

Karma: -13
Deconectat Deconectat

Mesaje: 143



Vezi Profilul
« Răspunde #3 : Februarie 08, 2008, 23:47:41 »

de ce minim (a,n) -->Too few parameters Huh
pt. ca functia are 3 parametri  Smile
Memorat
Sycron
Client obisnuit
**

Karma: -141
Deconectat Deconectat

Mesaje: 66



Vezi Profilul
« Răspunde #4 : Februarie 09, 2008, 00:07:45 »

plz, cine are timp sa-mi modifice functia...ca eu nu inteleg nik. profa a spus k dak un parametru e &p (referinta) nu trebuie sal apelez. Scz d lizibilitatea postului dar sunt p tel mobil acum...
Memorat
Darth_Niculus
De-al casei
***

Karma: -13
Deconectat Deconectat

Mesaje: 143



Vezi Profilul
« Răspunde #5 : Februarie 09, 2008, 01:35:23 »

 cu exceptia observatiei lui wefgef... functia e buna... greseala se trage de alt-undeva de prin program
Memorat
portocala
Strain


Karma: 12
Deconectat Deconectat

Mesaje: 24



Vezi Profilul
« Răspunde #6 : Februarie 09, 2008, 16:27:03 »

cand apelezi o functie, o apelezi cu toti parametrii pe care ii cere(3 in cazul tau),chiar daca sunt sau nu transmisi prin referinta
Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #7 : Februarie 09, 2008, 16:58:20 »

Nu neaparat. Poti sa ii dai unui parametru un "default value" si atunci nu trebuie sa-i mai dai valoarea...

Cod:
int f(long x=0) { return x; }
iti va returna 0 daca apelezi cu f()... cel putin in teorie

Google it Smile
Memorat
Sycron
Client obisnuit
**

Karma: -141
Deconectat Deconectat

Mesaje: 66



Vezi Profilul
« Răspunde #8 : Februarie 09, 2008, 18:06:23 »

Totuşi ... tot but sunt.. :/ in interiorul funcţiei e valoarea lui p corectă... dar in exteriorul funcţiei (in cazul de faţă în main) valoarea p rămâne nemodificată... DE CE? ca e declarat prin referinţă.

Asta este sursa completă.
Cod:
#include<iostream.h>
#include<conio.h>
int minim(int a[100],int n ,int &p)
{
int min=a[1],i;p=1;
for(i=2;i<=n;i++)
     if(a[i]<min) {min=a[i];p=i;cout<<p<<" ";}
     cout<<endl;
return min;
}


int main()
{
clrscr();
int n,a[100],p=101;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
cout<<minim(a,n,p)<<" "<<p;//afiseaza valoarea 101 (a lui p) ceea ce inseamna ca n-au avut loc modificari
getch();
return 0;
}

Vă mulţumesc pentru suport!
« Ultima modificare: Februarie 09, 2008, 21:11:51 de către Harabula Adrian » Memorat
Sycron
Client obisnuit
**

Karma: -141
Deconectat Deconectat

Mesaje: 66



Vezi Profilul
« Răspunde #9 : Februarie 11, 2008, 16:07:29 »

REZOLVAT!!!
Gresit:

Cod:
cout<<minim(a,n,p)<<" "<<p;
Corect:
Cod:
cout<<minim(a,n,p);
cout<<" "<<p;
Memorat
yahim
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #10 : Februarie 15, 2008, 17:43:31 »

am si io nevoie de un algoritm al lui lee nerecursiv va rog...deabia am invatat recursivitatea si mi-a zis profa k imi trebuie lee si maine e olmpiada Mad...si am unu..care e destul de complicat...poate nerecursiv e mai usor..
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines