infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Razvan din Octombrie 11, 2013, 21:44:52



Titlul: numere pare
Scris de: Razvan din Octombrie 11, 2013, 21:44:52
Salut, am revenit cu o problema ce nu o gasesc pe internet si nici in cartea de informatica, eu vreau urmatoarele: Sa se dea un sir de numere, si sa se ordoneze crescator numerele pare.Eu am gasit numerele pare, dar nu stiu cum sa le fac sa le ordonez crescator, ma poate ajuta cineva.Multumesc.


Titlul: Răspuns: numere pare
Scris de: Alexandru Valeanu din Octombrie 11, 2013, 22:46:12
http://www.infoarena.ro/problema/algsort


Titlul: Răspuns: numere pare
Scris de: Razvan din Octombrie 12, 2013, 12:38:35
da inteleg, am folosit de mai multe ori metoda bulelor, dar nu inteleg cum sa fac.Se da un sir de numere ex: 2 5 10 7 8 6, si sa se ordoneze crescator numerele pare.


Titlul: Răspuns: numere pare
Scris de: Rares Cheseli din Octombrie 12, 2013, 12:46:24
ai putea sa iti salvezi numerele pare in alt vector iar apoi sa ordonezi doar acel vector.


Titlul: Răspuns: numere pare
Scris de: Razvan din Octombrie 12, 2013, 12:57:37
ma poti ajuta(la cod ma refer) la partea cu: sa memorez intr-un alt vector numerele pare.Multumesc


Titlul: Răspuns: numere pare
Scris de: Rares Cheseli din Octombrie 12, 2013, 15:12:12
Desigur. Uite codul aici
Cod:
int V[ nr_max_pozitii ]; //vectorul initial
int A[ nr_max_pozitii ]; //vectorul in care retii numerele pare
int dim=0; // dimensiunea vectorului A

for (int i=1; i<=n; ++i)
     if ( V[ i ] % 2 == 0) // daca numarul este par
          A[ ++dim ] == V[ i ];  

sort(A+1, A+dim+1);



Titlul: Răspuns: numere pare
Scris de: Razvan din Octombrie 12, 2013, 15:15:42
Am inteles, ai facut cu stive.Multumesc mult de tot pentru ajutor, sunt incepator si imi este putin greu la inceput...


Titlul: Răspuns: numere pare
Scris de: Razvan din Octombrie 12, 2013, 19:50:34
Am scris urmatorul cod:

#include<iostream>
#define Max 100
int S[Max];
int S1[Max];
using namespace std;
int main()
{
    int v[100],v1[100],i,n,dim,dim1;
    cout<<"n=";
    cin>>n;
    for(i=1;i<=n;i++)
    {
                     cin>>v;
                     if(v%2==0)
                     {
                                  S[++dim]=v;
                     }
                     else
                     S1[++dim1]=v;
    }
    cout<<endl;
    while(dim!=0)
    {
              cout<<S[dim--]<<endl;
    }
    cout<<endl;
    while(dim1!=0)
    {
              cout<<S1[dim1--]<<endl;
    }
    system("pause");
    return 0;
}

pentru: n=4, respectiv: 1,2,3,4, imi afiseaza, pare:4 2 si impare: 3 1 0.De ce imi apare 0 ?Multumesc


Titlul: Răspuns: numere pare
Scris de: Rares Cheseli din Octombrie 13, 2013, 10:46:47
Foloseste tagul pentru cod cand mai postezi cod ca nu prea se intelege ce scrii tu acolo. Si incearca sa nu mai declari variabile pe stiva (in interiorul functiilor). Sau daca declari pe stiva, sa le initializezi. Poate din cauza asta iti afiseaza aiurea


Titlul: Răspuns: numere pare
Scris de: Razvan din Octombrie 13, 2013, 12:28:14
am inteles, multumesc mult.


Titlul: Răspuns: numere pare
Scris de: Mircea Dima din Octombrie 13, 2013, 17:19:47
dim si dim1 sunt declarate local si fiindca nu sunt initializate manual ele primesc valori random...