Académique Documents
Professionnel Documents
Culture Documents
}
ARREGLOS
6) En un arreglo se almacenan las letras de un nombre ingresado por
teclado. Visualizar las letras del nombre en orden inverso.
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#include <string.h>
void main()
{
char nombre[20];
clrscr();
cout<<"Ingrese un nombre: "; gets(nombre);
int longitud=strlen(nombre);
for(int i=longitud; i>=0;i--)
cout<<nombre[i];
getch();
}
ARREGLOS
3) En un arreglo se almacenan las letras de un nombre ingresado por
teclado. Visualizar las letras del nombre en direccin vertical.
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#include <string.h>
void main()
{
char nombre[20];
clrscr();
cout<<"Ingrese un nombre: "; gets(nombre);
cout<<"\n\n";
// int longitud=strlen(nombre);
for(int i=0; nombre[i]!='\x0'; i++)
cout<<nombre[i]<<endl;
getch();
}
ARREGLOS
Problema: Dados un conjunto de nmeros reales almacenados en un
arreglo, determinar el mayor y el menor de ellos.
#include<iostream.h>
#include<CONIO.H>
float elmayor(float [], int );
void main()
{
int cant, i; float num[20], may;
clrscr();
cout<<"Ingrese la cantidad de nmeros: ";
cin>>cant;
cout<<"Ingrese los nmeros separados por un espacio o un
<Enter>:"<<
endl;
for(i=1; i<=cant; i++)
{
cin>>num[i-1];
}
// Determinacin del mayor:
may=elmayor(num, cant);
cout<<"El mayor de los elementos es: "<<may<<endl;
getch();
}
float elmayor(float num[], int cant)
ARREGLO
De una serie de nmeros enteros almacenados en un arreglo,
Extraer slo los primos, en otro arreglo.
#include<iostream.h>
#include<conio.h>
void ingresodedatos(int numero[100], int n)
{
cout<<"Ingrese los datos: \n";
for(int i=1; i<=n; i++)
{ cout<<i<<" nmero: ";
cin>>numero[i];
}
}
int esprimo(int num)
{
int i, es=1;
for(i=2; i<num; i++)
{
if(num%i==0)
es=0;
}
return es;
}
void main()
{ int numero[100], otro[100], n;
clrscr();
cout<<"Cu ntos datos quiere ingresar? "; cin>>n;
ingresodedatos(numero, n);
int k=0;
for(int i=1; i<=n; i++)
if(esprimo(numero[i]))
{ k++;
otro[k]=numero[i];
}
for(i=1; i<=k; i++)
cout<<otro[i]<<" ";
cout<<endl;
getch();
}
ESTRUCTURA
DATOS PERSONALES
#include<math.h>
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
void main ()
{
struct datospersonales
{
char nombre[40];
char codigo[7];
int edad;
float talla;
struct
{ int dia, mes, anno;
} fecha_nac;
};
datospersonales alumno1, alumno2, alumno3;
clrscr();
cout<<"ingrese los datos del primer alumno:\n";
cout<<"nombre: "; gets(alumno1.nombre);
// cout << "edad: "; cin>>alumno1.edad;
cout<<"talla:" ; cin>>alumno1.talla;
cout<<"fecha de nacimiento(dd mm aa):";
cin>>alumno1.fecha_nac.dia>>alumno1.fecha_nac.mes>>
alumno1.fecha_nac.anno;
cout<<"\n\n los datos del primer alumno son:"<<endl;
cout<<" nombre: " << alumno1.nombre<<endl;
//cout<<"edad: "<<alumno1.edad<<endl;
cout<<"talla:"<<alumno1.talla<<endl;
cout<<"fecha de nacimiento: "<<alumno1.fecha_nac.dia<<"/"<<
alumno1.fecha_nac.mes<<"/"<<alumno1.fecha_nac.anno<<endl;
getch();
}
#include <iostream.h>
#include <iomanip.h>
#include <ctype.h>
// Definicin del tipo estructura llamado
// Parte real del nmero complejo
// Parte imaginaria del nmero complejo
void main(void)
{
int contador[26];
char i;
char letra;
complejo A, B, C;
clrscr();
cout<<"ingrese los valores del primer complejo:";
cin>>A.real>>A.imag;
// cout<<"El primer nmero complejo es "<< A.real<< "+j"
<<A.imag<< endl;
cout<<"ingrese el valor del segundo complejo:"; cin>>
B.real>>B.imag;
// cout<<"El segundo nmero complejo es "<< B.real << "+j" <<
B.imag << endl;
// Suma de A y B como nmeros complejos:
C.real=A.real+B.real;
C.imag=A.imag+B.imag;
cout<<"La suma de " << A.real << "+j" <<A.imag<< " y " <<
B.real << "+j" << B.imag << " es "<< C.real << "+j" <<
C.imag <<
endl;
getch();
}
ESTRUCTURA
CADENA DE CARACTERES
cout << "Digite una cadena y presione la tecla Enter" << endl;
do {
letra = cin.get();
if ((letra >= 'a') && (letra <= 'z'))
cin.putback(toupper(letra));
else if ((letra >= 'A') && (letra <= 'Z'))
contador[letra - 'A']++;
} while (letra != '\n');
for (i = 0; i < 26; i++)
{
cout.put((char)('A' + i));
cout << " " << contador[i] << endl;
}
// Solucin de la pregunta b:
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include<iostream.h>
#include<math.h>
#include<conio.h>
void main()
{
char * titulo; int longitud;
void main()
{ struct punto
{
float x, y;
};
punto a, b, c;
float dab, dbc, dac;
clrscr();
clrscr();
cout<<"Ingrese una cadena: "; gets(titulo);
longitud = strlen(titulo);
for(int i=0; i<longitud; i++)
titulo[i]=toupper(titulo[i]);
cout<<"La cadena en maysculas es: ";
puts(titulo);
getch();
}
CADENA
clrscr();
swap (&a, &b);
/* Vale. S intercambia los valores. */
printf("a = %3d b = %3d\n", a, b);
swap1 (&a, &b);
printf("a = %3d b = %3d\n", a, b);
swap0 (a, b);
printf("a = %3d b = %3d\n", a, b);
getch();
}
swap(int *px, int *py)
{ int t;
t = *px;
*px = *py;
*py = t;
}
swap1(int px, int py)
{ int t;
t = px;
px = py;
py = t;
}
/* swap2(int &px, int &py)
{ int t;
Error.
t = px;
px = py;
py = t;
}
*/
swap0(px, py)
char *px[], *py[];
{
char *t;
t = *px;
*px = *py;
*py = t;
}
PUNTEROS
#include <stdio.h>
#include <stdlib.h>
main()
{
int x, *px;
int a[5], *pa;
x=5;
px=15;
//&x;
/* La variable px es la direccin de x
*/
x++;
/* x aumenta en 1
*/
px++;
/* ahora px no es la direccin de x
*/
(*&x)++;/* x aumenta en 1
*/
(*px)++; /* el contenido de px aumenta en 1
*/
/* Arreglos: */
PUNTERO
INTERCAMBIAR
main()
{
int a, b, c;
a=1; b=2;
a[0] = 1;
a[1] = 2;
*/
pa = &a[0];
*/
pa = a;
*/
pa++;
pa = a+1;
PUNTEROS Y ARREGLOS
/* es lo mismo que pa=&a[1];
*/
(*pa)++;
*/
x = (*pa+1);
*/
x = *(pa+1);
*/
pa[1]++; /* la expresion pa[i] es identica a *(pa+i)
*/
/*
pa es una variable. a es una constante.
Son ilegales las siguientes expresiones:
a=pa
a++
*/
}
PUNTERO
main()
{
int x, y;
int *px, *py;
x = 3;
px = &x;
/* px toma el valor DS:FFDA (por
ejemplo) */
y = *px;
/* y toma el valor 3 */
y = *px + 1;
/* y toma el valor 4 */
printf("%d\n", *px);
*px = 5;
/* x y *px toman el valor 5 */
*px += 1;
/* x y *px toman el valor 6 */
(*px)++;
/* x y *px toman el valor 7 */
*px++;
/* px toma el valor DS:FFDC y *px tiene
otro
valor, por ejemplo, -24, pero x sigue
valiendo 7. */
/* py = px; */
}
PUNTEROS Y ARREGLOS
SE INGRESA UNA CANTIDAD DE PARES ORDENAdos,
DETERMINAR
CUANTOS SE ENCUENTRAN EN EL CUARTO CUADRANTE.
#include <iostream.h>
#include <conio.h>
void main()
{
struct pares
{ float x,y;
};
pares par[20];
int cont=0,n;
cout<<"Ingrese la cantidad de pares ordenados : "; cin>>n;
for(int i=1;i<=n;i++)
{ cout<<"Ingrese el par ordeno <separado por espacio en blanco> : ";
cin>>par[i].x>>par[i].y;
if ((par[i].y<0)&&(par[i].x>0)) cont++;
}
cout<<"Hay "<<cont<<"pares ordenados en el 4to cuadrante.";
getch();
}
#include<iostream.h>
#include<conio.h>
void intercambiar(float * p, float * q);
void main()
{
float a, b;
clrscr();
cout<<"Ingrese dos nmeros: ";
cin>>a>>b;
if (a>b)
intercambiar(&a, &b);
cout<<"Los nmeros ordenados de menor a mayor son: ";
cout<<a<<" "<<b;
getch();
}
void intercambiar(float * p, float * q)
{ float t;
t=*p;
*p=*q;
*q=t;
}