Вы находитесь на странице: 1из 9

Programación digital

Tarea N°2
Sección “Q”

Profesor: Vilca Román, Arturo


Alumno: Romero Lima, Johan Anderson
20160030j
PROBLEMA N°1
1. Programa:
#include<stdio.h>

void mayor(int a[]);

void ordenar(int a[]);


void imprimirV1(int a[]);
void imprimirV2(int a[]);
void valor(int a[]);
void eliminar(int a[4]);
int main(){
int m;
int a[11]={22,-5,67,-8,45,32,101,-99,73,10};

printf("Para nuestro siguiente arreglo...\n");

mayor(a);

ordenar(a);
printf("El arreglo ya ordenado es ");
imprimirV1(a);

valor(a);
ordenar(a);
printf("Nuestro nuevo arreglo ya ordenado sera ");
imprimirV2(a);
eliminar(a);

return 0;
}
/*parte a*/
void mayor(int a[]){
int i;
int m;
m=a[0];
for(i=0;i<10;i++){
if(m<a[i]){
m=a[i];
}
}
printf("El mayor elemento es %d\n",m);
}
/*parte b*/
void ordenar(int a[]){
int i,j,aux;
for(i=0;i<11;i++){
for(j=i;j<11;j++){
if(a[i]>a[j]){
aux=a[i];
a[i]=a[j];
a[j]=aux;
}
}
}
}
void imprimirV1(int a[]){
int i;
for(i=0;i<11;i++){
if(a[i]!=0){
printf("%d ",a[i]);
}
}
}
/*parte c*/
void valor(int a[]){
int i,n;
printf("\nAgreguemos un nuevo elemento tal como el elemento ");
scanf("%d",&n);
for(i=0;i<11;i++){
if(a[i]==0){
a[i]=n;
}
}
}
void imprimirV2(int a[]){
int i;
for(i=0;i<11;i++){
printf("%d ",a[i]);
}
}
/*parte d*/
void eliminar(int a[]){
int i,n;
do{
printf("\nAhora eliminemos un elemento de nuestro arreglo (ya sea la
posicion en el arreglo): ");
scanf("%d",&n);
}
while(n>11 || n<0);
for(i=0;i<11;i++){
if(i!=n){
printf("%d ",a[i]);
}
}
}

2. Pseudocodigo o diagrama de flujo:

3. Salidas:
PROBLEMA N°2
1. Programa:
/*En el caso de que los valores de nuestra matriz ya este dada*/
#include<stdio.h>

int main (){


int i,j,n,i1,j1;
int matriz[4][5]={{4,130,6,7,9},{5,8,-2,10,0},{1,14,2,3,9},{19,-7,16,2,5}};
int ordenar[20];

for(i=0;i<4;i++){
for(j=0;j<5;j++){
printf("%3d ",matriz[i][j]);
}
printf("\n");
}
printf("\nordenando los valores de esta matriz en forma creciente...\n\n");

for(i=0;i<4;i++){
for(j=0;j<5;j++){
for(i1=i;i1<4;i1++){
int jn=0;
if(i==i1){
jn=j+1;
}
for(j1=jn;j1<5;j1++){
if(matriz[i][j]>matriz[i1][j1]){
n=matriz[i1][j1];
matriz[i1][j1]=matriz[i][j];
matriz[i][j]=n;
}
}
}
}
}

for(i=0;i<4;i++){
for(j=0;j<5;j++){
ordenar[(5*i)+j]= matriz[i][j];
printf("%d ",ordenar[(5*i)+j]);
}
}
return 0;
}

2. Pseudocodigo o diagrama de flujo:


VARIABLE
Entero matriz [ 1 , 4 ] [ 1 , 5 ];
Entero ordenar [ 1 , 20 ]
Entero i;
Entero j;
Entero v [ 1 , 20 ];
Entero índice;
Entero intercambio;
Entero intermedio;
FIN_VARIABLE
INICIO
PARA i = 1 hasta 4 incremento 1
PARA j = 1 hasta 5 incremento 1
ESCRIBIR ( matriz [ i , j ] );
FIN_PARA
FIN_PARA
PARA i = 1 hasta 4 incremento 1
PARA j = 1 hasta 5 incremento 1
V [ ( ( i – 1 ) + 5 + j ] = matriz [ i ] [ j ];
FIN_PARA
FIN_PARA
REPETIR
Intercambio = 0;
PARA ( índice = 1 ) hasta 19 incremento 1
SI ( v [ índice ] > v [ índice+1 ] ) entonces
Intermedio = V[índice];
V [ índice ] = V [ índice + 1 ];
V [ índice + 1 ] = intermedio;
Intercambio = 1;
FIN_SI
FIN_PARA
HASTA ( intercambio=0)
PARA i = 1 hasta 4 incremento 1
PARA j = 1 hasta incremento 1
Matriz [ i ] [ j ] = V [ ( ( i - 1 ) + 5 + j ];
FIN_PARA
FIN_PARA
PARA i = 1 hasta 4 incremento 1
PARA j = 1 hasta 5 incremento 1
Ordenar [ ( ( i - 1 ) + 5 + j ] = Matriz [ i ] [ j ] ;
ESCRIBIR ( ordenar[ ( ( i - 1 ) + 5 + j ] );
FIN_PARA
FIN_PARA
FIN
3. Salidas:

Вам также может понравиться