•devil
Strain
Karma: -4
Deconectat
Mesaje: 8
|
|
« : Ianuarie 24, 2012, 22:00:59 » |
|
1 CE afisaza subprogramul afis. Daca apelez afis (4) 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. #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
|
|
« Ultima modificare: Ianuarie 25, 2012, 22:29:51 de către Mircea Dima »
|
Memorat
|
|
|
|
•PlayLikeNeverB4
|
|
« Răspunde #1 : Ianuarie 24, 2012, 22:16:48 » |
|
Ruleaza-le si vei vedea. Simplu
|
|
|
Memorat
|
|
|
|
•devil
Strain
Karma: -4
Deconectat
Mesaje: 8
|
|
« Răspunde #2 : Ianuarie 24, 2012, 22:44:09 » |
|
crezi ca nu am incercat )) La primul imi da 4321012349000 ceea ce nu e bine nu situ ce am facut si la 2 e facut programu de mine si nu merge vreau ssa mil corectati pe ala daca se paote.
|
|
|
Memorat
|
|
|
|
•maritim
|
|
« 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
Mesaje: 8
|
|
« 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? ? ca imi da mereu 1
|
|
|
Memorat
|
|
|
|
•PlayLikeNeverB4
|
|
« 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
Mesaje: 8
|
|
« 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
|
|
« Răspunde #7 : Ianuarie 25, 2012, 13:02:53 » |
|
Let's try it: 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
Mesaje: 8
|
|
« 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 ? #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
|
|
« Răspunde #9 : Ianuarie 25, 2012, 21:31:16 » |
|
Tu ai cratima pe tastatura ?
|
|
|
Memorat
|
|
|
|
•devil
Strain
Karma: -4
Deconectat
Mesaje: 8
|
|
« 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
|
|
« 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 ? #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
Mesaje: 8
|
|
« 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
|
|
« 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
Mesaje: 8
|
|
« Răspunde #14 : Ianuarie 25, 2012, 22:28:39 » |
|
Da ai dreptate scuze!Multumesc ca mati ajutat am inteles acum unde am gresit
|
|
|
Memorat
|
|
|
|
•toni2007
|
|
« Răspunde #15 : Ianuarie 25, 2012, 22:36:38 » |
|
#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
|
|
|
|
|