Description Submission Edit Submission view Punteros: Tarea 1. Cambiar elemento de matriz Avaliable from: Thursday, 26 August 2021, 3:49 AM Due date: Tuesday, 14 September 2021, 2:00 PM Requested files: punterost3.c (Download) Type of work: Individual work Realizar un programa que permita cambiar el elemento de una matriz dada por otro valor. El programa debe realizar lo siguiente: 1. La matriz que se va a utilizar ya debe estar definida en el código, sus valores son: 1 2 3 matriz 5 3 7 7 0 3 2. El usuario debe ingresar el valor que va a ser buscado en la matriz, y posteriormente el valor por el cual va a reemplazar a dicho elemento. Si el elemento que se va a buscar no se encuentra en la matriz el programa debe notificarlo, para realizar esta verificación se debe implementar la función booleana verificarElemento(). 3. Considerando la matriz y los dos valores ingresados se debe emplear la funcion cambiarElemento() para realizar el respectivo cambio. 4. Como resultado se debe mostrar primero la matriz original y después la matriz con el elemento cambiado. Para ambos procesos es necesario utilizar la función imprimir(). El encabezado de las funciones está en el código que se proporciona, recuerde que debe seguir este formato. Requested files punterost3.c 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #include <stdio.h> #include <stdbool.h> void cambiarElemento(int matriz[3][3],int *a,int *b); void imprimir(int matriz[3][3]); bool verificarElemento(int matriz[3][3],int *a); int main() { int valor1,valor2; int matriz[3][3]={{1,2,3},{5,3,7},{7,0,3}}; printf("Cambiar valores en la matriz:"); printf("\nIngrese el valor a buscar en la matriz:"); scanf("%d",&valor1); if(verificarElemento(matriz,&valor1)==true){ printf("\nIngrese el valor para reemplazar en la matriz:"); scanf("%d",&valor2); printf("Matriz Original\n"); imprimir(matriz); printf("Matriz cambiada\n"); cambiarElemento(matriz,&valor1,&valor2); imprimir(matriz); } else {printf("El elemento ingresado no se encuentra en la matriz");} return 0; } //Complete su código VPL PREVIOUS ACTIVITY Punteros: P3. Promedio de un vector NEXT ACTIVITY Prueba 1 Description Submission view Punteros: P2. Operaciones matemáticas Due date: Tuesday, 7 September 2021, 4:00 PM Requested files: punterosp2.c (Download) Type of work: Individual work Operaciones matemáticas.- Realizar un programa en C que sume, multiplique y divida dos variables de tipo flotante por medio de punteros. Para ello realizará una función que recibirá 5 variables de tipo puntero, las 2 primeras corresponderán a los valores con los cuales se realizará la operación, y las 3 siguientes guardarán los resultados de las operaciones. Entrada: 2 números flotantes Salida: 3 números flotantes correspondientes a las operaciones. Imprimir con 2 dígitos decimales. Nota: En caso de que se llegue a dar una división por 0, el resultado será 0. Requested files punterosp2.c 1 2 3 4 5 6 7 8 9 10 11 12 int main(void) { printf("Operaciones matematicas: \n"); printf("Ingrese los datos a operar: -4.56 3.6"); scanf("%f %f", &oper1,&oper2); operar(&oper1, &oper2,&res1,&res2,&res3); printf(""); return 0; } VPL PREVIOUS ACTIVITY Punteros: P1. Intercambiar valores NEXT ACTIVITY Punteros: P3. Promedio de un vector Description Submission view Punteros: P1. Intercambiar valores Due date: Tuesday, 7 September 2021, 4:00 PM Requested files: punterosp1.c (Download) Type of work: Individual work Intercambiar valores.- Realizar un programa que permita intercambiar el valor de dos números enteros. Para realizar el intercambio se debe implementar una función usando punteros. Los dos valores enteros deben ser ingresados por teclado. Entrada: 2 números enteros. Salida: 2 números enteros habiendo intercambiado su posición. Requested files punterosp1.c 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include <stdio.h> void intercambiar(int *, int *); int main(void) { } printf("Programa para intercambiar dos numeros enteros: \n"); printf("Ingrese los dos numeros: "); scanf("%d %d",&a, &b); intercambiar(&a,&b); printf("%d %d"); return 1; VPL PREVIOUS ACTIVITY Ejercicio puntero resuelto: Suma de dos números NEXT ACTIVITY Punteros: P2. Operaciones matemáticas Ejercicio estructuras resuelto: Lista de Trabajadores Ejercicio de estructuras resuelto: Lista de Trabajadores Realizar un programa que permita ingresar dos trabajadores utilizando estructuras. La estructura trabajador se compone de: nombre y id. Implementar las funciones: - Ingreso de trabajador - Visualización de trabajador Código en c //Definicion de Librerias #include <stdio.h> #include <string.h> #define LONGITUD 30//Longitud maxima para cadenas struct trabajador//Definicion de estructura de trabajador { char nombre[LONGITUD]; int id; }; struct trabajador nuevo(void); //Prototipo de funcion para ingreso de nuevo trabajador void visualizar (struct trabajador);//Prototipo de funcion visualizar trabajador void main (void)//inicio de funcion main { struct trabajador trabajador1;//definicion de trabajador1 struct trabajador trabajador2;//definicion de trabajador2 trabajador1=nuevo();//llamada a funcion nuevo trabajador2=nuevo();//llamada a funcion nuevo printf("\nLISTA DE TRABAJADORES: \n"); visualizar(trabajador1);//llamada a funcion visualizar visualizar(trabajador2);//llamada a funcion visualizar } struct trabajador nuevo(void)//definicion de funcion nuevo { struct trabajador empleado;//declaracion de variable auxiliar empleado printf("\nDatos del Trabajador. \nIntroduce el nombre: "); char nombreTemp [LONGITUD];//variable auxiliar para introducir el nombre scanf("%s", &nombreTemp);//ingreso del nombre por consola strcpy(empleado.nombre,nombreTemp);//copia de cadena nombre printf("Introduce el id: "); scanf("%d", &empleado.id);//lectura de id de empleado fflush(stdin);//liberacion del buffer de entrada return(empleado);//se retorna un empleado } void visualizar(struct trabajador empleado)//definicion de funcion de visualizacion de empleados { printf("\n");// printf("\tNombre: %s \n", empleado.nombre);//Impresion de nombre de empleado printf("\tId: %d \n", empleado.id);//Impresion de id de empleado } Last modified: Sunday, 3 July 2016, 5:31 PM PREVIOUS ACTIVITY Ejercicio estructuras resuelto: Ordenar pares ordenados NEXT ACTIVITY Ejercicio estructuras resuelto: Ordenar estudiantes Ejercicio estructuras resuelto: Ordenar pares ordenados Ejercicio de estructuras resuelto: Ordenación de pares ordenados Realizar un programa que permita ordenar un conjunto 10 de pares ordenados generados al azar, en función de su distancia respecto al origen. Código en c #include<stdio.h> #include<stdlib.h> //Requerida para el uso de la función rand #include<math.h> //Requerida par el uso de la función sqrt #include<time.h> //Requerida para el uso de la función time #define LONG_VECTOR 10 typedef struct{ //Definicion de la estructura ParOrdenado int x; int y; }ParOrdenado; void imprimirPO(ParOrdenado lista[]); //Función que imprime la lista de pares ordenados y su distancia respecto al origen void generarPO(ParOrdenado lista[]); //Genera 10 pares ordenados de forma aleatoria float distancia(ParOrdenado po); //Calcula la distancia de un PO respecto al origen void ordenarPO(ParOrdenado lista[]); //Ordena la lista de Pares Ordenados int main(){ ParOrdenado lista[LONG_VECTOR]; generarPO(lista); //Declaración del vector de Pares Ordenados //Se invoca la función para generar los Pares Ordenados printf("\n\nPares ordenados generados:\n\n"); imprimirPO(lista); //Se imprime la lista ordenarPO(lista); //Se ordena la lista printf("\n\nLista ordenada:\n\n"); imprimirPO(lista); //Se imprime la lista ordenada return 0; } void generarPO(ParOrdenado lista[]){ int i; srand(time(NULL)); ejecución //Se asigna una semilla en función de la hora actual, con esto se generan números aleatorios diferentes en cada for(i=0; i<LONG_VECTOR; i++){ } } //Se recorre la lista lista de Pares Ordenados lista[i].x = rand()%21; //Se genera números aleatorios entre 0 y 20 lista[i].y = rand()%21; //Se genera números aleatorios entre 0 y 20 void imprimirPO(ParOrdenado lista[]){ int i; for(i=0; i<LONG_VECTOR; i++){ //Se recorre la lista lista de Pares Ordenados printf("(%d, %d): %.3f\n", lista[i].x, lista[i].y, distancia(lista[i])); //Se imprime la lista lista de Pares Ordenados } } float distancia(ParOrdenado po){ return sqrt(po.x * po.x + po.y * po.y); //Se calcula la distancia respecto al origen } void ordenarPO(ParOrdenado lista[]){ int i, j; ParOrdenado aux; for(i=0; i<LONG_VECTOR-1; i++){ for(j=i+1; j<LONG_VECTOR; j++){ //Indice que referencia al número menor en cada iteración del lazo interno //Indice que recorre en búsqueda del número menor if(distancia(lista[i]) > distancia(lista[j])){ //Permite ordenar de forma ascendente en función de la dsitancia aux = lista[i]; //Se intercambian los pares ordenados lista[i] = lista[j]; lista[j] = aux; } } } } Last modified: Tuesday, 31 May 2016, 10:50 AM PREVIOUS ACTIVITY Conversiones de tipos datos NEXT ACTIVITY Ejercicio estructuras resuelto: Lista de Trabajadores Description Submission view Estructuras: T1. Competencia atlética Due date: Thursday, 9 September 2021, 11:55 PM Requested files: atletas.c (Download) Type of work: Individual work Desarrollar un programa que imprima la información de los atletas de una competencia que llegaron en los tres primeros lugares. Se debe ingresar la cantidad de atletas que participaron en la competencia (máximo 10 atletas). Cada Atleta tendrá la siguiente información: nombre: cadena de máximo 80 caracteres tiempo_inicial: int tiempo_final: int Su programa debe validar que el número de atletas sea adecuado. Observe la salida de referencia: Tip: La funcion fflush() no funciona sobre el compilador de la plataforma virtual, en su lugar use while(getchar() != '\n'); Requested files atletas.c 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include<stdio.h> //Complete aquí su código int main(){ Atleta competencia[MAX_ATLETAS]; int n; printf("Competencia atletica\n"); printf("Ingrese el numero de atletas: "); scanf("%d", &n); if(validarNumero(n) == 'n'){ printf("Numero invalido!"); return -1; } ingresarAtletas(competencia, n); ordenarAtletas(competencia, n); printf("Podio\n"); imprimirAtletas(competencia, NUMERO_PODIO); } //Complete aquí su código VPL PREVIOUS ACTIVITY Ejercicio estructuras resuelto: Estructuras Anidadas NEXT ACTIVITY Punteros Description Submission view Grade Reviewed on Friday, 27 August 2021, 11:21 PM by Automatic grade grade: 10.0 / 10.0 Assessment report[-] [+]Summary of tests Submitted on Friday, 27 August 2021, 11:21 PM (Download) matriztriangular.c 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 #include <stdio.h> #define MAXF 10 #define MAXC 10 void main(void){ int int int int Fila, Columna; c, d, i, j; matriz[MAXF][MAXC]; valor=1; printf("Identificacion de matriz triangular superior\n"); printf("Ingrese el numero de filas y columnas\n"); scanf("%d %d", &Fila, &Columna); for (i = 0 ; i < Columna - 1 ; i++) { for (j = i + 1 ; j < Columna ; j++) { if (matriz[i][j] != 0) { valor = 0; break; } } if (valor == 0) break; } if(Fila!=Columna){ printf("La matriz no es cuadrada"); return 0; } for (c = 0; c < Fila; c++) { for(d = 0; d < Columna; d++) { printf("Ingrese matriz[%d][%d]= ",c,d); scanf("%d",&matriz[c][d]); } } if (valor == 1) printf("Es matriz triangular superior\n"); else { valor = 1; for (i = 1 ; i < Columna ; i++) { for (j = 0 ; j < i ; j++) { 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 if (matriz[i][j] != 0) { valor = 0; break; } } if (valor == 0) break; } if (valor == 1) printf("Es matriz triangular superior\n"); else printf("No es matriz triangular superior\n"); } } VPL PREVIOUS ACTIVITY Tarea (matrices): suma de filas NEXT ACTIVITY Estructuras de datos Description Submission view Tarea (matrices): suma de filas Due date: Friday, 27 August 2021, 11:59 PM Requested files: matriztriangular.c (Download) Type of work: Individual work Planteamiento: Realizar un programa que reciba datos enteros en una matriz de hasta 10x10 elementos. Luego, sume los valores de cada fila y determine el número de fila cuya suma sea la menor. Por ejemplo, si se tiene la matriz: 3 5 9 4 6 1 0 1 1 9 9 9 las sumas de las 3 filas son 21, 8 y 28, respectivamente, por lo tanto, la fila 1 tiene la menor suma (considerando que la indexación empieza en 0). Datos de entrada: La dimensión de la matriz compuesta por el número de filas y número de columnas hasta un número máximo de 10. Los números enteros que compondrán la matriz. Salida: Un mensaje indicando el número de fila de la matriz con la menor suma. Ejemplo 1 de salida del programa: Suma de filas Ingrese numero de filas y columnas: 3 4 Ingrese Ingrese Ingrese Ingrese Ingrese Ingrese Ingrese Ingrese Ingrese Ingrese Ingrese Ingrese matriz[0][0]: matriz[0][1]: matriz[0][2]: matriz[0][3]: matriz[1][0]: matriz[1][1]: matriz[1][2]: matriz[1][3]: matriz[2][0]: matriz[2][1]: matriz[2][2]: matriz[2][3]: 3 5 9 4 6 1 0 1 1 9 9 9 Fila con menor suma: 1 VPL PREVIOUS ACTIVITY Ejercicio resuelto en video (matrices): identificación de números primos NEXT ACTIVITY Tarea (matrices): matriz triangular superior Description Submission Edit Submission view Examen 2 (Práctico) Due date: Tuesday, 14 September 2021, 3:55 PM Maximum number of files: 1 Type of work: Individual work Desarrollar un programa que almacene los datos de los pacientes de un hospital en un arreglo de estructuras. Cada estructura corresponderá a los datos de un paciente. Estos datos son: identificador nombre altura en m peso en kg indice El programa ofrecerá al usuario el siguiente menú. Este menú debe ejecutarse mientras el usuario no pulse la opción 5 de salir. 1. Ingresar paciente 2. Imprimir base de datos 3. Sobrepeso 4. Promedio de altura 5. Salir A continuación se describe cada una de las opciones. Opción 1: Ingresar paciente Permite ingresar SOLO los siguientes datos de un paciente: nombre altura en m peso en kg El dato Identificador, el programa lo obtendrá y almacenará automáticamente. El primer usuario que ingrese tendrá identificador 1, el siguiente 2, el siguiente 3, y así sucesivamente. El atributo indice, el programa lo calculará y almacenará automáticamente. El valor se calculará con la fórmula: peso/(altura2) Al terminar de ingresar el paciente, el programa regresa al menú principal. Opción 2: Imprimir base de datos Imprime toda la información de los pcientes ingresados (identificador, nombre, altura, peso, e indice). Opción 3: Sobrepeso Permite determinar si un paciente tiene sobrepeso. Al escoger esta opción, el programa pide al usuario el identificador del paciente para buscarlo en la base de datos, y, de acuerdo a su indice, le indica si el paciente tiene sobrepeso (tiene sobrepeso con un indice mayor o igual a 25). Opción 4: Promedio Obtiene el promedio de la altura de todos los pacientes ingresados. Opción 5: Salir Termina el programa Opcional: Crear las siguientes funciones función para ingresar paciente función para imprimir la información de todos los pacientes función para verificar si un paciente tiene sobrepeso función para obtener el promedio de la altura de los pacientes VPL