Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Salut care ma ajuta si pe mine  (Citit de 4330 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
devil
Strain


Karma: -4
Deconectat Deconectat

Mesaje: 8



Vezi Profilul
« : Ianuarie 24, 2012, 22:00:59 »

1 CE afisaza subprogramul afis. Daca apelez afis (4)
Cod:
void afis (int n)
{cout<<n;
 if (n>0) {afis(n-1);
             cout<<n;
}
}
2 Se da un vector cu n componente numere intregi. Sa se clculeze produsul componentelor din vecotr care au ultima cifra 1.
Cod:
#include <iostream.h>
int a[50];
int prod(int i,int n)
{if (i>n) return 1;
 else if (a[i]%10==1) return a[i]*prod(i+1,n);
 }
 void main ()
 {int a[50],i,n;
 cout<<"n=";cin>>n;
 for (i=0;i<n;i++) {cout<<"a["<<i+1<<"]=";
  cin>>a[i];}
cout<<prod(i,n);
}
Sunt incepator nu va luati de mine Very Happy
« Ultima modificare: Ianuarie 25, 2012, 22:29:51 de către Mircea Dima » Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #1 : Ianuarie 24, 2012, 22:16:48 »

Ruleaza-le si vei vedea. Simplu Smile
Memorat
devil
Strain


Karma: -4
Deconectat Deconectat

Mesaje: 8



Vezi Profilul
« Răspunde #2 : Ianuarie 24, 2012, 22:44:09 »

crezi ca nu am incercat Smile))
La primul imi da 4321012349000 ceea ce nu e bine nu situ ce am facut Very Happy
si la 2 e  facut programu de mine si nu merge vreau ssa mil corectati pe ala daca se paote.
Memorat
maritim
Vorbaret
****

Karma: 59
Deconectat Deconectat

Mesaje: 176



Vezi Profilul
« Răspunde #3 : Ianuarie 24, 2012, 23:48:16 »

Imi pare rau sa te anunt dar la prima problema cam asa ar trebui sa afiseze, fara 900000 la final. De fapt afiseaza numerele de la n -> 0 dupa care de la 0 -> n (0 o singura data). 90000 acela nu ar trebui sa existe, nu stiu daca l-ai pus doar pentru aspect sau chiar e un bug pe undeva, dar asa ar trebui sa dea dupa cod. Completeaza cout-ul cu << " " pentru a lasa un spatiu si a intelege ce afiseaza.
« Ultima modificare: Ianuarie 25, 2012, 00:01:34 de către Lambru Andrei Cristian » Memorat
devil
Strain


Karma: -4
Deconectat Deconectat

Mesaje: 8



Vezi Profilul
« Răspunde #4 : Ianuarie 25, 2012, 11:11:43 »

da asa imi apare in fine stiam ca e 432101234 da nu eram sigur si la al 2 lea program ce am gresit?Huh? ca imi da mereu 1
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #5 : Ianuarie 25, 2012, 11:41:42 »

Pai daca i-ul ti-e n cand apelezi prod ce ai vrea sa faca? In plus, ai declarat tabloul a si global si local. Si daca elementul de pe pozitia i nu are cifra 1 atunci programul tau nu verifica mai departe.
Memorat
devil
Strain


Karma: -4
Deconectat Deconectat

Mesaje: 8



Vezi Profilul
« Răspunde #6 : Ianuarie 25, 2012, 11:46:42 »

Vam zis incepator doar ce am invatat prog recursive si nu prea le inteleg .Puteti sa imi faceti programu ca sa ruleze cum trebuie ca tot incerc si nu merge si vreau sa vad cum trebuie facut.
 
Memorat
maritim
Vorbaret
****

Karma: 59
Deconectat Deconectat

Mesaje: 176



Vezi Profilul
« Răspunde #7 : Ianuarie 25, 2012, 13:02:53 »

Let's try it:

Cod:
int prod(int i,int n)
{
    if (i>n) return 1;
    else if (a[i]%10==1) return a[i]*prod(i+1,n);
    else return prod(i+1,n);
 }
Memorat
devil
Strain


Karma: -4
Deconectat Deconectat

Mesaje: 8



Vezi Profilul
« Răspunde #8 : Ianuarie 25, 2012, 21:03:48 »

mda l-am refacut rulati-l si voi si vedeti ce va da mie tot 1 imi da Huh? Cry Cry
Cod:
#include <iostream.h>
int a[50];
int prod(int i,int n)
{
    if (i>n) return 1;
    else if (a[i ]%10==1) return a[i ]*prod(i+1,n);
    else return prod(i+1,n);
 }
 void main ()
 {int i,n;
 cin>>n;
 for(i=1;i<=n;i++){ cout<<"a["<<i+1<<"]=";
  cin>>a[i ];   }

cout<<prod(i,n);
}

« Ultima modificare: Ianuarie 25, 2012, 22:30:15 de către Mircea Dima » Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #9 : Ianuarie 25, 2012, 21:31:16 »

Tu ai cratima pe tastatura ?
Memorat
devil
Strain


Karma: -4
Deconectat Deconectat

Mesaje: 8



Vezi Profilul
« Răspunde #10 : Ianuarie 25, 2012, 21:44:30 »

In loc sa ma critici ai putea sa ma ajuti daca nu poti sa ramai in banca ta, te rog frumos nu mai posta  aiurea doar ca sa faci tu pe interesantul.
Memorat
blasterz
Nu mai tace
*****

Karma: 92
Deconectat Deconectat

Mesaje: 255



Vezi Profilul
« Răspunde #11 : Ianuarie 25, 2012, 22:11:25 »

mda l-am refacut rulati-l si voi si vedeti ce va da mie tot 1 imi da Huh? Cry Cry
#include <iostream.h>
int a[50];
int prod(int i,int n)
{
    if (i>n) return 1;
    else if (a[i ]%10==1) return a[i ]*prod(i+1,n);
    else return prod(i+1,n);
 }
 void main ()
 {int i,n;
 cin>>n;
 for(i=1;i<=n;i++){ cout<<"a["<<i+1<<"]=";
         cin>>a[i ];   }

cout<<prod(i,n);
}



Pai normal ca-ti da 1. Tu apelezi prod(n+1, n). Probabil vrei sa apelezi prod(1, n)
Memorat
devil
Strain


Karma: -4
Deconectat Deconectat

Mesaje: 8



Vezi Profilul
« Răspunde #12 : Ianuarie 25, 2012, 22:14:58 »

Pai si cum fac sa mearga programul asa cum trebuie poti sa ma ajuti?
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #13 : Ianuarie 25, 2012, 22:19:25 »

In loc sa ma critici ai putea sa ma ajuti daca nu poti sa ramai in banca ta, te rog frumos nu mai posta  aiurea doar ca sa faci tu pe interesantul.

Vezi ca poti scrie corect ?

In momentul in care ceri ajutor, gandeste-te ca cel care te ajuta isi pierde din timpul lui pretios incercand sa descifreze ce ai scris tu. In al doilea rand, ti s-a raspuns cum se face, tu nu ai tinut cont de parerile celorlalti, repetand incontinuu sa rulam si noi codul. Crezi ca la noi e compilatorul voodoo sa afiseze altceva ? In al treilea rand nu stiu de ce dar imi dai impresia ca dai comenzi. In al patrulea rand, se foloseste tagul "[ code ]" (fara spatii) cand postezi cod. In al cincelea rand, cand ceri ajutor, ai bunul simt sa indentezi codul.

In al 6-lea rand, vezi ca ai numele scris gresit.
Memorat
devil
Strain


Karma: -4
Deconectat Deconectat

Mesaje: 8



Vezi Profilul
« Răspunde #14 : Ianuarie 25, 2012, 22:28:39 »

Da ai dreptate scuze!
Multumesc ca mati ajutat am inteles acum unde am gresit Very Happy
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #15 : Ianuarie 25, 2012, 22:36:38 »

Cod:
#include <iostream>

using namespace std;

int a[50];
int prod(int i, int n) {
  if (i > n) return 1;
  int x = prod(i + 1, n);
  if (a[i] % 10 == 1)
    return a[i] * x;
  return x;
}

int main () {
  int n;

  cout << "n = "; cin >> n;

  for (int i = 1; i <= n; ++ i) {
    cout << "a[" << i << "]=";
    cin >> a[i];
  }

  cout << prod(1, n);
}

Uite aici codul corect.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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