Está en la página 1de 5

1.

EscribaunprogramaenCdadaunamatrizM[x][y]haga:
a)muestremenconsola
b)calculelamatriztranspuestaMT[y][x]
c)muestremtenconsola.
Solucin:
#include<stdio.h>
#defineX4
#defineY8
intmain(){
intm[X][Y]=

{0,0,0,0,0,0,0,0,
1,1,1,1,1,1,1,1,
2,2,2,2,2,2,2,2,
3,3,3,3,3,3,3,3};

intmt[Y][X];
inti,j;
//imprimom
printf("\nmatriz\"m\"\n");
for(i=0;i<X;i++){
for(j=0;j<Y;j++)
printf("%d|",m[i][j]);
printf("\n");
}
printf("\n\n");

//calculomt
for(i=0;i<X;i++)
for(j=0;j<Y;j++)
mt[j][i]=m[i][j];
//imprimomt
printf("matriz\"mt\"\n");
for(i=0;i<Y;i++){
for(j=0;j<X;j++)
printf("%d|",mt[i][j]);
printf("\n");
}
return0;
}

2.Escribaunprogramaque,dadaunamatrizM[x][y]laalmaceneen:
a)unvectorV1delaforma{fila1,fila2,...,filax}
b)unvectorV2delaforma{columna1,columna2,...,columnay}

Solucin:
#include<stdio.h>
#defineX4
#defineY8
intmain(){
intm[X][Y]=

{0,0,0,0,0,0,0,0,
1,1,1,1,1,1,1,1,
2,2,2,2,2,2,2,2,
3,3,3,3,3,3,3,3};

intv1[X*Y];
intv2[Y*X];
inti,j;
//imprimom
printf("\nmatriz\"m\"\n");
for(i=0;i<X;i++){
for(j=0;j<Y;j++)
printf("%d|",m[i][j]);
printf("\n");
}
printf("\n\n");

//calculoV1
for(j=0;j<Y;j++)
for(i=0;i<X;i++)
v1[(j*X)+i]=m[i][j];

//calculoV2
for(i=0;i<X;i++)
for(j=0;j<Y;j++)
v2[(i*Y)+j]=m[i][j];
//imprimoV1
printf("\"V1:\"\n|");
for(i=0;i<(Y*X);i++)
printf("%d|",v1[i]);
printf("\n");

//imprimoV2
printf("\"V2:\"\n|");
for(i=0;i<(Y*X);i++)
printf("%d|",v2[i]);
printf("\n");

return0;
}

3.EscribaunprogramaenCqueutiliceunarregloparamostrarlosNprimerosnmerosdela
sucesindefibonacci.Nota:Nesintroducidoporelusuario.

Solucin:
#include<stdio.h>
intmain(){
intn,k;
printf("introduzcalacantidaddenumerosacalcular:\n");
scanf("%d",&n);
intfibo[n];
if(n==1){
fibo[0]=0;
}
elseif(n==2){
fibo[0]=0;
fibo[1]=1;
}
elseif(n>2){
fibo[0]=0;
fibo[1]=1;

for(k=2;k<n;k++)
fibo[k]=fibo[k1]+fibo[k2];
}
else{
printf("%dnoesunnumerovalido\n\n",n);
return0;
}

//inmprimoelresultado
printf("\nlos%dprimerosnumerosdelasucesiondefibonaccison:\n|",n);
for(k=0;k<n;k++)
printf("%d|",fibo[k]);
printf("\n\n");
return0;
}

4.escribaunprogramaenCquesimuleuntablerodeajedrezcon(slo)torres.Elprogramadebe
decir si,dadaslasposicionesdelastorresalgunadeellassecomeaotra.Sugerencia:Nose
compliquemucho.Solosequieresabersitodasvivenoalgunamuere.
Solucin:

#include<stdio.h>
#defineTRUE1
#defineFALSE0
intmain(){

inttablero[8][8]=

{0,0,0,0,0,0,0,0,
0,0,0,0,0,0,1,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0};

intf,c;
intcuantas;
inttodasbien;

todasbien=TRUE;
for(f=0;f<8;f++){
for(c=0;c<8;c++){
if(tablero[f][c]==1){
//arriba&abajo
cuantas=
tablero[0][c]+
tablero[1][c]+
tablero[2][c]+
tablero[3][c]+
tablero[4][c]+
tablero[5][c]+
tablero[6][c]+
tablero[7][c];
if(cuantas>1)todasbien=FALSE;

//izquierda&derecha
cuantas=
tablero[f][0]+
tablero[f][1]+
tablero[f][2]+
tablero[f][3]+
tablero[f][4]+
tablero[f][5]+
tablero[f][6]+
tablero[f][7];
if(cuantas>1)todasbien=FALSE;
}
}
}

if(todasbien)printf("Eneltableroningunatorresecomeaotra\n");
elseprintf("Eneltableroalgunatorresecomeaotra\n");
return0;
}

5.EscribauncdigoenCquerecibaunarregloAconNnmerosydevuelvaunarregloBconlos
mismoNnmerosordenados.
Solucin:

#include<stdio.h>
#include<limits.h>
intmain(){
intdesorden[12]={2,6,4,9,1,3,8,5,0,7,8,4};
intorden[12];
intmin=INT_MAX;
intposmin=1;
inti,j;


for(i=0;i<12;i++){
for(j=0;j<12;j++){
if(desorden[j]<=min){
min=desorden[j];
posmin=j;
}
}
desorden[posmin]=INT_MAX;
orden[i]=min;
min=INT_MAX;
}

printf("elarregloordenado:\n|");
for(i=0;i<12;i++)
printf("%d|",orden[i]);
printf("\n\n");
return0;
}

También podría gustarte