Risipa de key_press | Programare

Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Risipa de key_press | Programare - Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Exercitii rezolvate in c# si c++

O lista cu exercitii de programare rezolvate in c# – unele sunt in lucru, altele, cele care au un link, sunt publicate:

  1. Interschimbare valori – Interschimbaţi conţinutul a două numere de tip întreg citite de la tastatură.
  2. Ecuatia de gradul I – Să se rezolve ecuaţia de gradul I de forma ax+b=0, cu coeficienţi numere reale.
  3. Ecuatia de gradul II -Să se rezolve o ecuaţie de gradul II de forma ax2+bx+c=0, cu coeficienţi numere reale.
  4. Conversia secundelor – Scrieţi un program care primeşte la intrare un număr de secunde şi întoarce numărul maxim de ore, de minute, de secunde care este echivalent ca timp.
  5. Calculator – Scrieţi un program care simulează un calculator electronic pentru numere întregi: se introduc două numere întregi şi o operaţie care poate fi +, -, *, /, reprezentând adunarea, scăderea, înmulţirea şi câtul.
  6. Inmultire prin adunare – Înmultirea a două numere naturale prin adunări repetate.
  7. Impartire prin scadere – Împărţirea a două numere prin scăderi repetate.
  8. Ghiceste numarul – Să se ghicească un număr întreg din intervalul 1 – 100.
  9. Factorial – Să se calculeze n!=1*2*3*…*n (factorialul lui n), pentru un n natural citit de la tastatură.
  10. Suma cifre – Calculaţi suma cifrelor unui număr natural dat cu maximum 9 cifre.
  11. Fiind date două numere naturale n şi m, să se formeze un nou număr care să conţină cifrele maxime de pe fiecare poziţie din n şi m. Ex: n=2618, m=3456 → 3658
  12. c.m.m.d.c – Să se determine c.m.m.d.c. a două numere naturale. (2 variante)
  13. Divizori comuni – Să se afişeze toţi divizorii (proprii) comuni a două numere naturale.
  14. Numere perfecte – Să se determine toate numerele ”perfecte” mai mici decât 10000. Un număr este perfect dacă este egal cu suma tuturor divizorilor săi (inclusiv 1).
  15. Numar prim – Testaţi dacă un număr natural dat este prim. (Prin număr prim înţelegem orice număr natural care se împarte doar la 1 şi la el însuşi; se considera ca 2 este cel mai mic număr prim).
  16. Exercitiu – Se citeşte de la tastatură un număr natural x mai mare decât 2. Sa se găsească p şi q numere prime astfel încât p<x<q, iar diferenta q-p este minima.
  17. Conjectura lui Goldbach -Se citeşte de la tastatură un număr natural par. Sa se decida dacă acesta poate fi scris ca şi suma de două numere prime şi sa se afişeze toate soluţiile găsite (se va considera ca şi 1 este număr prim). (Conjectura lui Goldbach: “Orice număr par mai mare decat 2 este suma a două numere prime.”)
  18. Se citeşte de la tastatură un număr natural. Sa se decida dacă acesta poate fi scris ca şi suma de două patrate şi sa se afişeze toate soluţiile găsite.
  19. Perechi de numere prime – Sa se afişeze primele n perechi de numere prime care sunt consecutive în multimea numerelor impare.
  20. Factori primi – Sa se descompună un număr natural n în factori primi. Ex: 360=23*32*51
  21. Se citesc de la tastatură n numere naturale şi un număr prim p. Se cere să se găsească un număr k maxim astfel încât produsul celor n numere să se dividă cu pk, fără a calcula produsul. Ex: p=2, cele 4 numere sunt: 10=21*5, 8=23, 3=20*3, 28=22*7 → k=6
  22. Exercitiu – Se citesc n nr nat de la tastatură. Sa se determine în câte zerouri se va termina produsul acestora, fără a calcula efectiv produsul. Ex: 12, 35, 30, 75 → 3 zerouri
  23. Sa se calculeze nm efectuand mai putin de m-1 inmultiri. (Atentie la valorile n şi m, ca rezultatul sa nu depaseasca cel mai mare int (232)!. Ex: se poate calcula cel mult 231, 320, 513, etc. )
  24. Exercitiu – Sa se afiseze media aritmetica, geometrica si hiperbolica a trei valori reale.
  25. Exercitiu – Se citeste o propozitie (sir de caractere). Sa se determine cate vocale si consoane contine propozitia.
  26. Vectori

  27. Minimul si maximul unui vector – Dat fiind un tablou unidimensional (vector) cu numere întregi, determinaţi minimul şi maximul din acest tablou.
  28. Conversia unui numar din baza 10 in baza 2 – Să se transforme un nr nat din baza 10 în baza 2.
  29. Conversia unui numar natural din baza 10 in baza 16 – Să se transforme un nr nat din baza 10 în baza 16.
  30. Conversia unui numar natural din baza 10 – Să se transforme un număr natural din baza 10 în baza b[2, 9].
  31. Conversia unui numar natural din baza 2 in baza 10 – Să se transforme un nr nat din baza 2 în baza 10.
  32. Conversia unui numar natural din baza 16 in baza 10 – Să se transforme un nr nat din baza 16 în baza 10.
  33. Să se transforme un nr nat din baza b[2, 9] în baza 10.
  34. Fiind dat polinomul de gradul n cu coeficienti reali P(X)=anXn+an-1Xn-1+…+a1X+a0, să se calculeze P(x), unde x este un nr real dat. Ex: P(X)=3X^2-X+1, x=2, P(2)=11
  35. Fiind dat polinomul de gradul n cu coeficienti reali P(X), să se calculeze P(x)(x-b), unde b este un nr real dat.
  36. Sa se calculeze derivata de ordin întâi a unui polinom de grad n cu coeficienti întregi, reprezentat cu ajutorul unui vector.
  37. Sa se determine catul şi restul impartirii unui poliom de grad n cu coef întregi la (X-b), folosind schema lui Horner.
  38. Adaugarea unui element intr-un vector – Sa se adauge un element în interiorul unui vector de numere reale, fără a suprascrie elementele deja existente.
  39. Stergerea unui element dintr-un vector – Sa se stearga un element din interiorul unui vector de numere reale şi sa se acopere spatiul ramas gol prin deplasarea spre stanga a tuturor elementelor din dreapta sa.
  40. Sa se simuleze ciurul lui Eratostene (algoritm cu ajutorul căruia pot fi determinate numerele prime mai mici decât un număr dat) intr-un vector de n numere naturale.
  41. Reuniunuea a doua multimi – Se dau două mulţimi de numere întregi memorate cu ajutorul vectorilor. Să se calculeze reuniunea celor două mulţimi.
  42. Intersectia a doua multimi – Sa se calculeze intersectia a două multimi de numere reale reprezentate cu ajutorul vectorilor.
  43. Diferenta a doua multimi – Sa se calculeze diferenta A/B a două multimi A, B de numere reale reprezentate cu ajutorul vectorilor (diferenta semnifica elementele care sunt în A şi nu sunt şi în B).
  44. Numere pare – Sa se afiseze elementele de pe pozitiile pare ale elementelor vectorului. Sa se afiseze elementele pare.
  45. Numere pare de pe pozitii impare – Sa se afiseze elementele pare de pe pozitiile impare.
  46. Numere pare, impare, pozitive, negative dintr-un vector – Sa se afiseze cate elemente din vector sunt pare si cate impare. Sa se afiseze cate elemente din vector sunt pozitive si cate negative.
  47. Suma elementelor din prima jumatate a vectorului – Sa se calculeze suma
    elementelor din prima jumatate a vectorului.
  48. Inversarea ordinii elementelor dintr-un vector – Sa se inverseze ordinea elementelor dintr-un vector.
  49. Siruri

  50. Cautarea unui caracter intr-un sir – Cautarea unui caracter intr-un sir si afisarea numarului de aparitii.
  51. Litere mari, litere mici, numere intr-un sir – Afisarea aparitiilor pentru literele mari, mici si a numerelor dintr-un sir.
  52. Matrici

  53. Transpusa unei matrici – Construirea transpusei unei matrici oarecare de elemente reale.
  54. Interschimbarea a doua linii intr-o matrice– Interschimbarea a două linii (coloane) dintr-o matrice oarecare de elemente reale.
  55. Valoarea maxima dintr-o matrice – Sa se calculeze valoarea maxima dintr-o matrice oarecare de elemente reale şi sa se afişeze toate pozitiile din matrice unde se gaseste aceasta.
  56. Valoarea minima dintr-o matrice – Sa se calculeze valoarea minima dintr-o matrice oarecare de elemente reale şi sa se afişeze numărul de aparitii al acestei valori în matrice.
  57. Parcurgerea diagonalei principale – Sa se calculeze suma elementelor de pe diagonala principala dintr-o matrice pătratică de elemente întregi.
  58. Parcurgerea diagonalei secundare – Sa se afiseze elementele de pe diagonala secundara dintr-o matrice pătratică de elemente întregi.
  59. Parcurgerea elementelor de sub diagonala principala – Sa se calculeze suma elementelor din triunghiul de sub diagonala principala dintr-o matrice pătratică de elemente întregi.
  60. Parcurgerea elementelor aflate deasupra diagonalei secundare – Sa se calculeze suma elementelor din triunghiul de deasupra diagonalei secundare dintr-o matrice pătratică de elemente întregi.
  61. Sa se calculeze suma elementelor din triunghiul de sub diagonala secundara dintr-o matrice pătratică de elemente întregi.
  62. Sa se verifice care dintre liniile unei matrici oarecare de elemente întregi este simetrica (elementele egal departate de capetele liniei sunt egale).
  63. Produsul dintre o matrice si un vector – Sa se calculeze produsul dintre o matrice şi un vector de elemente întregi.
  64. – Numar suma de patrate perfecte – Se citeşte de la tastatură un număr natural. Sa se decida dacă acesta poate fi scris ca şi suma de două patrate şi sa se afişeze toate soluţiile găsite.

Explicatii

Pe masura ce voi mai reusi sa adun exercitii rezolvate le voi publica si adauga in lista.
Daca vrei sa ma ajuti sa realizez o baza de date cu exercitii de programare cu rezolvare in c# te rog sa imi trimiti printr-un comentariu o problema impreuna cu rezolvarea ei. Daca vrei sa primesti credit pentru ceea ce ai trimis, lasa-mi o linie cu datele tale: nume, url blog (daca ai), pseudonim, email (daca il vrei publicat) etc.

Poti trimite, deasemeni, rezolvari diferite ale aceleasi probleme. Sau rezolvari ale problemelor inca nerezolvate (cele care nu au link spre o pagina de rezolvare).

Un alt mod de a contribui este prin traducerea codului c# ce reprezinta rezolvarea exercitiilor din aceasta pagina intr-un alt limbaj. Cu cat sunt mai multe limbajele in care sunt prezentate rezolvarile, cu atat mai multi elevi vor primi ajutor atunci cand dau de greu.

Multumesc.

  • robert says:

    18.18.Se citeşte de la tastatură un număr natural. Sa se decida dacă acesta poate fi scris ca şi suma de două patrate şi sa se afişeze toate soluţiile găsite.

    #include
    #include
    using namespace std;
    bool verif_nr(float nr)
    {
    bool patrat=false;
    if ((sqrt(nr) * sqrt(nr)) == nr)
    patrat=true;
    return patrat;
    }
    int main()
    {
    float nr, nr1, nr2=0;
    cout<>nr;
    for(nr1=2; nr1<=nr/2; nr1++)
    {
    if(verif_nr(nr1))
    {
    nr2=nr-nr1;
    if(verif_nr(nr2))
    cout<<nr<<"="<<sqrt(nr1)<<"^2"<<" + "<<sqrt(nr2)<<"^2"<<endl;
    }
    }
    return 0;
    }

    March 30, 2012 at 6:45 pm
  • Alexandra says:

    Tare. Bv tie ca vrei sa ajuti. Multumesc!

    April 24, 2012 at 10:11 am
  • Stefan Apostol says:

    De elaborat un program care afişează toate elementele pare ale matricei.

    using System;

    namespace parmatrice
    {
    class Program
    {
    static void Main(string[] args)
    {
    int i, j;
    Console.WriteLine(“Introduceti numarul de linii:”);
    int l = int.Parse(Console.ReadLine());

    Console.WriteLine(“Introduceti numarul de coloane:”);
    int c = int.Parse(Console.ReadLine());

    int[,] m = new int[l, c];

    Console.WriteLine(“Introduceti elementele matricii:”);
    for (i = 0; i < l; i++)
    {
    for (j = 0; j < c; j++)
    {
    Console.Write("A[{0}][{1}]=", i, j);
    m[i, j] = int.Parse(Console.ReadLine());
    }
    }
    Console.WriteLine("Elemente pare sunt:");
    for (i = 0; i < l; i++)
    {
    for (j = 0; j < c; j++)
    if (m[i, j] % 2 == 0)
    Console.WriteLine(m[i, j]);
    Console.ReadLine(); }
    }
    }
    }

    May 12, 2012 at 8:07 pm
  • Stefan Apostol says:

    1. Să se afişeze a 3 cifra de la sfîrşitul a unui număr natural dat alcătuit din 5 cifre.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace ConsoleApplication1
    {
    class Program
    {
    static void Main(string[] args)
    {
    int n,cit,rest;
    Console.WriteLine(“Dati numarul:”);

    n = Convert.ToInt32(Console.ReadLine());
    cit = n / 100;

    rest=cit%10;
    Console.WriteLine(“A treia cifra din numar este:” + rest + “”);

    }
    }
    }

    May 12, 2012 at 8:08 pm
  • Stefan Apostol says:

    1. Să se determine dacă 2 numere naturale sînt prietene (nr comun de împărţitori).
    2.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace ConsoleApplication1
    {
    class Program
    {
    static void Main(string[] args)
    {
    int n,m , s;
    s = 0;

    n = Convert.ToInt32(Console.ReadLine());
    for (int j = 1; j < n; j++)
    if ((n % j) == 0)
    s+= j;
    m = Convert.ToInt32(Console.ReadLine());
    if (m == s)
    Console.WriteLine("Numerele date sunt prietene:{0},{1}", n,m );

    }
    }
    }

    May 12, 2012 at 8:09 pm
  • Stefan Apostol says:

    1. Sa se determine elementul maxim si cel minim intr-un vector si sa schimbe.
    using System;

    namespace _24
    {
    class Program
    {static void Main(string[] args)
    {Console.WriteLine(“Introduceti numarul de elemente al vectorului:”);

    int elemente = Convert.ToInt32(Console.ReadLine());
    int max, min;
    int[] array = new int[elemente];
    for (int i = 0; i < elemente; i++)
    {
    Console.WriteLine("Elementul {0} este: ", i);
    array[i] = Convert.ToInt32(Console.ReadLine());
    }min = max = array[0];

    for (int i = 0; i < elemente; i++)
    {if (array[i] min)
    max = array[i];
    }
    for (int i = 0; i < elemente; i++)
    { if (array[i] == min)
    {array[i] = max;
    continue;
    }
    if (array[i] == max) array[i] = min;
    }
    for (int i = 0; i < array.Length; i++)
    Console.WriteLine(array[i]);
    }
    }
    }

    May 12, 2012 at 8:11 pm
  • Lore says:

    foarte nice :) thanks!

    June 18, 2012 at 12:59 am
  • Laura says:

    Felicitari pentru initiativa ta de a-i indruma si pe altii in invatarea acestui limbaj. Pentru sustinere, vin cu rezolvarea problemei 31 :).

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    //31.Fiind dat polinomul de gradul n cu coeficienti reali P(X)=anXn+an-1Xn-1+…+a1X+a0, să se calculeze P(x), unde x este un nr real dat. Ex: P(X)=3X^2-X+1, x=2, P(2)=11

    namespace ValoarePolinom
    {
    class Program
    {
    static void Main(string[] args)
    {
    Console.Write(“Introduceti gradul polinomului:”);

    int grad = int.Parse(Console.ReadLine());
    float[] P = new float[grad+1];

    //scrie elementele vectorului
    for (int i = grad; i >= 0; i–)
    {
    Console.Write(“Coeficientul a{0} este: “, i);
    P[i] = float.Parse(Console.ReadLine());

    }

    Console.WriteLine(“Introduceti valoarea lui x=”);

    float x = float.Parse(Console.ReadLine());
    double s = P[grad];
    for (int i = grad ; i > 0; i–)
    {

    s = s * x + P[i – 1];
    }
    Console.Write(“Valoarea polinomului P({0})={1}”, x, s);
    Console.ReadLine();
    }

    }
    }

    September 25, 2012 at 12:23 pm
  • Emanuel says:

    spuneti-mi si mie va rog…cum pot afisa numarul de aparitii al fiecarui element dintr-o matrice fara a il mai compara vreo dublura
    Ex: a00=2 a01=2
    a10=2 a11=2
    deci a00 apare de 4 ori dar nu vreau ca sa le mai verifice si pe celelalte adica sa nu am de 4 ori afisat mesajul

    January 16, 2013 at 9:03 am
    • zeltera says:

      Pentru a numara de cate ori apare un element intr-o matrice trebuie sa folosesti o constructie ajutatoare. De exemplu eu folosesc un obiect Dictionary, in care cheia este elementul din matrice si valoarea este un counter pe care il incrementez la fiecare noua aparitie a elementului cheie in matrice.
      Depinde de scopul pentru care ai nevoie de rezolvare: daca e pt scoala, s-ar putea ca solutia asta sa nu fie primita si sa trebuiasca sa oferi o rezolvare la nivel de liceu/scoala. Daca e pentru un proiect personal, atunci asta e solutia cea mai practica.

      January 16, 2013 at 10:47 am
  • Mircea says:

    Felicitari pentru blog . Am o problema si nu ii gasesc rezolvarea matematica. Daca ma poti ajuta ti-as ramane vizitator recunoscator :D
    Trebuie sa calculez suma multiplilor de 2 si 4 mai mici decat un numar dat.

    January 30, 2013 at 5:21 pm
    • zeltera says:

      Nu inteleg unde e dificultatea. Ce inseamna multipli de 2: 2,4,6,8,10,….2*n…. limita_superioara_data.
      Asta s-ar traduce intr-un ciclu for simplu (pseudocod):
      suma = 0;
      for (x = 0; x < limita; x+=2) { suma += x; } si acum suma contine exact ceea ce iti trebuie tie. p.s. ceea ce ti-am scris mai sus te costa un like pe facebook! (sau o urare de bine si un link pt blogul meu pe wall la tine).

      February 16, 2013 at 5:09 pm
  • anamaria says:

    cine ma poate ajuta si pe mine sa rezolv 2 probleme

    March 19, 2013 at 6:37 pm
  • anamaria says:

    ? multumesc.

    March 19, 2013 at 6:38 pm
  • anamaria says:

    Problemele sunt:
    1)Se da o matrice de caractere.Sa se determine cate vocale sunt in matrice
    2)Se da o matrice de caractere.Sa se ordoneze elementele de pe linia “k” data

    March 19, 2013 at 6:40 pm
    • zeltera says:

      O sa iti dau numai cateva sugestii care, sper, sa te ajute sa rezolvi singura problemele:
      Problema 1.
      Declari urmatoarele variabile: a, e, i, o, u de tip int, pe care le initializezi cu valoarea 0.
      Parcurgi matricea (de la primul la ultimul element) si verifici de fiecare data daca elementul pe care il verifici este sau nu vocala, iar daca este, incrementezi variabila declarata anterior. Cand ai terminat de parcurs matricea ai si numarat vocalele.

      2. Presupun ca matricea e de tipul a[i, j]. si tu vrei sa ordonezi toate elementele de pe o coloana x, xoloana de tipul a[x, j]. Poti face in 2 feluri: poti implementa un algoritm de sortare – daca o sa cauti pe blog la mine o sa gasesti cateva implementari in c#, sau, varianta pentru lenesi, poti folosi sortarea existenta in clasa Array, insa pentru asta va trebui sa folosesti un array ajutoator. Cu alte cuvinte, pentru ca Array.Sort() nu stie sa sorteze decat array unidimensional, va trebui sa construiesti din coloana data un array unidimensional pe care sa il sortezi folosind Array.Sort().

      Sper sa te fi ajutat ceea ce it am povestit eu mai sus.

      March 19, 2013 at 11:01 pm
  • Bya says:

    am facut in c# ca sa introduc o matrice de la tastatura(orice fel de dimensiune a matricii). Si vreau să se afişeze numărul care apare de cele mai multe ori, precum şi frecvenţa de apariţie a acestuia. Ma poate ajuta cineva ? mentionez ca am facut frecventa de aparitie. Multumesc !

    March 25, 2013 at 12:45 pm
  • Philip says:

    Felicitari pentru problemele rezolvate ! Sunt foarte utile ! Esti clasat printre putinii bloggeri care aduc continut de valoare (propriu) si util !
    Bravo !

    March 29, 2013 at 6:53 pm
  • Tudor says:

    Era un proverb:
    “give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime”
    Cu rezolvarile de mai sus ii vei “ajuta” pe multi sa “rezolve” rapid o tema de casa, dar pe termen lung nu ii va ajuta aproape cu nimic asta..

    March 31, 2013 at 1:29 pm
  • Bogdi says:

    #include
    #include
    using namespace std;
    double aritmetica(double a,double b,double c)
    {
    double ma;
    ma=(a+b+c)/3;
    return ma;
    }
    double geometrica(double a,double b,double c)
    {
    double mg;
    mg=sqrt(a*b*c);
    return mg;
    }
    double hiperbolica(double a,double b,double c)
    {
    double mh;
    mh=3/((1/a)+(1/b)+(1/c));
    return mh;
    }
    int main()
    {
    double a,b,c;
    cin>>a>>b>>c;
    cout<<aritmetica(a,b,c)<<" "<<"Aritmetica"<<endl;
    cout<<geometrica(a,b,c)<<" "<<"Geometrica"<<endl;
    cout<<hiperbolica(a,b,c)<<" "<<"Hiperbolica"<<endl;
    return 0 ;
    }
    Problema 24 ,rezolvata in c++ :)

    August 16, 2013 at 2:49 pm
  • Bogdi says:

    #include
    #include
    *Corectare la comentariul de mai sus.

    August 16, 2013 at 2:50 pm
  • alexandru says:

    cine m-a poate ajuta si pe mine la 2 probleme in C ?
    1)Să se afişeze toate numerele de forma a23a care se împart exact la 6.
    2)Să se simuleze aruncarea unui zar de n ori afişându-se valoarea feţei şi să se afişeze de câte ori a
    apărut valoarea 6.

    November 7, 2013 at 1:50 pm
  • Cristiana says:

    am o problema la info si nu stiu sa o rezolv :( ..: sa se afiseze numerele pare dintre 2 elemente a si b si sa se numere acestea

    January 13, 2014 at 8:32 pm
    • zeltera says:

      Cristina, nu o sa iti rezolv problema, insa o sa iti dau cateva idei ca sa o rezolvi singura. Exista mai multe metode de a rezolva aceasta problema, insa cred ca solutia pe care o vrea scoala este cea cu parcurgerea (intr-un ciclu for sau while) a tuturor elementelor si numararea elementelor pare. O sa iti dau un pseudocod, pe care tu nu trebuie decat sa ti-l traduci in limbajul in care ai nevoie:

      citeste a, b
      verifica daca a este mai mic decat b, daca nu, inverseaza valorile citie //(a ia valoarea lui b si b valoarea lui a)
      counter = 0
      parcurge toate elementele de la a la b
      daca elementul_current este divizibil cu doi, incrementeaza counter

      afiseaza counter
      termina programul

      Success. Dupa ce rezolvi, poti posta solutia aici.

      p.s. o alta solutie e sa cauti sa calculezi numarul de valori pare din interval in functie de valorile a si b {ceva de genul: (a-b)/2}. Insa vezi ca trebuie sa tii cont daca a si b sunt pare sau impare.

      January 13, 2014 at 8:49 pm
  • Mahdi says:

    Sirul lui Fibonacci este 1, 1, 2, 3, 5, 8, 13, 21, 34, …. si are legatura cu celebrul numar de aur.

    Se observa ca sirul incepe cu valorile 1 si 1 , dupa care, fiecare noua valoare se obtine prin adunarea ultimelor doua valori:

    F(1)=1
    F(2)=1
    F(n)=F(n-1)+F(n-2)

    Pentru noi problema este de a determina al N-lea termen din sir.

    Daca N=1 sau N=2, raspunsul este simplu, 1. In restul cazurilor trebuie ca avand mereu ultimile valori A si B, sa calculam noua valoare C=A+B.

    #include “stdafx.h”
    #include
    using namespace std;

    void main()

    {
    int A=1,B=1,i,C,n;
    cout<>n;
    if(A==1|B==1)
    for(i=2;i<=n;i++)
    {
    C=A+B; //calculam noua valoare
    cout<<" "<< C << " ";
    A=B; //pregatim noua pereche A si B formata din valorile precedente
    B=C;
    }

    system("pause");
    }

    January 20, 2014 at 12:02 am
  • Alex says:

    Salut ! As avea nevoie de putin ajutor, nu sunt foarte priceput in ale programarii. Se da un sir de numere 1 – 49. Din acestea se genereaza aleatoriu 35. Se poate creea un algoritm care sa imi arate un tipar in generarea acestor numere? Sau un count al numarului 1 ( de exemplu ) in toate sirurile generate ?

    February 16, 2014 at 12:03 pm
    • zeltera says:

      Daca numerele sunt aleatoare, nu ar trebui sa existe nici un tipar in generarea lor. Teoretic probabilitatea fiecarui numar de a fi generat este egala, asa ca la un numar foarte mare de generari ar trebui sa obtii scor egal pentru fiecare numar.
      …sau poate nu am inteles eu intrebarea ta.

      March 23, 2014 at 8:57 am
  • Adi says:

    Salut,

    Ma poti ajuta cu un altfel de program.. Se introduc un sir de numere(fara limita, numere se pot repeta) in care apoi sa afiseze de cate ori a introdus in sir fiecare numar..
    Ex: 1 3 4 3 3 6 1
    Rezultat: 1=2 3=3 4=1 6=1

    Multumesc frumos..

    February 27, 2014 at 11:56 am
    • zeltera says:

      Salut Adi,
      Nu o sa iti scriu eu programul, insa iti pot da o idee pentru a putea sa ti-l scrii tu singur.
      De ce ai nevoie pentru a rezolva problema? De un ciclu (while) unde sa citesti numerele, ciclu pe care il intrerupi cand primesti ceva ce nu e numar, si un mecanism de pastrare a valorilor citite anterior, de unde sa poti sa numeri de cate ori apare fiecare valoare.

      Poti face asta in mai mult moduri, eu iti sugerez ceva de genul asta (sper ca ai voie sa folosesti dictionare):

      Dictionary m_numbers = new Dictionary();
      while (true){
      String ui = Console.ReadLine();
      try {
      int n = int.Parse(ui);
      if(m_numbers[n]) {
      m_numbers[n]++;
      } else{
      m_numbers[n] = 0;
      }
      } catch(){
      break; // iesi din ciclu, userul nu a introdus un numar, ci altceva
      }
      }
      afiseaza_rezultatele(m_numbers);

      Spor la treaba!

      February 27, 2014 at 12:46 pm
      • Adi says:

        Mersi frumos :)

        February 28, 2014 at 10:58 am
  • Duttzu says:

    Foarte de folos blog-ul! Felicitari pentru tot ce faceti!!!! :D

    March 16, 2014 at 7:07 pm
  • Gheorghe says:

    Salut,
    Imi doresc si eu sa invat acest limbaj de programare (C#), si chiar mi-a placut cind am gasit acest blog. M-a ajutat sa fac primii pasi. Mersi mult!

    Doresc si eu sa propun rezolvarea unei probleme.

    11) Fiind date două numere naturale n şi m, să se formeze un nou număr care să conţină cifrele maxime de pe fiecare poziţie din n şi m. Ex: n=2618, m=3456 → 3658

    pe care am rezolvat-o in felul urmator:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace CifreMaxime
    {
    class Program
    {
    static void Main()
    {
    int nr1, nr2, n = 0, x = 0;
    Console.Write(“Introduceti primul numar : “);
    nr1 = int.Parse(Console.ReadLine());
    Console.Write(“Introduceti al doilea numar : “);
    nr2 = int.Parse(Console.ReadLine());

    while (nr1 != 0 || nr2 != 0)
    {
    if (nr1 % 10 >= nr2 % 10)
    n = n * 10 + nr1 % 10;
    else
    n = n * 10 + nr2 % 10;
    nr1 /= 10;
    nr2 /= 10;
    }

    while (n != 0)
    {
    x = x * 10 + n % 10;
    n /= 10;
    }

    Console.WriteLine(“Numarul format din cifrele maxime este: {0}”, x);
    Console.ReadLine();
    }
    }
    }

    Sper sa fie de ajutor pentru cineva. ;)

    May 9, 2014 at 9:51 am
  • CeD says:

    Buna ziua . Am de rezolvat si eu 2 probleme. Daca ma poate ajuta si pe mine cum se fac aceste probleme.

    – Se citesc două şiruri de valori reale x1, x2, … , x n-1, xn şi y1, y2, … , y m-1, ym ordonate crescător. Să se afişeze şirul z1, z2, … , z n+m-1, zn+m rezultat prin interclasarea celor două şiruri.
    – Se dă o matrice oarecare de valori întregi. Să se extragă din matrice coloana C într-un vector şi să se sorteze crescător vectorul prin metoda inserţiei.

    May 27, 2014 at 1:24 pm
  • Boss says:

    Cel mai mare numar si cel mai mic numar dintr-un sir. Include-ul sa fie in C++.

    June 4, 2014 at 1:02 pm
  • cristina says:

    Buna ,ma poti ajuta la o problema cu grafuri ?AM un graf neorientat de matrice adiacenta si trebuie sa afisez varfurile izolate>M-am gandit sa parcurg cu un for elementele pe linie si unde un element are valoare 0 sa ii memorez pozitia ,cu un alt for elementele ppe coloana la fel ,dar de aici nu mai am idei…

    June 5, 2014 at 5:18 pm
    • zeltera says:

      Eu nu te pot ajuta insa poate cineva dintre cititorii acestui blog o va face.

      June 5, 2014 at 7:17 pm
  • Alexandru says:

    Cine ma poate ajuta cu macar una din probleme?

    1. Scrieţi un program care determină numărul maximal şi cel
    minimal într-o listă circulară de 100 de numere aleatoare. Să se
    determine consecutivitatea de elemente ce se află între numerele
    maximal şi cel minimal determinate.
    2. Scrieţi un program care calculează suma cifrelor pentru fiecare
    număr din consecutivitatea de 100 de numere aleatoare.
    3. Scrieţi un program care inversează un şir de caractere s.

    September 9, 2014 at 9:19 am
  • C says:

    In fisierul text tab.in se afla 2 numere naturale n si p. N si p apartin intervalului inchis 1si 100, separate printr-un spatiu. Se cere sa construiesti un tablou patratic de dimensiuni n care sa contina primele n patrate puteri ale lui p in ordine crescatoare pe fiecare linie(liniile de sus in jos).‎
    Ex. Tab.in tab.out
    3 2. 1 2 4
    8 16 32
    64 128 256
    in mingw, c++

    September 20, 2014 at 8:04 pm
  • Rafael says:

    Salutare la toata lumea! Am si eu o problema de rezolvat.Daca ma poate ajuta cineva v-as fi recunoscator…
    Se citesc de la tastatura 2 numere naturale n si p si se construieste un tablou bidimensional cu n linii si p coloane. Tabloul va fi construit astfel incat sa s obtina sirul primelor n*p patrate perfecte impare.

    ex: n=2; p=3

    1 9 25
    49 81 121

    October 2, 2014 at 5:26 pm
  • jorj says:

    Sa ma ajute si pe mine cineva

    October 8, 2014 at 7:30 am
  • camelia says:

    ma puteti ajuta si pe mine? asta este problema
    construiti un algoritm ce aduna si afiseaza suma tuturor nr. naturale mai mici sau egale cu n.

    October 28, 2014 at 4:19 pm
  • Laura says:

    Buna seara! As avea si eu nevoie de putin ajutor. Am de facut o problema in c++ si nu stiu sa o rezolv.
    Se citesc n caractere reprezentand un numar in baza 16. Sa se transforme in baza 10.
    Multumesc anticipat!

    October 29, 2014 at 8:53 pm
  • bodgan says:

    buna ma poate ajuta cineva cu 3 probleme :D
    1.Suma S=1+1*2+1*2*3+…+1*2*3*…*n
    2.Sa se faca m.a intre suma si produsul elementelor unui sir de numere cu n elemente
    3.Suma S=12+22+32+…+n2

    December 6, 2014 at 9:31 pm
  • Manu says:

    cine poate sa ma ajute cu codul sursa de la programul ce ruleaza in video-ul asta, e un fel de prank foarte interesant si imi place ideea de nenumarate butoate care apar random pe ecran.
    Daca poate cineva sa ma ajute cu asta…?

    April 21, 2015 at 11:11 pm
    • mihaela says:

      se dau de la tastatura 3 nr intregi sa se calculeze minimul si maximul dintre acestea

      October 26, 2016 at 6:25 pm
      • mihaela says:

        cu pot rezolva asta?

        October 26, 2016 at 6:26 pm
  • Manu says:

    cine poate sa ma ajute cu codul sursa de la programul ce ruleaza in video-ul asta, e un fel de prank foarte interesant si imi place ideea de nenumarate butoate care apar random pe ecran.
    Daca poate cineva sa ma ajute cu asta…?

    https://www.youtube.com/watch?v=KqTqQlnKjqA

    April 21, 2015 at 11:11 pm
  • Roxana says:

    Se dă o matrice oarecare de valori întregi. Să se extragă din matrice coloana C într-un vector şi să se sorteze crescător vectorul prin metoda bulelor.

    June 7, 2015 at 5:42 pm
  • Felicia says:

    Va rog foarte frumos o idee sau un cod in C++ pentru scaderea a doua numere de 5 cifre.
    de ex: 65884 – 27321.
    Va multumesc!

    August 24, 2015 at 7:39 pm
  • Vadim says:

    Introduceţi un vector şi aflaţi câte elemente negative conţine. Folosiţi ciclul do while.

    October 28, 2015 at 11:26 am
  • Silviu says:

    As avea nevoie de un pic de ajutor. Nicicum nu reusesc sa creez al doilea vector. Va trimit programelul si va rog sa imi spuneti cum se face. Multumesc!

    Se dă un vector cu n valori întregi. Se cere să se creeze un al doilea vector care să conţină suma fiecăror două elemente alăturate din primul vector (poziţia 1+poziţia 2, poziţia 2+poziţia 3, etc). Să se afişeze cel de-al doilea vector şi apoi să se testeze care valori conţinute de acesta sunt numere prime.
    Ex: v1: 2 5 6 7 8 15
    → v2: 7 11 13 15 23.

    static void Main(string[] args)
    {

    Console.Write(“Introduceti numarul de elemente: “);
    int n = int.Parse(Console.ReadLine());
    int[] v = new int[n];

    for (int i = 0; i < n; i++)
    {
    Console.Write("Elementul {0} este:", i);
    v[i] = int.Parse(Console.ReadLine());
    }
    Console.Write("Suma elementelor alaturate este: ");
    for (int i = 0; i < n – 1; i++)
    {
    v[i] = v[i] + v[i + 1];
    Console.Write(v[i] + " ");
    }
    }

    January 28, 2016 at 8:06 am
  • Vladislac says:

    un exemplu de program ce satisface conditia pls!!! Analiza algoritmilor de convertire a subprogramelor PASCAL in functii C

    June 9, 2016 at 12:22 am
  • Geanta Bianca says:

    Fie A si B capetele unui interval. Sa se stabileasca daca o valoare X apartine intervalului [A,B]. Folositi if.

    October 27, 2016 at 7:49 pm
  • olga says:

    Sunt date doua masive unidimensionale X[n] si Y[n]. Sa se calculeze S=cos(P+M)-sqrt(P*M), unde P este produsul elementelor impare din masivul X, iar M media aritmetica a elementelor impare din masivul Y. Se se elaboreze programul utilizind -strnicmp

    December 4, 2016 at 10:56 am
  • Denisa says:

    Să se realizeze un program care preia un șir de caractere format din mai multe cuvinte și care transformă în majusculă prima literă a fiecărui cuvânt introdus.

    December 7, 2016 at 5:29 pm
  • anna says:

    AM SI EU O PROBLEM,AM NEVOIE DE AJUTOR URGENT
    Să se scrie un program care afişează numerele de la 1 la n pentru care suma cifrelor lor împărţite la cel mai mare divizor al lor să fie un număr natural.
    MULTMESC

    December 9, 2016 at 4:50 pm
  • Ivan Smarandita says:

    Fiind dati doi vectori u si v,cu cate n elemente fiecare, scrieti un program care calculeaza produsul scalar al celor doi vectori, P=u[0]*v[0]+u[1]*v[1]+….+u[n-1]*v[n-1].

    December 11, 2016 at 5:13 pm
  • Campeanu Bogdan says:

    1. Să se calculeze şi să se afişeze media generală a unui student ale cărui note se citesc de la tastatură şi se reţin într-un tablou unidimensional. Se impune restricţia ca notele introduse să fie mai mari sau egale cu 5.
    #include
    #include
    #include
    int testareNota(int nota){
    if(nota < 5) {
    return 0;
    } else {
    return 1;
    }
    }
    void main (void) {
    int numarNote = 0;
    printf("Introduceti nr de note… n");
    scanf("%i", &numarNote);
    if (numarNote < 0) {
    printf("Numarul de note trebuie sa fie mai mare de 0 …n");
    } else {
    int nota[numarNote];
    int i;
    for (i = 0; i < numarNote; i++) {
    int temp = 0.0;
    printf("Introduceti nota! n");
    scanf("%i", &temp);
    for ( ; ; ) {
    if (testareNota(temp) == 1) {
    nota[i] = temp;
    break;
    } else {
    printf("Nota trebuie sa fie mai mare sau egala cu 5. Introduceti alta nota");
    scanf("%i", &temp);
    }
    }
    }
    //Convert int to double
    //To-Do
    int sumaNote = 0;
    for (i = 0; i < numarNote; i++) {
    sumaNote += nota[i];
    }
    int average = sumaNote/numarNote;
    printf("Media este: %i", average);

    }
    }

    nu stiu daca am facut bine . ma puteti ajuta.

    January 25, 2017 at 7:35 pm
  • Campeanu Bogdan says:

    2. Se citesc de la tastatură elementele unei matrice. Să se afişeze matricea şi să se numere câte dintre elementele acesteia sunt mai mari decât media lor aritmetică.
    #include
    #include
    #include
    void main(void){
    int a[50][50], n, m, i, j;

    printf(“Numar de randuri: “);
    scanf(“%d”, &n);
    printf(“Numar de coloane: “);
    scanf(“%d”, &m);

    for(i=0;i<n;i++)
    for(j=0;j<m;j++){
    printf("a[%d][%d]=", i, j);
    scanf("%d", &a[i][j]);
    }
    for(i=0;i<n;i++){
    for(j=0;j<m;j++)
    printf("%3d ", a[i][j]);
    printf("\n");
    }

    int media=0;
    for(i=0; i<n; i++)
    for(j=0; jmedia)
    media+=a[i][j];
    media/=n*m;
    printf(“Peste media aritmetica sunt %d numere.”,media);
    getch();
    }
    putin ajutor va rog .

    January 25, 2017 at 7:35 pm
  • Campeanu Bogdan says:

    3. Se citesc de la tastatură 10 cuvinte. Să se afişeze un avertisment pentru cele care sunt mai mari (în sens lexicografic) decât primul cuvânt.
    4. Se defineşte o structură care descrie o dată calendaristică prin trei câmpuri (an, lună, zi). Să se scrie o funcţie care compară două date calendaristice primite ca argument. Funcţia va returna 0 dacă datele sunt egale şi 1 în caz contrar.
    m-am blocat si la problemele astea . un sfat? ms.

    January 25, 2017 at 7:36 pm

Your email address will not be published. Required fields are marked *

*