Está en la página 1de 15

C++ ARRAY CADENAS

//Programa que pide N palabras e imprime cul es la mas larga


#include<iostream>
#include<string.h>
using namespace std;
int main()
{ short N,i;
cout<<"Cuantas palabras: ";
cin>>N;
char pal[N][20];
for(i=0;i<N;i++)
{ cout<<"Digite la palabra? ";
cin>>pal[i];
}
short pos=0;
for(i=1;i<N;i++)
if(strlen(pal[i])>strlen(pal[pos]))
pos=i;
cout<<"La palabra mas larga es "<<pal[pos]<<" con "<<strlen(pal[pos])<<"
letras.\n";
system("pause");
}
//Programa que capture N nombres y que imprima cuntos empiezan por
vocal
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
short i,j,n,cv=0;
char a;

cout<<"Cuantos nombres completos desea guardar? ";


cin>>n;
char nom[n][30];//Se declara la matriz solo para dimensionar

for(i=0;i<n;i++)
{cin>>ws;
cin.getline(nom[i],30);//Se llena como si fuera un vector
strupr(nom[i]);
}

cout<<"\nNombres digitados\n";
for(j=0;j<n;j++)
cout<<nom[j]<<"\n";

//Recorrido del vector de nombres


for(i=0;i<n;i++)
if(nom[i][0]=='A'||nom[i][0]=='E'||nom[i][0]=='I'||nom[i][0]=='O'||nom[i][0]=='U')
cv++;
cout<<cv<<" Nombres empiezan por vocal\n";
system("pause");
}
//Programa que halla si una palabra es palndrome
#include<iostream>
#include<string.h>
using namespace std;

int main()
{ char *p1=new char,*cop=new char;

cout<<"Digite la palabra: ";


cin>>p1;
strcpy(cop,p1);//Guarde frase en otra cadena

strrev(cop);//Invierte y guarda en la misma cadena


if(strcmpi(p1,cop)==0)
cout<<"\npalindrome";
else cout<<"\nNo es palindrome";
}
//programa que invierte los nmeros de un vector
#include<iostream>
using namespace std;
int main()
{ short n,i,j;
cout<<"Cuantos elementos tiene el vector? ";
cin>>n;
float V[n],temp;
cout<<"Digite los numeros flotantes a invertir\n";
for(i=0;i<n;i++)
cin>>V[i];
for(i=0,j=n-1;i<n/2;i++,j--)
{ temp=V[i];
V[i]=V[j];
V[j]=temp;
cout<<"VECTOR INVERTIDO\n";
for(i=0;i<n;i++)
cout<<V[i]<<" ";
}
//Programa xito
#include<iostream>
#include<stdlib.h>
#include<time.h>
#define F 4
#define C 3
using namespace std;

int main()
{
short M[F][C],pf,pc,i,j,sum,talm[F],tprod[C],tt,te,tg;
srand(time(0));//Cambia la semilla de generacion de numeros aleatorios
//Se llena la matriz con el numero de unidades aleatoriamente
for (i=0;i<F;i++)
for(j=0;j<C;j++)
M[i][j]=rand()%51;//Genera numeros entre 0 y 50
cout<<"\nDatos\n";
cout<<"\nAlmacen\\Producto\n";
for (i=0;i<F;i++)
{
for (j=0;j<C;j++)
cout<<"\t"<<M[i][j]<<" ";
cout<<"\n"; }
//Suma por filas
for (i=0;i<F;i++)
{ sum=0;
for(j=0;j<C;j++)
sum+=M[i][j];
talm[i]=sum; }

cout<<"\n\na)Total unidades vendidas por cada sucursal\n";


for(i=0;i<F;i++)
cout<<"\nSucursal "<<i+1<<" = "<<talm[i];
//Sucursal que mas vendio
tt=0;
for(i=0;i<F;i++)
if (talm[i]>talm[tt])
tt=i;
cout<<endl<<"La sucursal "<<tt+1<<" fue la que mas vendio";

//Suma por columnas


for(i=0;i<C;i++)
{sum=0;
for (j=0;j<F;j++)
sum+=M[j][i];
tprod[i]=sum; }
cout<<endl;//equivale a un salto de linea
system("pause");//pausa para mostrar por pantallazos
cout<<"\n\nb) Total por productos\n";
for(i=0;i<C;i++)
cout<<"\nProducto "<<i+1<<" = "<<tprod[i];

te=0;
for(i=0;i<C;i++)
if (tprod[i]<tprod[te])
te=i;
cout<<"\nel producto menos vendido es "<<te+1;
cout<<endl;//equivale a un salto de linea
system("pause");//pausa
cout<<"\n\nc) Sucursal y producto de mayor # de unidades vendidas\n";
pf=pc=0;
for (i=0;i<F;i++)
for(j=0;j<C;j++)
if(M[i][j]>M[pf][pc])
{pf=i;
pc=j; }
cout<<"\nLa sucursal: "<<pf+1<<" fue donde se dio el mayor # unidades vendidas";
cout<<" del producto: "<<pc+1;

cout<<endl;
system("pause");

cout<<"\ningrese un producto adicional vendido por cada sucursal "<<endl;


for(i=0;i<F;i++)
{
cout<<"\nSucursal "<<i+1<<" ";
cin>>M[i][0];
cout<<endl;
}
tg=0;
for(i=0;i<F;i++)
if (M[i][0]>M[tg][0])
tg=i;

cout<<"La sucursal que mas vendio el producto adional es "<<tg+1;

}
//Votacion de N- estudiantes sobre el servicio de comedores
//generados aleatoriamente

#include<iostream>
#include<stdlib.h>
#include<time.h>
#define T 10

using namespace std;

int main()
{ short i,j,n,frec[T]={0};
cout<<"Cuantos estudiantes desean votar? ";
cin>>n;
short rtas[n];
srand(time(0));//semilla del generador

for(i=0;i<n;i++)
rtas[i]=rand()%10+1;//Genera numeros entre 1 y 10

for(i=0;i<n;i++)
frec[rtas[i]-1]++;//frec[rtas[i]-1]=frec[rtas[i]-1]+1

cout<<"\n*********** RESULTADOS DE ENCUESTA**********************\n";


cout<<"\nPUNTAJE\t\tFRECUENCIA\tHISTOGRAMA\n\n";

for(i=0;i<T;i++)
{ cout<<i+1<<"\t\t"<<frec[i]<<"\t\t";
for(j=1;j<=frec[i];j++)
cout<<"*";
cout<<"\n";
}
}
//programa que tiene dos conjuntos y hace interseciones, uniones y resta de
conjuntos
#include <iostream>
using namespace std;
int main()

{
int i,j,ca,cb;
cout<<"Digite el numero de elementos del conjunto A y B respectivamente: ";
cin>>ca>>cb;

int A[ca],B[cb];

cout<<"\n\nDigite los numeros del conjunto A: \n";


for (i=0;i<ca;i++)

cin>>A[i];

cout<<"\n\nDigite los numeros del conjunto B: \n";


for(i=0;i<cb;i++)
cin>>B[i];

//Union de dos conjuntos


int *Vf=new int;

for (i=0;i<ca;i++)
Vf[i]=A[i];

short c=ca;

for (i=0;i<cb;i++)
{Vf[c]=B[i];
c=c+1;
}

int Vt[ca+cb], *Vaub=new int,con,num;

con=-1;

for (i=0;i<ca+cb;i++)
{c=0;
num=Vf[i];
Vt[i]=num;

for (j=0;j<ca+cb;j++)
if (Vt[j]==num)
c=c+1;

if(c==1)
{con=con+1;
Vaub[con]=num;}
}

cout<<"\n\n\nA unido B es: \n\n";


for (i=0;i<=con;i++)
cout<<Vaub[i]<<"\t";

//Interseccion de dos conjuntos

int *Vanb=new int;


c=-1;

for(i=0;i<ca;i++)
for (j=0;j<cb;j++)
if(A[i]==B[j])
{c=c+1;
Vanb[c]=A[i];
break;
}

cout<<"\n\nA interseccion B es: \n\n";


for(i=0;i<=c;i++)
cout<<Vanb[i]<<"\t";

//a-b

int *Varb=new int;


int k=-1;

for (i=0;i<ca;i++)
{
c=0;
for (j=0;j<cb;j++)
if (A[i]==B[j])
{c++;
break;}
if (c==0)
{k=k+1;
Varb[k]=A[i];}
}

cout<<"\n\nA menos B:\n\n ";


for (i=0;i<=k;i++)
cout<<Varb[i]<<"\t";
}
//programa que calcula el valor de los productos vendidos por el almacen y
cual fue la que menos vendio corbatas
#include <iostream>
using namespace std;
int main ()
{char pro [4][10]={"falfa","pantalon","camisa","corbata"};
char sur [5][20]={"sucursal uno","sucursal dos","sucursal tres","sucursal
cuatro","sucursal cinco"};
long int cost[4]={35000,60000,45000,20000},sum,M[5][4];
int tot,i,j,c;

for (i=0;i<5;i++)
{cout<<sur[i]<<"\n";
for (j=3;j>=0;j--)
{cout<<pro[j]<<" ";
cin>>M[i][j];

}
}
c=0;
for (i=0;i<5;i++)
{if(M[i][3]<M[c][3])
c=i;
}

cout<<"La sucursal que menos vendio corbatas es "<<sur[c];

tot=0;
for (i=3;i>=0;i--)
{for (j=0;j<5;j++)
{sum=M[j][i]*cost[i];
tot=tot+sum;
}
}
cout<<"\nEl total vendido es "<<tot;
}
//Programa de votaciones con histograma y demas
#include <iostream>
#include <string.h>
#include <ctype.h>
using namespace std;

int main ()
{
long M[15][20];
int c=0,vot,i,j,tempn,pos;
char nc[15]
[20]={"pepito","juansi","Duveri","fabian","gervac","aliri","crepac","pancra","carolc","fer
chi","angisi","chacoo","genius","mousee","iphone"};

long
numc[20]={20,40,60,80,100,120,140,160,180,200,220,240,260,280,300},tempn1;
char opc,temp[20];
int fv[15]={0};

do {
cout<<"Digite el numero del canditato a votar\n";
cin>>vot;
c=c+1;
while (vot<20 or vot>300 or vot%20!=0)
{
cout<<"numero no valido"<<" Ingrese un numero de candidado
correcto\n";
cin>>vot;
}

(fv[(vot/20)-1])++;

cout<<"Si se realizara otra votacion presione la tecla S";


cin>>opc;
}while(toupper(opc)=='S');

for(i=0;i<14;i++)
{
for (j=i+1;j<15;j++)
{if(strcmpi(nc[i],nc[j])>0)
{strcpy(temp,nc[i]);
strcpy(nc[i],nc[j]);
strcpy(nc[j],temp);

tempn=fv[i];

fv[i]=fv[j];
fv[j]=tempn;

tempn1=numc[i];
numc[i]=numc[j];
numc[j]=tempn1;
}
}

}
cout<<"candidatos\tvotos\t\thistograma\n\n";
for(i=0;i<15;i++)
{cout<<"\n"<<nc[i]<<"\t\t"<<(float(fv[i])/c)*100<<"%\t\t";
for (j=1;j<=fv[i];j++)
cout<<"*";
}
pos=0;
for (i=0;i<15;i++)
{if(fv[pos]<fv[i])
pos=i;
}

cout<<"\nel candidato ganador es "<<nc[pos]<<" y su numero es


"<<numc[pos];
}
//Programa que llena con nmeros aleatorios y da un vector sin repeticiones
de nmeros
#include <iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;

int main ()
{ int N,i,j,c,ci,num;
srand(time(0));
cout<<"Con cuantos numero desea llenar el vector ";
cin>>N;

long v[N],va[N],*vf=new long;


for (i=0;i<N;i++)
(v[i]=rand()%1000)+1;
cout<<" ";

ci=-1;
for (i=0;i<N;i++)
{c=0;
num=v[i];
va[i]=num;
for (j=0;j<N;j++)
{if (va[j]==num)
c=c+1;
}
if (c==1)
{ci=ci+1;
vf[ci]=num;
}
}

cout<<"El vector es ";


for (i=0;i<N;i++)
cout<<" "<<v[i];

cout<<"\n El vector sin repeticiones es ";

for (i=0;i<ci+1;i++)
cout<<" "<<vf[i];
}