Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/04/2010, 04:30
roser24
 
Fecha de Ingreso: marzo-2010
Mensajes: 127
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: Matriz tridimensional en c

Hola,gracias por responder razpeita,veras mi programa tira pero hay una parte que no se como hacerlo,es en relacion a como conseguir que los valores no se repitan se ke debo meterlo en el do{ }while,pero no se como al ser 3 indices me lio .. y no me sale, como muxo lo unico que consegui hace un rato es que me compare con el anterior introducido pero quiero que me compare con todos los valores que ya se hallan introducido y que si es igual a uno de ello me diga errror y no me lo coja para la matriz..

Código C:
Ver original
  1. /*6.    Cálculo de la mayor cuota de comunidad de los vecinos de una mancomunidad
  2. de 3 porta-les, 4 plantas por portal y 3 puertas por planta, realizando previamente
  3.  la carga de la tabla correspondiente. Se debe tener en cuenta que la cuota
  4.  mínima de comunidad son 20 € y que no puede haber dos vecinos con la misma
  5.  cuota. Al visualizar la cuota mayor se indi-cará en pantalla el portal,
  6.  planta y puerta del vecino con cuota mayor.      */
  7.  
  8.  #include<stdio.h>
  9.  
  10.  int main(){
  11.  
  12.  int mat[3][4][3],i,j,k,aux,max=0,imax=0,jmax=0,kmax=0;
  13.  
  14.  
  15.  for(i=0;i<3;i++){
  16.     for(j=0;j<4;j++){
  17.         for(k=0;k<3;k++){
  18.         do{
  19.         printf("Cuota del Portal %d,planta %d y puerta %d\n",i,j,k);
  20.          scanf("%d",&mat[i][j][k]);
  21.  
  22.  
  23.             if(mat[i][j][k]<=20){
  24.             printf("Error,la cuota debe de ser mayor que 20 euros\n");
  25.             }
  26.  
  27.             /*conseguir que no se repitan
  28.             if(mat[i][j][k]!=aux){
  29.  
  30.              if(mat[i][j][k]!=aux){
  31.              aux=mat[i][j][k];
  32.              }
  33.               else{
  34.  
  35.              printf("\nError,cuota insertada anteriormente");
  36.              }
  37.              */
  38.             }while(mat[i][j][k]<20);
  39.  
  40.             if(mat[i][j][k]>max){//para  conseguir la cuota maxima y la ubicacion de la cuota maxima
  41.             max=mat[i][j][k];
  42.             imax=i;
  43.             jmax=j;
  44.             kmax=k;
  45.             }
  46.  
  47.  
  48.         }
  49.         }
  50.  
  51.         }
  52.  
  53.  
  54.         //visualizacion en matriz
  55.  
  56.          for(i=0;i<3;i++){
  57.              for(j=0;j<4;j++){
  58.                  for(k=0;k<3;k++){
  59.                     printf("\t\n[%d][%d][%d]=%d  ",i,j,k,mat[i][j][k]);
  60.                     }
  61.                      printf("\n");
  62.                     }
  63.  
  64.                   }
  65.  
  66.                   printf("\nLa cuota maxima pagada fue del portal %d planta %d y puerta %d cuota:%d",imax,jmax,kmax,max);
  67.       return 0;
  68. }

mmm.. ke estreessante que no me salga