•SpiderMan
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #50 : Februarie 03, 2010, 15:14:34 » |
|
Stii cum se spune: un exemplu te poate ajuta, dar in acelasi timp "deruta". Sunt probleme in care exemplul este un fel de "caz particular" , iar tu tratezi fara sa vrei acel caz, iar de restul uiti, si asa s-a dus problema de rapa ![Angry](http://www.infoarena.ro/forum/Smileys/default/mad2.gif)
|
|
|
Memorat
|
|
|
|
•crissty82
Strain
Karma: 0
Deconectat
Mesaje: 1
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #51 : Februarie 13, 2010, 17:21:25 » |
|
Salut Ma chinui de o juma de ora.... Asta e codul meu pt care primesc 0 puncte Ce nu e bine? #include<iostream.h> #include <fstream.h> int eucl(int a, int b) { if(a==b) return a; if(a>b) return eucl(a-b,b); else return eucl(a,b-a); } int main() { int a,b,minim; ifstream fisin("euclid.in"); fisin>>a;fisin>>b; fisin.close(); ofstream fisout("euclid.out"); fisout<<eucl(a,b); fisout.close(); }
Foloseste [ code ] ... [/ code ] cand postezi cod.
|
|
« Ultima modificare: Februarie 13, 2010, 18:16:51 de către Paul-Dan Baltescu »
|
Memorat
|
|
|
|
•best4him
Strain
Karma: 0
Deconectat
Mesaje: 4
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #52 : Martie 17, 2010, 15:31:15 » |
|
// algoritmul lui euclid.cpp : Defines the entry point for the console application. //
#include "stdafx.h" #include<iostream> using namespace std; #include<fstream> ifstream f("euclid2.in.txt"); ofstream g("euclid2.out.txt"); int cmmdc(int a, int b) { int r; r = a % b; while(r != 0) { a = b; b = r; r = a % b; } return b; }
int _tmain(int argc, _TCHAR* argv[]) { int n,i,a,b; f>>n; cout<<n; for(i=0;i<n;i++) { f>>a;f>>b; cout<<a<<" ,"<<b; g<<cmmdc(a,b); g<<endl; }
f.close(); g.close(); return 0; } Folosesc VIsual c++ 2008 ....ce este gresit de nu imi da 0 puncte?, Asta e prima data cand trimit o solutie la vreo problema si nu prea stiu cum merg lucrurile!
|
|
|
Memorat
|
|
|
|
•alexandru92
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #53 : Martie 17, 2010, 15:58:44 » |
|
stdafx.h trebuie eliminat, aceasta biblioteca are sens doar pt IDE-ul folosit de tine si app taie iostream ( inutil ) si pune fstream in loc ![Wink](http://www.infoarena.ro/forum/Smileys/default/wink.gif) ( desi l-ai pus sub namespace std; ) si este main nu _tmain ![Smile](http://www.infoarena.ro/forum/Smileys/default/smile.gif) ps: ai gresit fisierele ( fara .txt ) pss: problema apartie de algoritmul lui euclid, nu de algoritmul lui euclid extins ![Wink](http://www.infoarena.ro/forum/Smileys/default/wink.gif)
|
|
|
Memorat
|
|
|
|
•best4him
Strain
Karma: 0
Deconectat
Mesaje: 4
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #54 : Martie 17, 2010, 18:24:21 » |
|
mersi, pai eu am dat sa dau comentariu aici http://infoarena.ro/problema/euclid2 si vad ca l-a afisat aici , stiu ca nu trebuie <iostream> dar din obisnuinta... ![Aha](http://www.infoarena.ro/forum/Smileys/default/icon_aha.gif) Thx! Ps. De unde sa invat algoritmii de baza,? adica ce e prin manuale mi se pare putin...este vreo carte mai buna despre algoritmi?(nu vreau sa nu fie nici prea abstracta:D pentru ca nu stiu cat de mult am sa inteleg.)
|
|
|
Memorat
|
|
|
|
•alexandru92
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #55 : Martie 17, 2010, 18:28:52 » |
|
Incearca setul de 3 volume : Programare in limbajul C/C++ pentru liceu de Emanuela Cerchez si Marinel Serban. Primul volum e pentru incepatori( clasa a 9-10 ), al doilea volum e pentru clasa 10-11, iar ultimul pentru 11-12 ![Smile](http://www.infoarena.ro/forum/Smileys/default/smile.gif)
|
|
|
Memorat
|
|
|
|
•best4him
Strain
Karma: 0
Deconectat
Mesaje: 4
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #56 : Martie 17, 2010, 18:33:26 » |
|
Mersi, vad ca nu imi ia decat 40 de puncte...si e facut prin impartire...de ce? ![Very Happy](http://www.infoarena.ro/forum/Smileys/default/biggrin.gif) am facut si recursiv...dar tot nu trece de 40... ![Brick wall](http://www.infoarena.ro/forum/Smileys/default/wallbash.gif) int cmmdc(int a, int b) { if (b==0) return a; else return cmmdc(b,a%b); }
|
|
« Ultima modificare: Martie 17, 2010, 18:45:48 de către Cristinescu Andrei »
|
Memorat
|
|
|
|
•dornescuvlad
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #57 : Aprilie 02, 2010, 17:30:55 » |
|
problema ar putea fi ca tu afisezi 1 daca sunt prime intre ele , in loc sa afisezi 0 cum scrie in enunt
L.E : vad ca s-a rezolvat
|
|
|
Memorat
|
|
|
|
•SpiderMan
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #58 : Aprilie 02, 2010, 17:33:06 » |
|
problema ar putea fi ca tu afisezi 1 daca sunt prime intre ele , in loc sa afisezi 0 cum scrie in enunt
Vezi tu undeva scris asa ceva ? NU mai posta aiurea, ca incurci oamenii .
|
|
|
Memorat
|
|
|
|
•cipri20
Strain
Karma: 0
Deconectat
Mesaje: 5
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #59 : Aprilie 13, 2010, 19:45:03 » |
|
Cod: include<stdio.h> int main() { freopen("euclid2.in","r",stdin); freopen("euclid2.out","w",stdout); int aux,a,b,i,x; for(i=0;i<x;i++) { scanf("%d",&a); scanf("%d",&b); }
while(b!=0) { aux = b; b = a%b; a = aux;
} printf("%d",a); printf("\n");
return 0; }
Modificat de Moderator : Foloseste tag-ul [ code ] ... [/ code ] pentru surse! imi spune si mie cineva de ce imi afiseaza 2?
|
|
« Ultima modificare: Aprilie 13, 2010, 22:51:06 de către Mircea Dima »
|
Memorat
|
|
|
|
•alexandru92
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #60 : Aprilie 13, 2010, 19:48:33 » |
|
aux=a%b; Nu inteleg ce are de a face cu Algoritmul lui Euclid Extins
|
|
|
Memorat
|
|
|
|
•SpiderMan
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #61 : Aprilie 13, 2010, 19:48:47 » |
|
for(i=0;i<x;i++) { scanf("%d",&a); scanf("%d",&b); } Asta ce este ? X este un numar random, pentru ca este in interiorul int-ului, si de accea b si a vor fi iarasi numere random, si probabil daca rulezi de mai multe ori o sa ai rezultat diferit. Incearca asa: include<stdio.h> int main() { freopen("euclid2.in","r",stdin); freopen("euclid2.out","w",stdout); int aux,a,b,i;
scanf("%d",&a); scanf("%d",&b); while(b!=0) { aux = b; b = a%b; a = aux;
} printf("%d",a); printf("\n");
return 0; } EDIT: Alexandru, daca te uiti atent ALE si ALE Extins au acelasi post daca dai la comentarii, am postat la cel simplu pe forum dar nu mi-a raspuns nimeni.
|
|
|
Memorat
|
|
|
|
•cipri20
Strain
Karma: 0
Deconectat
Mesaje: 5
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #62 : Aprilie 13, 2010, 19:54:42 » |
|
Imi da la fel ![Brick wall](http://www.infoarena.ro/forum/Smileys/default/wallbash.gif)
|
|
|
Memorat
|
|
|
|
•popoiu.george
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #63 : Aprilie 13, 2010, 21:22:12 » |
|
@cipri20 M-am uitat pe sursa ta si calcularea cmmdc e corecta, doar ca tu nu tii cont ca in fisierul de intrare vor fi T teste. Si cred ca e nevoie de long long pentru 100pt.
Sper ca ti-a fost de folos.
|
|
|
Memorat
|
|
|
|
•SpiderMan
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #64 : Aprilie 13, 2010, 21:26:18 » |
|
@popoiu.george E suficient int , incape @cipri20 Trebuie sa citesti prima data pe T si apoi sa faci un for in care de fiecare data calculezi cmmdc scanf("%d",&T); for (i = 1; i <= T; i++) scanf("%d %d", &a,&b); ......................
|
|
|
Memorat
|
|
|
|
•cipri20
Strain
Karma: 0
Deconectat
Mesaje: 5
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #65 : Aprilie 14, 2010, 17:06:50 » |
|
#include<stdio.h> int main() { int i,a,b,r,T; freopen("euclid2.in","r",stdin); freopen("euclid2.out","w",stdout); scanf("%d",&T); for(i=1;i<=T;i++) scanf("%d %d",&a,&b); do { r=a%b; a=b; b=r; }while(r!=0);
printf("%d\n",a); return 0; }
imi afiseaza 1 de fiecare data si daca faca la fel afiseaza Modificat de Moderator: Nu mai posta de 2 ori consecutiv. Foloseste butonul "Modifica".
|
|
« Ultima modificare: Aprilie 14, 2010, 17:33:26 de către Mircea Dima »
|
Memorat
|
|
|
|
•blasterz
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #66 : Aprilie 14, 2010, 17:37:12 » |
|
#include<stdio.h> int main() { int i,a,b,r,T; freopen("euclid2.in","r",stdin); freopen("euclid2.out","w",stdout); scanf("%d",&T); for(i=1;i<=T;i++) scanf("%d %d",&a,&b); do { r=a%b; a=b; b=r; }while(r!=0);
printf("%d\n",a); return 0; }
imi afiseaza 1 de fiecare data si daca faca la fel afiseaza Modificat de Moderator: Nu mai posta de 2 ori consecutiv. Foloseste butonul "Modifica". Tu doar citesti in for... nu si calculezi cmmdc-ul. Ar trebui sa faci asa (observa acoladele): for(i=1;i<=T;i++) { scanf("%d %d",&a,&b); do { r=a%b; a=b; b=r; }while(r!=0); printf ("%d\n", a); }
|
|
|
Memorat
|
|
|
|
•cipri20
Strain
Karma: 0
Deconectat
Mesaje: 5
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #67 : Aprilie 14, 2010, 20:55:43 » |
|
Mersi mult mi-a iesit ![Winner 1st place](http://www.infoarena.ro/forum/Smileys/default/winner_first_h4h.gif)
|
|
|
Memorat
|
|
|
|
•paul_gabryel
Strain
Karma: -1
Deconectat
Mesaje: 3
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #68 : August 26, 2010, 14:09:58 » |
|
dece pe calculatorul meu pe exemplul lor am rezultatele 98 -147 13 -13 0 0 si cand am trimis sursa am luat 100 de puncte ![Huh](http://www.infoarena.ro/forum/Smileys/default/huh.gif) ? nu inteleg imi poate explica cineva
|
|
|
Memorat
|
|
|
|
•SpiderMan
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #69 : August 26, 2010, 14:27:34 » |
|
In cazul in care exista mai multe solutii pentru o ecuatie, se poate afisa oricare solutie pentru care necunoscutele nu depasesc in valoare absoluta 2 000 000 000. Pentru toate ecuatiile pentru care exista solutie, va exista si o solutie cu ambele necunoscute aflate in acest interval. Deci inseamna ca rezultatul dat de tine e bun .... P.S. - Atat imi da si mie ![Tongue](http://www.infoarena.ro/forum/Smileys/default/tongue.gif)
|
|
|
Memorat
|
|
|
|
•paul_gabryel
Strain
Karma: -1
Deconectat
Mesaje: 3
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #70 : August 26, 2010, 14:43:02 » |
|
ioi am am sarit peste partea aceea ms ![Smile](http://www.infoarena.ro/forum/Smileys/default/smile.gif) )
|
|
|
Memorat
|
|
|
|
|
•S7012MY
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #72 : Septembrie 22, 2010, 18:44:53 » |
|
Incearca sa folosesti %lld in loc de %I64d
|
|
|
Memorat
|
|
|
|
•romircea2010
Strain
Karma: 18
Deconectat
Mesaje: 35
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #73 : Martie 21, 2012, 00:58:42 » |
|
Am inteles partea cu daca c%d != 0 atunci nu exista solutii dar ma incurc la celalalt caz: de ce trebuie sa inmultim x si y cu (c/d) ca sa obtinem solutie?
|
|
|
Memorat
|
|
|
|
•alexandru822
Strain
Karma: 0
Deconectat
Mesaje: 2
|
![](/forum/Themes/default/images/post/xx.gif) |
« Răspunde #74 : Martie 30, 2015, 15:57:05 » |
|
O intrebare: care e diferenta in a folosi &X sau X in functia din exemplu?
|
|
|
Memorat
|
|
|
|
|