Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Beginner Web

#471
Bueno yo aprendí a programar en una semana con los videos de La Geekipedia De Ernesto "Curso de programación desde cero" y luego de ahi eliges un lenguaje donde quieras empezar a codificar yo empece con C++ y sigo aprendiendo, bye suerte  ;-)
P/D: Perdon solo lei el titulo, pues el mejor libro es The C++ Programming Language 4th Edition.
Tutoriales, pueden ser de los canales codigofacilito y Programacion ATS, suerte  ;-)
#472
Programación C/C++ / Re: ayuda en dev c++
18 Octubre 2018, 02:36 AM
Código (cpp) [Seleccionar]
main()
{
int a, b, opcion;
do{
system("cls");
cout<<"1. Sumar"<<endl;
cout<<"2. Dividir"<<endl;
cout<<"3. Salir"<<endl;
cin>>opcion;
switch(opcion){
case 1: cout<<"Ingrese a: ";cin>>a;cout<<"Ingrese b: ";cin>>b;cout<<"Suma: "<<a+b<<endl;break;
case 2: cout<<"Ingrese a: ";cin>>a;do{cout<<"Ingrese b: ";cin>>b;}while(b==0);cout<<"Division: "<<a/b<<endl;break;
case 3: cout<<"FIN DEL PROGRAMA"<<endl;break;
default: cout<<"Opcion incorrecta"<<endl;
}
system("pause");
}while(opcion!=3);
}
#473
Programación C/C++ / Re: colas dobles
18 Octubre 2018, 02:29 AM
Muchas gracias no lei todo pero creo que me sirvio me quedo asi.

Bicola entrada restringida:
Código (cpp) [Seleccionar]
int pop_queue(tcola &q, bool ultimo)
{
int aux;
if(empty_queue(q)==true)
aux=-1;
else{
if(ultimo==false){
aux=q.datos[q.final];//Aqui tenia sueño y puse
q.final=prev(q.final);//esta linea antes que la de arriba
}
else{
q.frente=next(q.frente);
aux=q.datos[q.frente];
}
q.contador--;
}
return aux;
}


Bicola salida restringida:
Código (cpp) [Seleccionar]
void push_queue(tcola &q, int nuevo, bool ultimo)
{
if(full_queue(q)==true)
cout<<"COLA LLENA"<<endl;
else{
if(ultimo==true){
q.final=next(q.final);
q.datos[q.final]=nuevo;
}
else{
q.datos[q.frente]=nuevo;//Aqui
q.frente=prev(q.frente);//lo mismo
}
}
}
#474
Programación C/C++ / Re: C++ Ficheros - Busqueda
17 Octubre 2018, 00:40 AM
Y esas RR y CH tambien se ignoran o tenes que guardar su caracter es decir te encontras con la RR y guardas una R y despues al otra R?
Voy a suponer que solo caracteres

Código (cpp) [Seleccionar]
void letras(archivo f,tlista &lista)
{
char letra=' ';
f=fopen("miarchivo.txt","r");
while(!feof(f) && letra!='\0'){
fread(&letra,sizeof(letra),1,f);
if(isupper(letra) || islower(letra)){
añadir_a_la_lista(lista,letra);
}
}
fclose(f);
}
#475
en C:

int i,j,k;
char letra='#';
for(i=11;i>=1;i=i-2)
{
 for(k=0;k<11-i;k=k+1)
 printf(" ");
 for(j=i;j<=2*i-1;j=j+1)
 printf("%c ", letra);
 printf("\n");
}


en C++:

Código (cpp) [Seleccionar]
int i,j,k;
char letra='#';
for(i=11;i>=1;i=i-2){
for(k=0;k<11-i;k++)
cout<<" ";
for(j=i;j<=2*i-1;j++){
cout<<letra<<" ";
}
cout<<endl;
}
#476
Es cierto tiene razon declaralo fuera del main de esta forma queda mas elegante y no tenes que reescribir todo el codigo modificando el tamaño en cada modulo
const int TAMAÑOARREGLO=256;
typedef int arreglo[TAMAÑOARREGLO]; y lo usas en tu programa principal de este forma
programa principal()
{
arreglo miarreglo;
y luego lo llenas hasta donde declares otro tamaño n por ejemplo sera igual a 4, entonces llenas tu arreglo hasta la posicion 4 de tu arreglo; es decir desde la posicion 0 hasta la posicion 3;
for(int i=0;i<n;++i){agregar numero en miarreglo en la posicion i;} y asi
}
Pero todo dependera de tus necesidades, si asi te lo pide tu maestro asi sera, tambien puedes usar estructuras dinamicas que crecen hasta donde de la memoria ram
#477
Programación C/C++ / colas dobles
15 Octubre 2018, 03:56 AM
Hola, queria preguntarles que operaciones se de colas se modifican cuando usamos bicolas, tengo hecho esto pero no entiendo el comportamiento con arreglos con listas es mucho mas facil ayuda u.u  :(

Código (cpp) [Seleccionar]
#include <iostream>
#include <stdlib.h>

using namespace std;

const int MAX=6;
typedef int contenedor[MAX];
typedef struct tcola{
contenedor datos;
int final, frente;
};

void init_queue(tcola &q);
void push_queue(tcola &q, int nuevo, bool ultimo);
bool full_queue(tcola q);
bool empty_queue(tcola q);
int pop_queue(tcola &q);
int top_queue(tcola q);
int bottom_queue(tcola q);
int next(int indice);
int prev(int indice);

int main()
{
int dato;
tcola q;
bool opcion;
init_queue(q);
while(full_queue(q)==false){
cout<<"Ingrese dato: ";
cin>>dato;
cout<<"1. Agregar por final"<<endl;
cout<<"0. Agregar por frente"<<endl;
cin>>opcion;
push_queue(q,dato,opcion);
}
q.frente=MAX-1;
q.final=MAX-2;
while(empty_queue(q)==false){
cout<<pop_queue(q);
}
cout<<endl;
system("pause");
}

void init_queue(tcola &q)
{
q.final=MAX-1;
q.frente=MAX-1;
}

void push_queue(tcola &q, int nuevo, bool ultimo)
{
if(full_queue(q)==true)
cout<<"COLA LLENA"<<endl;
else{
if(ultimo==true){
q.final=next(q.final);
q.datos[q.final]=nuevo;
}
else{
q.frente=prev(q.frente);
q.datos[q.frente]=nuevo;
}
}
}

bool full_queue(tcola q)
{
return next(q.final)==q.frente;
}

bool empty_queue(tcola q)
{
return q.frente==q.final;
}

int pop_queue(tcola &q)
{
int aux;
if(empty_queue(q)==true)
aux=-1;
else{
q.frente=next(q.frente);
aux=q.datos[q.frente];
}
return aux;
}

int top_queue(tcola q)
{
int aux;
if(empty_queue(q)==true)
aux=-1;
else{
aux=q.datos[next(q.frente)];
}
return aux;
}

int bottom_queue(tcola q)
{
int aux;
if(empty_queue(q)==true)
aux=-1;
else{
aux=q.datos[q.final];
}
return aux;
}

int next(int indice)
{
if(indice==MAX-1)
indice=0;
else
indice++;
return indice;
}

int prev(int indice)
{
if(indice==0){
indice=MAX-1;
}
else{
indice--;
}
return indice;
}
#478
Mmmmm

Código (cpp) [Seleccionar]
#include<stdio.h>
#include<windows.h>
#include<conio.h>
main()
{
  int i,n;
  printf("Cuantos datos desea almacenar: ");
  scanf("%d", &n);
  int num[n];
  for(i=0;i<n;i++)
  {
     printf("Teclea el Valor %d: ", (i+1));
     scanf("%d", &num);//scanf("%d",&num[i]);//ummm...
  }
  system("PAUSE");
  system("CLS");
  printf("El arreglo quedo:\n");
  for(i=0;i<n;i++)
  {
     printf("%d,", num);//printf("%d,", num[i]);//ummm...
  }
  getche();
}
#479
Hola tengo que invertir un numero utilizando colas el problema es que cuando ingreso numeros con mas de 2 cigras me devuelve datos erroneos , si ingreso un 23 devuelve 32, si ingreso 321 me devuelve 1203 y asi, no se si mi algoritmo esta mal planteado o que, el "algoritmo" esta en el programa principal, desde ya gracias
Ya lo solucione  ;-)

Código (cpp) [Seleccionar]
#include <iostream>
#include <stdlib.h>
#include <math.h>

using namespace std;

const int MAX=20;
typedef int contenedor[MAX];
typedef struct tcola{
contenedor datos;
int final, frente;
};

void init_queue(tcola &q);
void push_queue(tcola &q, int nuevo);
bool full_queue(tcola q);
bool empty_queue(tcola q);
int pop_queue(tcola &q);
int top_queue(tcola q);
int bottom_queue(tcola q);
int next(int indice);

int main()
{
int numero, inverso=0, i=-1;
tcola q;
init_queue(q);
cout<<"Ingrese numero: ";
cin>>numero;
while(numero>0){
push_queue(q,numero%10);
numero/=10;
i++;
}
while(empty_queue(q)==false){
inverso+=pop_queue(q)*pow(10.0.i);
i--;
}
cout<<"Inverso: "<<inverso<<endl;
system("pause");
}

void init_queue(tcola &q)
{
q.final=MAX-1;
q.frente=MAX-1;
}

void push_queue(tcola &q, int nuevo)
{
if(full_queue(q)==true)
cout<<"COLA LLENA"<<endl;
else{
q.final=next(q.final);
q.datos[q.final]=nuevo;
}
}

bool full_queue(tcola q)
{
return next(q.final)==q.frente;
}

bool empty_queue(tcola q)
{
return q.frente==q.final;
}

int pop_queue(tcola &q)
{
int aux;
if(empty_queue(q)==true)
aux=-1;
else{
q.frente=next(q.frente);
aux=q.datos[q.frente];
}
return aux;
}

int top_queue(tcola q)
{
int aux;
if(empty_queue(q)==true)
aux=-1;
else{
aux=q.datos[next(q.frente)];
}
return aux;
}

int bottom_queue(tcola q)
{
int aux;
if(empty_queue(q)==true)
aux=-1;
else{
aux=q.datos[q.final];
}
return aux;
}

int next(int indice)
{
if(indice==MAX-1)
indice=0;
else
indice++;
return indice;
}


#480
Código (cpp) [Seleccionar]
int main()
{
mis variables...
do{
system("cls");
cout<<"1. Primera opcion"<<endl;
cout<<"2. Segunda opcion"<<endl;
cout<<"3. ...."<<endl;
cout<<"4. .."<<endl;
cout<<"5. Salir"<<endl;
cin>>opcion;
switch(opcion){
case 1: hacer_cosas();break;
case 2: hacer_cosas();break;
case 3: hacer_cosas();break;
case 4: hacer_cosas();break;
case 5: cout<<"FIN DEL PROGRAMA"<<endl;break;
default: cout<<"Opcion incorrecta"<<endl;
}
system("pause");
}while(opcion!=5);
}