Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: ¡Micronet! en 26 Diciembre 2010, 05:25 AM

Título: Programa de Concurso de Programacion
Publicado por: ¡Micronet! en 26 Diciembre 2010, 05:25 AM
(http://i288.photobucket.com/albums/ll194/SonidoAzul/Sinttulo-1-1.jpg)

Aqui pongo este problema... que lo quiero resolver entre todos, por que para ese entonces no entendi como hacerlo, espero me puedan ayudar a comprender este programa en C++, ya que en eso lo hare saludos...


Mi Unico Objetivo es aprender... :)

Lo que no entiendo es que hacer en ese programa... alguien me lo podria explicar porfavor, para ponerme a trabajar en el :)
Título: Re: Programa de Concurso de Programacion
Publicado por: ghastlyX en 26 Diciembre 2010, 16:07 PM
Básicamente, te piden que dada una secuencia de números encuentres la longitud de la subsecuencia consecutiva creciente más larga y digas en qué posición empieza si no lo he entendido mal.

El problema es fácil, ya que además te permiten hacerlo cuadráticamente, dado que la longitud de la secuencia te dicen que como mucho será 1000.
Título: Re: Programa de Concurso de Programacion
Publicado por: ¡Micronet! en 30 Diciembre 2010, 08:41 AM
Cita de: ghastlyX en 26 Diciembre 2010, 16:07 PM
Básicamente, te piden que dada una secuencia de números encuentres la longitud de la subsecuencia consecutiva creciente más larga y digas en qué posición empieza si no lo he entendido mal.


okai ... mañana empiezo con este programa... y publico mi programa :), espero sea posible que me puedan ayudar en el transcurso... se que a lo mejor es un programa basico pero me mantiene ocupado programando :) jejeje


Lh: No hagas doble post utiliza el botón modificar. Gracias

usando el ejemplo... numero 7
son 7 numeros que se agregan... de los cuales son:

3,1, 4,1, 5,9,2

tengo en mente que la secuencia es la siguiente:
3 + 1 = 4  (S=3 (ORIGEN))              
4 + 1 = 5 (P=4 (FIN)) ¿por que? porque el siguiente numero no da la suma correcta
1 + 5 = 9 (Error)






Código (C++) [Seleccionar]
#include <iostream>
using namespace std;

int main(){
int p=0,i,v[6];
int origen,fin,sum;
cout<<"Dame una secuencia de 7 numeros"<<endl;

for(i=0;i<6;i++){
cin>>p;cout<<endl;
v[i]=p; p=0;
}

origen= v[0];
for(i=0;i<6;i++){
cout<<v[i]<<" ";
}cout<<endl;


for(i=0;i<6;i++){
sum=v[i]+v[i+1];
if(v[i+2] == sum){
fin=v[i+1];
}
i+=1;
}

cout<<endl<<"Origen(S): "<<origen<<"  Final(P) "<<fin;


system ("pause");
   return 0;
}


Gracial daniel666...


*Suponiendo que estoy bien

Hice este programa... el cual por obvias razones me arrojara basura... mis dudas
suponiendo que estoy viendo bien el problema....

como solucionaria lo que me arroja de basura (osease...que no se pase del limite de mi vector) ¿?  :huh:

y como hago que mi vector sea dinamico ¿? (por que si lo noto en el problema es un numero infinito)  :huh:



*Si estoy mal desde el inicio

Alguien me puede explicar con mas detalle el problema ¿? :S... para poder resolverlo mejor... :S
Título: Re: Programa de Concurso de Programacion
Publicado por: negux en 30 Diciembre 2010, 18:21 PM
para que usas la matriz  :huh: deberia de ser un arreglo no?

int v[6];
Título: Re: Programa de Concurso de Programacion
Publicado por: leogtz en 30 Diciembre 2010, 19:50 PM
Cita de: daniel666999 en 30 Diciembre 2010, 18:21 PM
para que usas la matriz  :huh: deberia de ser un arreglo no?

int v[6];


Está usando un arreglo, no una matriz.
Título: Re: Programa de Concurso de Programacion
Publicado por: xassiz~ en 30 Diciembre 2010, 21:19 PM
Cita de: Leo Gutiérrez. en 30 Diciembre 2010, 19:50 PM

Está usando un arreglo, no una matriz.
¿No es lo mismo vector (http://es.wikipedia.org/wiki/Vector_%28inform%C3%A1tica%29), arreglo, matriz, array?
Título: Re: Programa de Concurso de Programacion
Publicado por: Ferno en 30 Diciembre 2010, 22:30 PM
Cita de: pablomi en 30 Diciembre 2010, 21:19 PM
¿No es lo mismo vector (http://es.wikipedia.org/wiki/Vector_%28inform%C3%A1tica%29), arreglo, matriz, array?

Arreglo = vector = array (arreglo en inglés).
Matriz es un arreglo de arreglos, es decir, de dos dimensiones. Es un arreglo, el cual cada elemento es de tipo arreglo. Al hacer esto, es análogo a decir que formaste una tabla o una matriz.
Título: Re: Programa de Concurso de Programacion
Publicado por: leogtz en 31 Diciembre 2010, 00:51 AM
No, no es lo mismo. vector es propio de notación matemática, aunque también es aplicable aquí. Matriz es diferente de arreglo o array.
Título: Re: Programa de Concurso de Programacion
Publicado por: ¡Micronet! en 31 Diciembre 2010, 04:18 AM
 :o am tons mi problema es :S ¿?
Título: Re: Programa de Concurso de Programacion
Publicado por: 08l00D en 31 Diciembre 2010, 05:08 AM
Cita de: ¡Micronet! en 30 Diciembre 2010, 08:41 AM
y como hago que mi vector sea dinamico ¿? (por que si lo noto en el problema es un numero infinito)  :huh:
justamente con memoria dinamica... lo que podrias hacer es declarar el array como un puntero al tipo de dato que quieras usar y con el operador new le asignas la cantidad de memoria que precises... despues el identificador que usaste para declarar el puntero lo podes usar como si enrealidad fuera un array... es decir indexandolo con los operadores [ y ].. o sino usando aritmetica de punteros.. puntero + i... *(puntero + i)

con respecto a tu problema pienso que lo estas planteando mal... el algoritmo no seria asi..el problema te deci que encuentres la subsecuencia creciente mas grande..osea de un array de enteros cual es la secuencia de menor a mayor mas grande...
Como dice el ejercicio P se refiere al numero en el que empieza esa subsecuencia...
y S se refiere a la longitud de esa subsecuencia NO al elemento con el que termina... es decir a la cantidad de elementos que conforman esa subsecuencia...

Citar
tengo en mente que la secuencia es la siguiente:
3 + 1 = 4  (S=3 (ORIGEN))             
4 + 1 = 5 (P=4 (FIN)) ¿por que? porque el siguiente numero no da la suma correcta
1 + 5 = 9 (Error)

El planteamiento esta mal por que el programa no te pide que busques el cumplimiento de una sucesion de patrones....
mira te pongo el ejemplo de como seria la subsecuencia de esa secuencia que pusiste:
secuencia: 3,1,4,1,5,9,2
subsecuencia maxima: 3,4,5,9  (como ves cuenta de 4 elementos, S es igual a 4)
p: 3
s: 4

tambien hay otra subsecuencia maxima empezando por el elemento nº 2
1,4,5,9

la implementacion del algoritmo no es muy compleja... si entendiste lo que puse vas a poder hacerlo facilmente.. cualquier duda pregunta...
Título: Re: Programa de Concurso de Programacion
Publicado por: Garfield07 en 31 Diciembre 2010, 13:31 PM
Ahora que el problema esta resuelto... Una cosilla.
1) Tu trabajo es una tarea. No me creo que primero escribieses lo que necesitas, lo imprimieses y luego lo escaneases.
2) Si es para un concurso, no deberiamos ayudarte...
3) No son por aprender, pues parece urgirte mucho.
Título: Re: Programa de Concurso de Programacion
Publicado por: negux en 31 Diciembre 2010, 23:01 PM
Cita de: Leo Gutiérrez. en 30 Diciembre 2010, 19:50 PM

Está usando un arreglo, no una matriz.
Antes de modificarlo tenia una matrz
Título: Re: Programa de Concurso de Programacion
Publicado por: ¡Micronet! en 1 Enero 2011, 02:12 AM
Cita de: Sagrini en 31 Diciembre 2010, 13:31 PM
1) Tu trabajo es una tarea. No me creo que primero escribieses lo que necesitas, lo imprimieses y luego lo escaneases.
2) Si es para un concurso, no deberiamos ayudarte...
3) No son por aprender, pues parece urgirte mucho.


Saludos....
1. No es tarea estoy en vacaciones... entro hasta el 17 de enero.

2. la imagen lo dice todo
(http://i288.photobucket.com/albums/ll194/SonidoAzul/001.jpg)
Y si buscas en temas anteriores. tengo resuelto el problema 2... en semanas anteriores... y ese concurso fue ese dia precisamente.. que constaba de 2 horas... no de semanas...
(ha y los estoy haciendo por que ese dia entregue programas sin cuerencia o simplemente demasiado codificados... ahora lo que busco es encontrar una manera mas practica de hacerla...
3. Porque ya voy a entrar a clases... y por que mientras mas rapido haga las cosas, mas rapido tengo chance de hacer mas....

:-X

Saludos =]
Título: Re: Programa de Concurso de Programacion
Publicado por: Garfield07 en 1 Enero 2011, 02:18 AM
Perdona, ha sido fallo mio, y te pido disculpas... Como tu dices...  :-X
Ya he visto tantosss de esos que ya ... y eso que no llevo tanto tiempo !
Título: Re: Programa de Concurso de Programacion
Publicado por: ¡Micronet! en 2 Enero 2011, 04:31 AM
Cita de: Sagrini en  1 Enero 2011, 02:18 AM
Perdona, ha sido fallo mio, y te pido disculpas... Como tu dices...  :-X
Ya he visto tantosss de esos que ya ... y eso que no llevo tanto tiempo !


Si no te preocupes :)... lo comprendo por eso tampoco me moleste xD jajaja...
ya llevo rato e igual eh visto muchos asi igual yo xD jajajaja :)
saludos sagrini :)