Uploaded by Ginno Taimal

ilovepdf merged (6)

advertisement
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



Download