Red de conocimiento informático - Conocimiento de la instalación - Ayuda (Programación informática)

Ayuda (Programación informática)

Guarde la tabla anterior en una matriz bidimensional y luego escanee según las columnas para calcular las estadísticas.

El siguiente es un programa escrito en lenguaje C/C (probado en VC 6.0), con comentarios más detallados:

#include lt; p>void main(){

int i, j; /*for variables de bucle*/

/*

Guarde las siguientes propiedades en dos matriz -dimensional

Número de serie atributo 1 atributo 2 atributo 3 atributo 4

0 0 0 1

1 0 1 0

0 1 1 1

1 1 0 0

1 0 1 0

*/

int arreglo[5][4] = {

{0, 0, 0, 1},

{1, 0, 1, 0},

{0, 1, 1, 1 },

{1, 1, 0, 0},

{1, 0, 1, 0}

} /* 5 filas y 4; columnas */

/* Guarda la información de clasificación de 0 y 1 correspondiente al atributo*/

/*

-1 es el número predeterminado en arrResult

Las posiciones 0-4 de cada fila se usan para almacenar la posición de 0 en la fila de la matriz original

Las posiciones 5-9 de cada fila se usan para almacenar la posición de 1 en la fila de la matriz original

*/

/* Por ejemplo: atributo 1 */

/* Después de guardar en arrResult: */

/* [ 1 3 -1 -1 -1 2 4 5 -1 -1 ] */

int arrResult[4][10];

/*Inicializa la matriz*/

for ( i = 0; i lt; 4; i ){

for ( j = 0; j lt; 10; j ){

arrResult[i] [j]=-1

}

}

/* Escanear por columna*/

for ( j = 0 ; j lt; 4; j ){ /* Bucle de columna*/

int zeroIndexInResult = 0 /*Las posiciones 0-4 de cada fila se utilizan para guardar 0; en la posición de la columna de la matriz original*/

int oneIndexInResult = 5; /*Las posiciones 5-9 de cada fila se utilizan para guardar la posición de 1 en la columna de la matriz original*/

for ( i = 0; i lt; 5 ; i ){ /* Bucle de fila*/

if ( arr[i][j] == 0 ){

arrResult[j][zeroIndexInResult ]=(i 1) ;

} else {

arrResult[j][oneIndexInResult ]=(i 1);

}

}

}

/*Imprimir los atributos convertidos*/

para ( i = 0; i lt; 4; i ){

printf( "Atributo d {", (i 1)

para ( j = 0; j lt; 10; j ){<

/p>

if ( j lt; 5 ){ /*Elemento con valor 0*/

if ( arrResult[i][j]==-1 ){ /* significa que no hay more El elemento con valor de atributo 0 es */

j = 4; /* Porque después de ejecutar continuar, la posición de for realizará 1 operación en j*/

printf( " }; {" );

continuar;

}

si ( j == 0 ){

printf( "d" , arrResult [i][j] );

} else {

printf( ", d", arrResult[i][j] ); }

} else { /*Elemento con valor 1*/

if ( arrResult[i][j]==-1 ){ /* Indica que no hay ningún elemento con valor del atributo 1 Elemento*/

printf( "}\n"

break;

}

if ( j = = 5 ){

printf( "d", arrResult[i][j]

} else {

printf( ", d",); arrResult[ i][j] );

}

}

}

}

}