Memoria dinámica en C++
Enviado por yjghjghj87 • 18 de Febrero de 2019 • Práctica o problema • 1.519 Palabras (7 Páginas) • 118 Visitas
#include<iostream> //Biblioteca principal
#include<cstdlib>
#include<cmath> //Biblioteca para las funciones matematicas
using namespace std;
void funcionA(char *b,char *c);
void f1(char *x,char*y,char *z);
void leer(char **mat,int m,int n);
void imprimir(char **mat,int m, int n);
void conteo(char **mat,int m, int n);
void mayusculas(char **mat,int m, int n);
int i,j;
void ej1(void);
void ej2(void);
void ej3(void);
void ej4(void);
void ej5(void);
void ej6(void);
void autor(void);
int main(){
int ej;
cout<<"Introduce el numero de ejercicio a ejecuitar\n"<<endl;
cout<<"Ejercicio = ";
cin>>ej;
switch(ej)
{
case 1:
system("cls");
cout<<"EJERICICIO 1"<<endl<<endl;
ej1();
break;
case 2:
system("cls");
cout<<"EJERICICIO 2"<<endl<<endl;
ej2();
break;
case 3:
system("cls");
cout<<"EJERICICIO 3"<<endl<<endl;
ej3();
break;
case 4:
system("cls");
cout<<"EJERICICIO 4"<<endl<<endl;
ej4();
break;
case 5:
system("cls");
cout<<"EJERICICIO 5"<<endl<<endl;
ej5();
break;
case 6:
system("cls");
cout<<"EJERICICIO 6"<<endl<<endl;
ej6();
default:
cout<<"\nOpcion no valida\n"<<endl;
break;
system("pause");
}
system("cls");
autor();
return 0;
}
void ej1(void)
{
float dist=158,millas=120.5; //Declaración de variables y sus valores
float *dirnum; //Declaracion del apuntador
dirnum=&millas; //Asignasion de direccion al apuntador "dirnum"
cout<<"La direccion a la que apunta = "<<dirnum<<endl<<endl; //Impresion de la direccion a la que apunta el apuntador
cout<<"El valor de lo que apunta = "<<*dirnum<<endl<<endl; //Impresion del valor de la direccion a la que apunta el apuntador
dirnum=&dist; //Reasignacion de la direccion del apuntador
cout<<"La direccion a la que apunta = "<<dirnum<<endl<<endl; //Impresion de la direccion a la que apunta
cout<<"El valor de lo que apunta = "<<*dirnum<<endl<<endl; // Impresion del valor de la direccion a la que apunta
system("pause");
system("cls");
}
void ej2(void)
{
int a=10,b=20,c=30; //Declaracion de las variables y sus valores
int *ptra=&a,*ptrb=&b,*ptrc=&c; // Declaracion de los apuntadores y sus direcciones
c=*ptra+*ptrb; //Suma los valores de 10 + 20 contenidos en los respectivos apuntadores
ptrb=ptra; //Reasignacion de la direccion del apuntador
a=*ptrb+*ptrc; // Suma 10 + 30 contenidos en sus respectivos aputadores
cout<<"a="<<a<<endl<<endl; // Imprime el valor de "a"
cout<<"b="<<b<<endl<<endl; // Imprime el valor de "b"
cout<<"c="<<c<<endl<<endl; // Imprime el valor de "c"
system("pause");
system("cls");
}
void ej3(void)
{
char cad1[10]={"abcdefghi"};
char cad2[10];
funcionA(cad1,cad2);
cout<<cad1<<endl<<endl<<cad2<<endl<<endl;
system("pause");
system("cls");
}
void funcionA(char *b,char *c) //Lo que realiza la función es comparar los caracteres
{ //para imprimir la misma cadena de caracteres sin vocales.
while(*b!='\0')
{
if(*b!='a'&&*b!='e'&&*b!='i'&&*b!='o'&&*b!='u')
{
*c=*b;
c++;
}
b++;
}
*c='\0';
}
void ej4(void)
{
char a='x',b='y',c='z';
char *ptr1=&a,*ptr2=&b,*ptr3=ptr2;
f1(ptr1,ptr2,ptr3);
cout<<a<<endl<<endl<<b<<endl<<endl<<c<<endl<<endl;
...