Inginieria

Páginas: 5 (1079 palabras) Publicado: 3 de marzo de 2013
Problema 1 (2,5 punts) Donat el programa en ANSI C++ seg¨ent: u #include #include #include #define N 20 #define C (’z’-’a’)+1 // Prototipus void llegir_paraula(char p[ ]); void accioA(char p[ ], int c[ ]); bool funcioB(int c1[ ], int c2[ ]); int main() { char p1[N+1], p2[N+1]; int c1[C]={0}, c2[C]={0}; llegir_paraula(p1); // * Avaluacio de p1 (1r apartat) printf("Seq. 1: %s\n", p1);llegir_paraula(p2); // * Avaluacio de p2 (2n apartat) printf("Seq. 2: %s\n", p2); accioA(p1, c1); accioA(p2, c2); if (funcioB(c1,c2) == true) { printf("SI\n"); } else { printf("NO\n"); } } void llegir_paraula(char p[ ]) { int i; char c; printf("Introduir una sequencia de lletres minuscules de llargada maxima %d. Acabar la sequencia amb nova linia:\n", N); i=0; c=getchar(); while (c != ’\n’ && i < N) { if (islower(c) ) { p[i]=c; i++; } c=getchar(); } p[i]=’\0’; }

1

void accioA(char p[ ], int c[ ]) { int i; for(i = 0; i < strlen(p); { c[ p[i] - ’a’ ]++; } } bool funcioB(int c1[ ], int c2[ ]) { bool b; int i; b=true; i=0; while (b == true && i < C) { if (c1[i] == c2[i]) { i++; } else { b=false; } } return(b); } Descripci´ i prototipus de les funcions de llibreria: o • La funci´ islower(),declarada al fitxer ctype.h, retorna true si el car`cter ´s una lletra o a e min´scula i false en un altre cas. u bool islower(char c); • La funci´ strlen(), declarada al fitxer string.h, retorna el nombre de car`cters que precedeixen o a la marca de final de cadena (el car`cter ’\0’ ). a int strlen(char s[ ]); Es demana: 1. Indiqueu el valor que pren la variable p1 quan la primera seq¨`ncia introdu¨ perl’usuari ´s ue ıda e la seg¨ent (valor mostrat per Seq. 1): u ABCdefghij\n 2. Indiqueu el valor que pren la variable p2 quan la segona seq¨`ncia introdu¨ per l’usuari ´s la ue ıda e seg¨ent (valor mostrat per Seq. 2): u abcdefghijklmnopqrstuvwxyz\n 3. Indiqueu quins valors produeix a la sortida est`ndard l’execuci´ del programa (main) quan els a o valors introdu¨ per a les variables p1 i p2 s´nels seg¨ents: ıts o u • Cas 1: p1 p2 • Cas 2: p1 p2 ’a’ 0 ’i’ 0 ’e’ 1 ’a’ 1 2 ’i’ 2 ’u’ 2 ’o’ 3 ’e’ 3 ’u’ 4 ’o’ 4 ’\0’ 5 ’\0’ 5 ’a’ 0 ’a’ 0 ’e’ 1 ’e’ 1 ’i’ 2 ’i’ 2 ’o’ 3 ’o’ 3 ’u’ 4 ’u’ 4 ’\0’ 5 ’\0’ 5 i++)

• Cas 3: p1 p2 • Cas 4: p1 p2 • Cas 5: p1 p2 • Cas 6: p1 p2 ’a’ 0 ’u’ 0 ’a’ 1 ’a’ 1 ’i’ 2 ’u’ 2 ’u’ 3 ’a’ 3 ’u’ 4 ’i’ 4 ’\0’ 5 ’\0’ 5 ’a’ 0 ’u’ 0 ’e’ 1 ’o’ 1 ’i’ 2 ’i’ 2 ’o’ 3 ’e’ 3 ’u’ 4 ’a’4 ’\0’ 5 ’\0’ 5 ’e’ 0 ’a’ 0 ’i’ 1 ’e’ 1 ’o’ 2 ’i’ 2 ’o’ 3 ’u’ 4 ’u’ 4 ’\0’ 5 ’a’ 5 ’\0’ 6 ’a’ 0 ’e’ 0 ’e’ 1 ’i’ 1 ’i’ 2 ’o’ 2 ’o’ 3 ’u’ 3 ’u’ 4 ’u’ 4 ’\0’ 5 ’\0’ 5

’u’ 3

Soluci´: o 1. Seq 1: 2. Seq 2: 3. defghij abcdefghijklmnopqrst

• Cas1: SI • Cas 2: SI • Cas 3: NO • Cas 4: NO • Cas 5: SI • Cas 6: SI

Problema 2 (3,5 punts) Dissenyeu i implementeu en ANSI C++ i utilitzant la t`cnicade disseny descendent, una accio e que anomenareu transformar que tindr` un par`metre d’entrada/sortida: a a • m: Una taula bidimensional de dimessi´ N ×N (´ o ındexos 0 . . . (N −1) per a les files i les columnes, sent N una constant predefinida) que cont´ valors enters. e i dos par`metres d’entrada: a • col1: Un ´ ındex de columna en el rang 0 . . . (N − 1). • col2: Un ´ ındex de columna en elrang 0 . . . (N − 1). I modificar` (transformar`) els valors emmagatzemats en la taula m de la forma seg¨ent: a a u 3

• Els valors emmagatzemats en la columna col1 seran copiats en sentit invers en la columna col2 i els valors emmagatzemats en la columna col2 seran copiats en sentit invers en la ´ columna col1. Es a dir, el primer valor en cada columna s’origen passa a ser l´ltim valor en la ucorresponent columna de dest´ el segon valor en cada columna passa a ser l’antepen´ltim valor ı, u en la corresponent columna de dest´ i aix´ successivament amb les sucessives posicions. ı, ı • La resta de valors de la taula m seran fixats al m´ ınim valor de la taula, ´s a dir, els valors e emmagatzemats en columnes diferents a col1 i col2 seran substitu¨ pel m´ ıts ınim valor en la taula....
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Inginieria
  • inginieria
  • Inginieria economica
  • Inginieria En Computacion
  • inginieria
  • inginieria
  • Inginieria
  • Inginieria

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS