Jump to content

-PTM-Andrey

Members
  • Posts

    5
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

-PTM-Andrey's Achievements

Rookie

Rookie (2/14)

  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputation

  1. Va rog sa ma ajutati cu rezolvarea acestei probleme si cu ceva informatii despre cum as putea realiza mai usor o functie recursiva. Se citeste o matrice nxn numere intregi. Determinati produsul elementelor cu un numar impar de cifre. Indicatie: Realizati functia recursiva pentru citire matrice, numararea cifrelor si pentru aflarea produsului,
  2. Am pus si acele acolade, tot nu merge.. Deci nu inteleg care este greseala.. Eu, cand am facut algoritmul asa m-am gandit: Algoritmul citeste cate un numar din fiecare fisier, prin cate o variabila simpla x si y. In cazul in care valorile coincid, se citesc alte valori. La fiecare pas, se testeaza divizibilitatea cu 5 pentru numarul mai mic. Cand un sir se termina, algoritmul continua pentru numerele din al doilea sir.
  3. #include <iostream> #include <fstream> using namespace std; ifstream f("NR1.TXT"); ifstream g("NR2.TXT"); int main() { int x,y; cout<<"b)"<<endl; while(f>>x && g>>y) { if(x==y) f>>x; g>>y; while(x<y) { if(x%5==0) cout<<x<<" "; f>>x; } while(x>y) { if(y%5==0) cout<<y<<" "; g>>y; } } while(f>>x) if(x%5==0) cout<<x<<" "; while(g>>y) if(y%5==0) cout<<y<<" "; return 0; } Asa am facut, si tot nu afiseaza 60...
  4. Salut. Am 2 probleme pe care nu stiu cum sa le rezolv, si una pe care am rezolvat-o dar imi afiseaza un rezultat partial din rezolvare. ~~~~~~~~~~~~Probleme pe care nu le stiu. ~~~~~~~~~~~~~~~~~~ 1. Fişierul text numere.txt conţine pe prima sa linie un număr natural n (n<30000), iar pe a doua sa linie, n numere întregi, având maximum 4 cifre fiecare. Se cere să se afişeze pe ecran un şir de n numere întregi, cu proprietatea că valoarea termenului de pe poziţia i (i=1,2,…,n) din acest şir este egală cu cea mai mare dintre primele i valori de pe a doua linie a fişierului numere.txt. a) Descrieţi pe scurt un algoritm de rezolvare, eficient din punct de vedere al timpului de executare şi al spaţiului de memorie utilizat, explicând în ce constă eficienţa sa. b) Scrieţi programul C/C++ corespunzător algoritmului descris. Exemplu: dacă fişierul numere.txt are conţinutul 12 4 6 3 7 8 1 6 2 7 9 10 8 se afişează pe ecran numerele 4 6 6 7 8 8 8 8 8 9 10 10 2. Pe prima linie a fişierului text BAC.IN se găsesc, separate prin câte un spaţiu, mai multe numere naturale de cel mult 9 cifre fiecare. Scrieţi un program C/C++ care citeşte numerele din acest fişier, elimină toate cifrele impare din fiecare dintre aceste numere şi apoi scrie în fişierul text BAC.OUT numerele astfel obţinute, separate prin câte un spaţiu. Dacă un număr din fişierul BAC.IN nu conţine nicio cifră pară nenulă, acesta nu va mai apărea deloc în fişierul de ieşire. (10p.) Exemplu: dacă fişierul BAC.IN conţine numerele 25 7 38 1030 45127 0 35 60 15, atunci BAC.OUT va avea conţinutul: 2 8 42 60. ~~~~~~~~~~~~Problema cu rezultat partial~~~~~~~~~~~~~~~~~~ 3. Fişierele text NR1.TXT şi NR2.TXT conţin, separate prin câte un spaţiu, mai multe numere întregi de cel mult 9 cifre fiecare. Fiecare dintre fişiere conţine cel mult 100 de valori şi numerele din fiecare fişier sunt ordonate strict crescător. Se cere să se afişeze pe ecran, în ordine crescătoare, numerele divizibile cu 5 care se găsesc doar în unul din cele două fişiere. Exemplu: dacă fişierul NR1.TXT conţine numerele 1 2 3 4 7 20 60, iar fişierul NR2.TXT conţine numerele 3 5 7 8 9 10 12 20 24, atunci se vor afişa pe ecran valorile 5 10 60. a) Descrieţi un algoritm de rezolvare a acestei probleme, eficient din punct de vedere al timpului de executare şi al spaţiului de memorie utilizat, explicând în ce constă eficienţa acestuia. (4p.) b) Scrieţi programul C/C++ corespunzător algoritmului descris. Si acesta este algoritmul facut de mine: #include <iostream> #include <fstream> using namespace std; ifstream f("NR1.TXT"); ifstream g("NR2.TXT"); int main() { int x,y; cout<<"b)"<<endl; while(f>>x && g>>y) { if(x==y) f>>x; g>>y; while(x<y) { if(x%5==0) cout<<x<<" "; f>>x; } while(x>y) { if(y%5==0) cout<<y<<" "; g>>y; } } } Imi afiseaza doar 5 10 .. fara a-l mai afisa pe 60, de ce? ce nu este corect?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.