En este grupo En todos

Grupo de Lenguaje C y C++



Help

Carlos
Ingenieria de sistemas universidad nac...
Escrito por Carlos Sin Apellidos
el 30/05/2008

Muchachos soy principiante a ver si alguien me ayuda
el profe dejo para hacer este programita en c pero no se por onde empezar a ver alguien que me ayude
escribe un programa que acepte como entrada desde el teclado un numero entero positivo y de como salida el resultado de sumar dos a dos los digitos que aparecen en posiciones simetricas respecto al digito central
ejemplo:
para el numero: 2354869
la salida debe ser:2mas9=11,
3mas6=9,
5mas8=13,
4
para el numero: 6582
la salida debe ser:6mas2=8,
5mas8=13

a ver si me ayudan, yo aqui seguire intentando





Juan Carlos Velásquez
Ingeniero de sistemas universidad gran...
Escrito por Juan Carlos Velásquez
el 05/06/2008

Compa, no recuerdo bien, pero creo que con el vectores haces eso,


Int num[NUM];



NUM=cualquier valor que le quieras asignar a tu problema, (Cantidad de caracteres del vector)

Si NUM=3, y el numero es 1234, solo va a tomar 123,

Pero como te no me recuerdo bien....


Escrito por Gabriel Fernández Magán
el 06/06/2008

Hola, a ver si te sirve esto que he hecho en Cmásmás, si tengo algún error, por favor, indicamelo, 1Salu2.
void suma2a2() {

Int num= 0; cout << "Introduzca el número con el que desee operar"; cin >> num;

If ( num! = 0 ) {

Int i= 10; int k= 1;

While ( num / i > 0 ) { i= i*10; k ; } //Para saber cuantos dígitos tiene el número introd. (su longitud)

Int miArrayDigitos [ k ]; //array donde voy a guardar cada uno de los dígitos del número, su tamaño es

// el de la longitud del número ( su número de dígitos ):

I= 0;

While ( num / 10 > 0 ) { //con este bucle separo al número en sus dígitos y lo guardo en dicho array.

MiArrayDigitos [ i ]= num % 10; num= num / 10; i ;

}

I= 0; int j= k - 1; int resultVar= 0;

While ( i < ( ( int ) K / 2 ) ) {
//Con este bucle sumo los dígitos del número "2 a 2" y voy mostrando el
//resultado de dicha suma "2 a 2" por pantalla, el casting a integer que hago en la condición de ejecución del //bucle es para asegurarme de que en el caso de que el número tenga una cantidad impar de dígitos pues yo //solo utilizo y necesito utilizar su parte entera al hacer la división entre 2.
//ej K== 5 => k/2== 2. 5 pero si hacemos (int) k/2 ) == 2, es decir, nos quedamos con la parte entera del valor //( lo truncamos ).

If ( i! = j ) resultVar= miArrayDigitos[ i ] miArrayDigitos[ j ];

Else resultVar= miArrayDigitos[ i ];

//El if de arriba es para asegurarnos que el dígito central del número en el caso de que este tenga

//una cantidad impar de dígitos, no lo sume con nadie.

I ; j--; cout << resultVar << ',';

}

}

Else cout << 0; // si el número introducido es 0, pues simplemente lo vuelvo a mostrar por pantalla.
} //Fin de suma2a2()

Escrito por Gabriel Fernández Magán
el 06/06/2008

Vaya, el texto ha perdido toda la estructura y el formato, lo siento, ah, subire un fichero con dicho método a ver si te ayuda.


Escrito por Gabriel Fernández Magán
el 06/06/2008

Bueno, pues ya he subido el fichero, se llama procedimiento2a2 y está en la categoría de Algoritmos, 1Salu2 y si observais alguna errata ( Dios no lo quiera ), me gustaría que me lo indicarais, xD.

Luis Aguirre
Ingenieria en informatica universidad ...
Escrito por Luis Aguirre
el 16/06/2008

Consejo divide el numero por diez y el resto lo gurdas en la primer posicion de un array, vuelves a repetir esto hasta que ya no puedas dividir mas, ahi ya tienes los cada uno de los numeros por separados, ahora solo queda sumar vector[0] vector[y]; vector[1] vector[y-1]. Siendo y el numero de ciclos que tuviste que hacer hasta que no pudiste seguir dividiendo. Bueno si te te sirvio codificalo y ya.
Saludos.

Escrito por Gabriel Fernández Magán
el 16/06/2008

Hola, solo queria decirte que el post con el método que he puesto mas arriba, tiene algunas erratas, pero el fichero que subi con la solución creo que está bien, ah y con respecto al post del compañero Luis, solo decir que estoy de acuerdo con él en lo que dice, de hecho yo lo he hecho de esa forma, pero que si su variable "y", indica la longitud del vector, tendria que sumar vector[0] con vector[ y - 1], y no con vecot[y], y así sucesivamente.

Puesto que teniendo longitud "y", dicho vector tendría ocupadas desde la posicion 0 hasta la posicion y - 1; ya que y - 1 posiciones la posición 0 suman las "y" posiciones que tiene ocupadas dicho vector.


1Salu2 a todos.

Carlos Sin Apellidos
Ingenieria de sistemas universidad nac...
Escrito por Carlos Sin Apellidos
el 21/06/2008

Chevere muchachos

Pablo Abel Di Raddo
Programador basic 7.0 instituto super...
Escrito por Pablo Abel Di Raddo
el 27/01/2009

Hola: soy estudiannte y me tope con una incognita con este array...

int a[6] = {0,1,2,3,4,5};
int suma=a[0]+a[1]+a[2]+a[3]+a[4]+a[5];
ShowMessage("la suma total es"+AnsiString(suma));
return;

Ahora me preguntaba como podria mejorar este bloque de codigo:

Objeto = (lblEtiqueta)
Objeto[6]={0,1,2,3,4,5};
Objeto[1]=(->Enabled=True)
Objeto[2]= (->Caption="hola mundo 1");
Objeto[3]= (->Caption="hola mundo 2");
Objeto[4]= (->Caption="hola mundo 3");
Objeto[5]= (->Caption="hola mundo 4");

y que los muestre en un frmFormulario.
Es para C++ Builder y si alguien puede correjirlo se lo agradeceremos mucho.
Desde ya muchas gracias.