(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 :)
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.
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)
#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
para que usas la matriz :huh: deberia de ser un arreglo no?
int v[6];
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.
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?
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.
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.
:o am tons mi problema es :S ¿?
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...
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.
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
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 =]
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 !
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 :)