Giter Club home page Giter Club logo

c's Introduction

Index

Table of contents generated with markdown-toc

Arreglos

Debemos definir el tamaño del array desde la inicializacion

Asignacion Dinamica

Podemos definir el tamaño del array dinamicamente, para esto utilizaremos 2 operadores:

  • new: Reserva el numero de bytes solicitados por la declaracion
  • delete: Libera un bloque de bytes reservado

Los arreglos dinamicos se utilizan gracias a los punteros

int numCalif, *calif;
void pedirNotas(){	
	cout<<"Digite el numero de calificaciones: ";
	cin>>numCalif;
	
	calif = new int[numCalif];
	
	for(int i=0;i<numCalif;i++){
		cout<<"Introduzca una nota: ";
		cin>>calif[i];
	}
}

Librerias

Conio

#include<conio.h>

Getch

Para que termine el programa debo oprimir una tecla

getch();

stdlib

#include<stdlib.h>

New y Delete

Funcionalidades que vamos a utilizar para manejar arreglos dinamicos

Funciones

Plantillas

Puedo utilizar plantillas para pasar en las funciones diferentes tipos de datos

template <class TIPOD>
void despliegue(TIPOD dato);

int main(){
    int dato1 = 4;
	float dato2 = 5.678;
	double dato3 = 15.6789;
	char dato4 = 'a';
	
	despliegue(dato1);
	despliegue(dato2);
	despliegue(dato3);
	despliegue(dato4);
	
	
	getch();
	return 0;
}

template <class TIPOD>
void despliegue(TIPOD dato){
	cout<<"El dato es: "<<dato<<endl;
}

Parametros por referencia

Le pasamos la direccion de memoria donde esta almacenada el valor, si cambia en la funcion lo veo cambiado afuera

void intercambio(int&, int&);

int main(){
	int num1=10,num2=15;
	
	cout<<"El valor almacenado en num1 es: "<<num1<<endl;
	cout<<"El valor almacenado en num2 es: "<<num2<<endl;
	
	intercambio(num1,num2);
	
	cout<<"Ahora el nuevo valor de num1 es: "<<num1<<endl;
	cout<<"Ahora el nuevo valor de num2 es: "<<num2<<endl;			
	
	getch();
	return 0;
}

void intercambio(int& num1, int& num2){
	int aux;
	aux = num1;
	num1 = num2;
	num2 = aux;
}

Punteros

Arrays y Punteros

Puedo indicarle a un puntero el valor incial del array e ir incrementandolo para seguir accediendo a los otros valores, esto porque un vector se asigna en posiciones secuenciales de memoria

int main(){
	int numeros[] = {1,10,32,2,5};
	int *p_numeros;
	
	p_numeros = numeros; 
	
	for(int i=0;i<5;i++){
		cout<<*p_numeros++<<endl;
	}
	
	getch();
	return 0;
}

Listas enlazadas


Los podemos dividir en 4 categorias




Operaciones

  • Insertar elementos en una lista enlazada
  • Mostrar elementos de una lista enlazada
  • Buscar un elemento en una lista enlazada
  • Eliminar un elemento de una lista enlazada

Arboles

No vamos a tener un puntero sino 2, no vamos a ir de forma lineal como los anteriores

Programacion Orientada a Objetos

Por lo general se tienen separadas las clases con las funcionalidades (Punto.h y Punto.cpp en POO clase 1)

class Punto{

	// Publico
	public:
		int x, y;

	private:
		int valorPrivado;

	//Metodos
	public:
		// Contructor
		Punto(int _x, int _y){
			x = y = 0;
		}

		void setX(int valorX);
}

c's People

Contributors

ncostamagna avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.