elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22]
211  Programación / Programación C/C++ / Re: Cuadrado en c++ en: 14 Abril 2016, 18:06 pm
@MAFUS:  me gustó mucho tu código, realmente compacto  ;-)

Reordenando el mio sigue siendo mas largo, uso mas librerias y seguramente será mas lento y el ejecutable de mayor tamaño.
212  Programación / Programación C/C++ / Re: Cuadrado en c++ en: 14 Abril 2016, 16:56 pm
Entonces..... aca está, solo uso un while() y recursion para emular el otro bucle (ya que insistes que es solo 1 permitido)

Código
  1. #include <stdio.h>
  2. #include <iostream>
  3. #include <stdlib.h>
  4.  
  5. void draw_square(int n, int m, char * c){
  6. int counter = m;
  7.  
  8. while (counter--) printf(c);
  9. std::cout << std::endl;
  10.  
  11. n--;
  12. if (n>0) draw_square(n,m,c);
  13. }
  14.  
  15.  
  16. int main(void){
  17. int numero;
  18. char car[10];
  19.  
  20. printf("Ingrese un numero entero pequeno: ");
  21. scanf("%d",&numero);
  22. itoa(numero,car,10);
  23.  
  24. draw_square(numero,numero,car);
  25. return 0;
  26. }

Sigo pensando te interpretamos mal y puedes usar dos bucles while(), en tal caso nos dices
213  Programación / Programación C/C++ / Re: Problema basico con listas en C en: 14 Abril 2016, 16:14 pm
@MAFUS:  te agradezco mucho, tus ejemplos son los mejores (ya habia visto otros tuyos con punteros aqui) y me sirven para aprender.

Te puedo consultar que haces aqui ?

Código:
typedef struct nodo_t {
    int valor;
    struct nodo_t* siguiente;
} nodo, *pila;
 

No entiendo la parte en que llamas al struct nodo_t como nodo pero tambien puntero a pila y ni siquiera sabria como buscar eso que haces que no se como se llama  :xD

Tu ejemplo corre perfectamente y lo estoy estudiando en mas detalle.


PD: no estaba implementando una pila pero definí un push en vez de un insertar porque era de las operaciones mas simples posibles para probar con que me podia encontrar ya que habia visto este tema en Pascal pero como que los punteros pasan por referencia.
214  Programación / Programación C/C++ / Re: Cuadrado en c++ en: 14 Abril 2016, 04:09 am
No quedo claro para mi si el cuadrado es "lleno" o no........

Ojala se aclare para ver si ya esta la respuesta definitiva
215  Programación / Programación C/C++ / Re: Cuadrado en c++ en: 14 Abril 2016, 02:16 am
Como te dicen, debes hacer 2 bucles ya que necesitas llenar todas las posiciones de una fila para cada columna (o de una columna para cada fila)

No hay otra.
216  Programación / Programación C/C++ / Re: Problema basico con listas en C en: 14 Abril 2016, 01:00 am
@MAFUS:

Bueno...... he reflexionado y entendido lo que me dices (el problema es que intento modificar un puntero en el caso de que no exista la linea pero pasa por valor) pero no logro hacerlo funcionar....  :-(

Serias tan amable de mostrarme como se hace ?  no soy estudiante, ni siquiera soy del area de "sistemas", es solo un hobbie pero me esta sacando chispas.

Gracias desde ya
217  Programación / Programación C/C++ / Re: Problema basico con listas en C en: 14 Abril 2016, 00:37 am
@MAFUS: estaba pensando justamente que es que esta pasando por valor y no por referencia pero luego me puse a pensar....... pero si es un puntero o no ?

Voy a probar lo que me dices (que lo habia pensado) pero no entiendo el fundamento.


@ivancea96:
gracias por responder, ni idea que se supone hace (_) pero me da error:

Citar
error: '_' was not declared in this scope
218  Programación / Programación C/C++ / Re: Problema basico con listas en C en: 13 Abril 2016, 23:31 pm
Amigo @ivancea96: 

     Es que al hacer el push() creo un nodo (alloco memoria, seteo el siguiente a NULL, ..)  y luego pregunto si la lista esta vacia (lista == NULL) y si es asi hago que apunte a ese nodo recien creado:

Código:
        // creo nodo
n = new_node(value);


if (lista == NULL)
{
// creo la lista
lista = n;
        }
 

Por eso no entiendo porque no me funciona (en que la estoy embarrando)   :-[
219  Programación / Programación C/C++ / Problema basico con listas en C en: 13 Abril 2016, 23:23 pm
Buenas,

    Estoy tratando de recordar algo de C y punteros y tengo un problema demas de basico con listas:  sino la creo primero no me funciona el push()

Código:
#include <stdlib.h>
#include <stdio.h>

struct Node {
int value;
struct Node* next;
};


Node* new_node(int value){
Node * n = (Node *) malloc(sizeof(Node));
n->value = value;
n->next = NULL;
return n;
}


void print_list(Node* head)
{
Node *prev;

prev =  head;
while (prev)
{
printf("%d\n", prev->value);
prev = prev->next;
}
}


/*
Mock de lista circular
*/
Node* lista_circular()
{
Node *x,*y,*z,*head;

x = new_node(1); head = x;
y = new_node(2); x->next = y;
z = new_node(3); y->next = z;
z->next = x;

return x;
}

/*
Mock de lista lineal
*/
Node* lista_lineal()
{
Node *x,*y,*z;

x = new_node(1);
y = new_node(2); x->next = y;
z = new_node(3); y->next = z;

return x;
}


/////////////////////////////////////////////////////
//
//  OPERACIONES


/*
Cuenta nodos
*/
int count(Node *lista)
{
int c = 0;
Node *e;

e = lista;
while (e){
c++;
e = e->next;
}

return c;
}


/*
Insertar al final de la lista

Solo tiene sentido si la lista es lineal *
*/
void push(Node* lista, int value)
{
Node *e,*prev,*n;
int v;

// camino hasta el final de la lista (poco eficiente, mejor tener puntero al final)
e = lista;
while (e){
prev = e;
e = e->next;
}

// creo nodo
n = new_node(value);

if (lista == NULL)
{
lista = n;
//printf("Elem: %d\n",lista->value);
//printf("Elementos: %d\n",count(lista));
}
else
// inserto al final
prev->next = n;
}


int main() { 


Node *lista = NULL;

//lista = lista_lineal();
push(lista,20);
push(lista,40);

print_list(lista);
printf("Elementos: %d\n",count(lista));
}

Me ayudan ?
Páginas: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines