domingo, 30 de septiembre de 2001

Localización de una celda en un retículo rectangular. Un ejercicio sencillo de programación en C/C++

//-----------------------------------------------------------------
// Localització d'una cel.la en un rectangle 
//
// Joan Aranès Clua
// data: 15/12/2001
// 
// 
// Un rectangle està dividida en n files i m columnes. 
// Les files estan numerades des del 0 fins al (n-1) i les columnes 
// des del 0 fins al (m-1). 
// 
// Es tracta d'escriure un programa que, 
// donat un número p comprés entre 0 i (n x m)-1, 
// ens indiqui a quina fila i columna pertany aquest número. 
// Per exemple, si el rectangle està dividit en n = 4 files i 
// m = 5 columnes i escrivim p = 14, ha de respondre: 
// "fila 2, columna 4"
//-----------------------------------------------------------------


#include <stdio.h>
#include <math.h>

void main ()

{
  //declaració de les variables
  unsigned short int n,m;  // nombre de files i columnes que defineixen el rectangle
  unsigned short int p;    // variable d'entrada

    
  //definició del rectangle n files x m columnes
  printf("-----------------------------------\n");
  printf("Definiu un rectangle donant el nombre de files n i columnes m:\n");
  printf("separats per un espai\n");
  scanf("%u %u",&n, &m);
  
  
  //entrada d'un nombre p
  printf("-----------------------------------\n");
  printf("Entreu nombre p compr\x08As entre\n");
  printf("%u",0);
  printf(" i ");
  printf("%u\n",n*m-1);
  printf("p=");
  scanf("%u",&p);
  
 
 //ubicació de la cel.la
  printf("-----------------------------------\n");
  printf("fila = %u\n",int(p/m));
  printf("columna = %u\n",p%m);

}