[ create a new paste ] login | about

Link: http://codepad.org/qjmSJGXS    [ raw code | output | fork ]

hmurcia - C++, pasted on Sep 4:
// Separacion de elementos pares e impares con arreglos, apuntadores 
// y funciones

#include <iostream>
using namespace std;

const int N = 9;

void imprArr(int [], int);
void imprArreglos(const char [], int [], int [], int [], int);
void separaParImpar(int [], int [], int [], int);

int main() {
    int m[] = {-23, 12, 18, 34, -19, 5, 14, 20, 31},
        par[N] = {0}, impar[N] = {0}, t;

    t = sizeof(m)/sizeof(*m);

    // situacion anterior
    imprArreglos("Situacion anterior", m, par, impar, t);

    // Separacion de elementos pares e impares
    separaParImpar(m, par, impar, t);

    // situacion posterior
    imprArreglos("Situacion posterior", m, par, impar, t);
}

void imprArr(int v[], int T) {
    cout << endl << endl;
    for(int k=0; k<T; k++)
        cout << "\t" << v[k];
}

void imprArreglos(const char msj[], int arrA[], int arrB[], int arrC[], int T) {
    cout << endl << endl << msj;
    cout << "\n\nArreglo original:"; imprArr(arrA, T);
    cout << "\n\nArreglo de pares:"; imprArr(arrB, T);
    cout << "\n\nArreglo de impares:"; imprArr(arrC, T);
}


void separaParImpar(int ori[], int par[], int impar[], int tam) {
    int i, j, k, *dir;

    i = j = k = 0;
    for (i=0; i<tam; i++) {
        if (ori[i]%2)
            dir = impar + k++;
        else
            dir = par + j++; 
        *dir = ori[i];
    }
}

/*
void separaParImpar(int ori[], int par[], int impar[], int tam) {
    int i, j, k;

    i = j = k = 0;
    for (i=0; i<tam; i++)
        if (ori[i]%2)
            *(impar+(k++)) = ori[i];   // otra forma es: impar[k++] = ori[i];
        else
            par[j++] = ori[i];
}
*/


Output:


Situacion anterior

Arreglo original:

	-23	12	18	34	-19	5	14	20	31

Arreglo de pares:

	0	0	0	0	0	0	0	0	0

Arreglo de impares:

	0	0	0	0	0	0	0	0	0

Situacion posterior

Arreglo original:

	-23	12	18	34	-19	5	14	20	31

Arreglo de pares:

	12	18	34	14	20	0	0	0	0

Arreglo de impares:

	-23	-19	5	31	0	0	0	0	0


Create a new paste based on this one


Comments: