The::Beastieux

Sangre de Bestia + Corazón de Pingüino | Un blog acerca de Linux, *BSD, Open Source, Software Libre, Programación …

Archivos en la Categoría: C++

Pseudocódigos y Diagramas de Flujo


Este material ya lo tenia en scribd, pero ahora también lo anexo aquí, para hacer más fácil de localizarlos.

Diagrama de flujo + C++

También te puede interesar:

Ordenamiento en C++

Introducción a C++

Sistemas Operativos

arreglos en c++

java Ed03

Aprender a programar en C con: c-jump


Este juego ayuda a desarrollar la comprensión completa de un programa de ordenador, formado por las sentencias lógicas de un lenguaje de programación. Además, elimina la intimidación de muchos a la inclusión con la programación.

Es un buen método para agilizar la mente de vez en cuando… :) quienes ya lo han jugado, podrian dejar sus puntos de vista…

más es: c-jump

Como Programar con C / C++


WEBeando por IVLabs me topé con una valiosa obra, el cual enseña los principios de la programación estructurada en C haciendo uso de los parámetros de la Ingeniería de Software. También contiene valiosos consejos para hacer una buena práctica del lenguaje de programación, variada documentación y completa explicación. Además una colección de ejercicios de C++ junto a una fundamentación de las bibliotecas de C.

1. Conceptos de computación.
2. Introducción a la programación en C.
3. Desarrollo de programas estructurados.
4. Control del programa.
5. Funciones.
6. Arreglos.
7. Punteros.
8. Caracteres y cadenas.
9. Entrada/ salida con formato.
10. Estructuras, uniones, manipulaciones de bits y enumeraciones.
11. Procesamiento de archivos.
12. Estructuras de datos.
13. El preprocesador.
14. Temas avanzados.
15. C++ como un “mejor C”.
16. Clases y abstracción de datos.
17. Clases: parte II.
18. Homonimia de operadores.
19. Herencia.
20. Funciones virtuales y polimorfismo.
21. Entrada/salida de flujo C++.

Descargar:

http://rapidshare.com/files/100486491/Como.Programa.en.C.C.Plus.Plus.-.Deitel.Ed.PRENTICE.HALL.rar

Métodos de ordenamiento hecho en C++


Acabo de encontrar los codigos que habia escrito en C++, sobre tipos de ordenamiento, les servirá para algo.

Método shell: Ordenamiento Shell.cpp
Método quick sort: Ordenamiento por método Quick Sort.cpp
Método Inserción Directa: Ordenamiento por inserción Directa.cpp
Método Inserción Binaria: Ordenamiento por inserción Binaria.cpp
Método Heap sort: Ordenamiento por Heap Sort.cpp
Método de Selección: Ordenamiento método Selección.cpp
Método Radix: Ordenamiento por método Radix.cpp (Nuevo)
Método Burbuja: Ordenamiento por método Burbuja.cpp (Nuevo)

Esta es la librería que los 6 primero métodos lo utilizan (El cual también se encuentra adjuntado con cada código):

Librerias: leearreglo.h

Nuevo: Veo el interés por este tema, así que les dejo una publicación que realicé explicando ventajas y desventajas por cada tipo de ordenamiento. Aquí

También te puede Interesar:

Métodos de Ordenamiento en java

Escribir en C++ con Kdevelop en PC-BSD


Este es un ejemplo de otra de las muchas funcionalidades que nos brinda Kdevelop, escribir códigos en C++, seguramente alguna vez haz escrito en un editor sencillo como gedit, kedit, etc, Kdevelop fusiona todas esas particularidades para hacer sencillo el manejo y escritura y reconocimiento de los codigos muy bien estructurados, puedes usar el terminal desde la parte inferior para lanzar las ordenes al complilador, para este ejemplo he usado g++, que trae incluido PC-BSD, bueno, también puedes optar por gcc, muy semejante al g++ por la descendencia que mantienen.

1 inico

codigo_abajo

codigo_arriba

4 libreria

5 g++

6 dar permisos

7. ejec

8 fin

Código C++ – Ordenamiento por Inserción Directa


//Inserción Directa
//Codificado por sAfOrAs
#include<iostream>
#include"leearreglo.h"
using namespace std;
#define largo 50
void insercionDirecta(int A[],int n)
{

      int i,j,v;

      for (i = 1; i < n; i++)
		{
			 v = A[i];
			 j = i - 1;
			 while (j >= 0 && A[j] > v)
			 {
				  A[j + 1] = A[j];
				  j--;
			 }
			
			 A[j + 1] = v;
	  }   
}
 
void main () 
{
    int A[largo],n;
	do{
	cout<<"Cantidad de numeros a ingresar: ";cin>>n;
		if(n<=0||n>largo)
			cout<<"Debe ingresar un valor  > a 0 y < a "<<largo<<endl;
	}while(n<=0||n>largo);

    leeCadena(n,A);
    insercionDirecta(A,n);
    muestraCadena(n,A);
  
}
#include<iostream>
using namespace std;
void leeCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<"Ingresa numero "<<i+1<<": ";
		cin>>n[i];
	}
	
}

void muestraCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<n[i]<<endl;
	}
}

Código C++ – Leer Arreglo


leearreglo.h

#include<iostream>
using namespace std;
void leeCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<"Ingresa numero "<<i+1<<": ";
		cin>>n[i];
	}

}

void muestraCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<n[i]<<endl;
	}
}

Código C++ – Ordenamiento Radix


//Fuente en C: http://es.wikipedia.org/wiki/Ordenamiento_Radix
//Modificado a C++ : sAfOrAs

#include<iostream>
using namespace std;
#include <math.h>
#define NUMELTS 20
 
void radixsort(int x[], int n)
{
	int front[10], rear[10];

	struct {
		int info;
		int next;
	} node[NUMELTS];
	
	int exp, first, i, j, k, p, q, y;
 
  /* Inicializar una lista vinculada */
	for (i = 0; i < n-1; i++)
	{
		node[i].info = x[i];
		node[i].next = i+1;
	} /* fin del for */
	
	node[n-1].info = x[n-1];
	node[n-1].next = -1;
	first = 0; /* first es la cabeza de la lista vinculada */
	
	for (k = 1; k < 5; k++) 
	{
	/* Suponer que tenemos números de cuatro dígitos */
		for (i = 0; i < 10; i++)
		{
		/*Inicializar colas */
			rear[i] = -1;
			front[i] = -1;
		} /*fin del for */

		/* Procesar cada elemento en la lista */
		while (first != -1)
		{
			p = first;
			first = node[first].next;
			y = node[p].info;
			/* Extraer el kâsimo dÁgito */
			exp = pow(10, k-1);	/* elevar 10 a la (k-1)ésima potencia */
			j = (y/exp) % 10;
			/* Insertar y en queue[j] */
			q = rear[j];
			if (q == -1)
				front[j] = p;
			else
				node[q].next = p;
			rear[j] = p;
		} /*fin del while */
	 
	    /* En este punto, cada registro está en su cola basándose en el dígito k
	       Ahora formar una lista única de todos los elementos de la cola.
	       Encontrar el primer elemento. */
		for (j = 0; j < 10 && front[j] == -1; j++);
			;
		first = front[j];
	 
	    /* Vincular las colas restantes */
		while (j <= 9)
		{ 	/* Verificar si se ha terminado */
			/*Encontrar el elemento siguiente */
			for (i = j+1; i < 10 && front[i] == -1; i++);
				;
			if (i <= 9)
			{
				p = i;
				node[rear[j]].next = front[i];
			} /* fin del if */
			j = i;
		} /* fin del while */
		node[rear[p]].next = -1;
	} /* fin del for */
 
	/* Copiar de regreso al archivo original */
	for (i = 0; i < n; i++) 
	{
    		x[i] = node[first].info;
    		first = node[first].next;
	} /*fin del for */
} /* fin de radixsort*/
 
 
int main(void)
{
	int x[50] = {NULL}, i;
	static int n;
 
	cout<<"Cadena de números enteros:\n";
	for (n = 0;; n++)
	{
		cin>>x[n]; 
		if(x[n]==-1)
			break;
	}
	
	if (n)
		radixsort (x, n);
	for (i = 0; i < n; i++)
		cout<<x[i]<<endl;;
	
	return 0;
}

Código C++ – Ordenamiento por Inserción Binaria


//Selection binary
//Codificado por sAfOrAs
#include<iostream>
#include"leearreglo.h"
using namespace std;
#define largo 50
void insercionBinaria(int A[],int n)
{
	int i,j,aux,izq,der,m;
	for(i=1;i<n;i++)
    	{
           		aux = A[i];
           		izq=0;
           		der=i-1;
           		while(izq<=der)
           		{
			m=((izq+der)/2);
			if (aux<A[m])
				der=m-1;
			else
              			izq=m+1;              
          		 }
           		j=i-1;
          		while(j>=izq)
          		{
	   		A[j+1]=A[j];
	    		j=j-1;
          		}
          		A[izq]=aux;
	}
}
 
 
void main () 
{
    int A[largo],n;
	do{
	cout<<"Cantidad de numeros a ingresar: ";cin>>n;
		if(n<=0||n>largo)
			cout<<"Debe ingresar un valor  > a 0 y < a "<<largo<<endl;
	}while(n<=0||n>largo);

    leeCadena(n,A);
    insercionBinaria(A,n);
    muestraCadena(n,A);
  
}
#include<iostream>
using namespace std;
void leeCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<"Ingresa numero "<<i+1<<": ";
		cin>>n[i];
	}
	
}

void muestraCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<n[i]<<endl;
	}
}

Código C++ – Ordenamiento Heap Sort


//Heap Sort
//Codificado por sAfOrAs
#include <iostream>
#define max 100
using namespace std;

int main()
{
	int A[max],j,item,temp,i,k,n;
	cout<<"Ingresa la cantidad de elementos del arreglo: ";
	cin>>n;
	for(i=1;i<=n;i++)
	cin >> A[i];

	for(k=n;k>0;k--)
	{
		for(i=1;i<=k;i++)
		{
			item=A[i];
			j=i/2;
			while(j>0 && A[j]<item)
			{
				A[i]=A[j];
				i=j;
				j=j/2;
			}
			A[i]=item;
		}
		temp=A[1];
		A[1]=A[k];
		A[k]=temp;
	}
	cout<<"El orden es:"<<endl;
	for(i=1;i<=n;i++)
	cout<<A[i] << endl;
	return 0;
}
#include<iostream>
using namespace std;
void leeCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<"Ingresa numero "<<i+1<<": ";
		cin>>n[i];
	}
	
}

void muestraCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<n[i]<<endl;
	}
}

Código C++ – Ordenamiento Shell


//Ordenamiento Shell
//Codificado por sAfOrAs
#include<iostream>
#include"leearreglo.h"
using namespace std;
#define largo 50
void ordenShell(int A[],int n)
{
	
  int i, j, inc, temp;
 
  for(inc = 1 ; inc<n;inc=inc*3+1);
  
	  while (inc > 0)
	  {
		  for (i=inc; i < n; i++)
		  {
				j = i;
				temp = A[i];
				while ((j >= inc) && (A[j-inc] > temp))
				{
					A[j] = A[j - inc];
					j = j - inc;
				}
      
				A[j] = temp;
		  }
		
		  inc/= 2;
	  }
}
 
 
void main () 
{
    int A[largo],n;
	do{
	cout<<"Cantidad de numeros a ingresar: ";cin>>n;
		if(n<=0||n>largo)
			cout<<"Debe ingresar un valor  > a 0 y < a "<<largo<<endl;
	}while(n<=0||n>largo);

    leeCadena(n,A);
    ordenShell(A,n);
    muestraCadena(n,A);
  
}
#include<iostream>
using namespace std;
void leeCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<"Ingresa numero "<<i+1<<": ";
		cin>>n[i];
	}
	
}

void muestraCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<n[i]<<endl;
	}
}

Código C++ – Ordenamiento Quick Sort


//Quick Sort
//Codificado por sAfOrAs
#include <iostream>
#define largo 100
#include"leearreglo.h"
using namespace std;
void quicksort(int A[],int izq, int der )
{ 
int i, j, x , aux; 
i = izq; 
j = der; 
x = A[ (izq + der) /2 ]; 
	do{ 
		while( (A[i] < x) && (j <= der) )
		{ 
			i++;
		} 

		while( (x < A[j]) && (j > izq) )
		{ 
			j--;
		} 

		if( i <= j )
		{ 
			aux = A[i]; A[i] = A[j]; A[j] = aux; 
			i++;  j--; 
		}
		
	}while( i <= j ); 

	if( izq < j ) 
		quicksort( A, izq, j ); 
	if( i < der ) 
		quicksort( A, i, der ); 
}

void main () 
{
    int A[largo],n;
	do{
	cout<<"Cantidad de numeros a ingresar: ";cin>>n;
		if(n<=0||n>largo)
			cout<<"Debe ingresar un valor  > a 0 y < a "<<largo<<endl;
	}while(n<=0||n>largo);
    leeCadena(n,A);
    quicksort(A,0,n-1);
    muestraCadena(n,A);
  
}
#include<iostream>
using namespace std;
void leeCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<"Ingresa numero "<<i+1<<": ";
		cin>>n[i];
	}
	
}

void muestraCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<n[i]<<endl;
	}
}

Código C++ – Ordenamiento por Selección


//Selection sort
//Codificado por sAfOrAs
#include<iostream>
using namespace std;
#include"leearreglo.h"
#define largo 50
void seleccionsort (int  A[], int n) 
{
        int min,i,j,aux;
        for (i=0; i<n-1; i++) 
		{
              min=i;
              for(j=i+1; j<n; j++)
                    if(A[min] > A[j])
                       min=j;
              aux=A[min];
              A[min]=A[i];
              A[i]=aux ;
        }

} 
void main () 
{
    int A[largo],n;
	do{
	cout<<"Cantidad de numeros a ingresar: ";cin>>n;
		if(n<=0||n>largo)
			cout<<"Debe ingresar un valor  > a 0 y < a "<<largo<<endl;
	}while(n<=0||n>largo);

    leeCadena(n,A);
    seleccionsort(A,n);
muestraCadena(n,A);
  
}
#include<iostream>
using namespace std;
void leeCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<"Ingresa numero "<<i+1<<": ";
		cin>>n[i];
	}
	
}

void muestraCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<n[i]<<endl;
	}
}

Código C++ – Ordenamiento Burbuja


//Ordena el número de números que usted quiera.
//Codificado por: Danny Henderson
??=include<iostream>
using namespace std;
int main()
??<
	int i,j,k,cn;
	int n??('cn'??);
	cout<<"Cantidad de numeros que desea Ingresar: ";cin>>cn;

	for(i=0;i<cn;i++)
	{
		cout<<"Ingrese  numero "<<i+1<<" : ";
		cin>>n[i];
	}

	for(i=1;i<cn;i++)
	{
		for(j=0;j<cn-i;j++)
		{
			if(n[j]>n[j+1])
			{k=n[j+1]; n[j+1]=n[j]; n[j]=k;}
		}
	}

	for(i=0;i<cn;i++)
	{
		cout<<n[i]<<endl;
	}
	cin.ignore(); return 0;
??>

Códigos Sencillos hechos en C++


Comparto con todos los códigos con los que aprendí a programar en C++. Aquí están algunos de ellos que realicé en las primeras clases que recibía en la universidad, les servirá de ayuda y sería mejor si lo implementan, tal vez sean necesarios.

Código C++ – Contar Números Pares
Código C++ – Días Transcurridos
Código C++ – Triángulo de Pitágoras
Código C++ – Ejemplo de Menu
Código C++ – Insertar en Array
Código C++ – Signo Zodiacal
Código C++ – Ordenar Números
Código C++ – Posiciones de Array
Código C++ – Calcular Salario por Horas Trabajadas
Código C++ – Suma con recursividad
Código C++ – Resta con recursividad
Código C++ – Convertir Decimales a Números Romanos
Código C++ – Ejemplo de Matrices
Código C++ – Agregar Elementos al final de un arreglo
Código C++ – Calcular el número menor y mayor
Código C++ – Simulación de Matrícula
Código C++ – Calificación (Bueno, Regular, Malo, Pésimo)
Código C++ – Agregar, eliminar e insertar elementos
Código C++ – Agregar, eliminar, insertar y buscar elementos
Código C++ – Número de Días del Mes
Código C++ – Fibonacci con recursividad
Código C++ – Fibonacci sin recursividad
Código C++ – Suma de Pares e Impares
Código C++ – Sumar Múltiplos
Código C++ – Simulación de un Cajero
Código C++ – Torres de Hanoi
Código C++ – Calcular Número de Créditos (Matrícula)
Código C++ – Calcular Edad
Código C++ – Convertir Decimal a Binario
Código C++ – Calcular el número menor
Código C++ – Bisiestos
Código C++ – Sencillar Dinero
Código C++ – Calcular número de dígitos
Código C++ – Término Medio
Código C++ – Convierte Número a Letras
Código C++ – Números Perfectos
A %d blogueros les gusta esto: