Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*****************************************
- * Guerra Esquivel Angel - 2173038752
- * Algoritmos y Estructuras de Datos
- * Prof. Ruslan Gabbasov
- ******************************************/
- #include <stdio.h>
- #include <stdlib.h>
- void intercambia(int *, int *);
- void bubble_sort(int *, int);
- void selection_sort(int *, int);
- int main()
- {
- int arr[] = {14, 4, 0, 5, 12, 1, 8, 2};
- int tam = sizeof(arr)/sizeof(arr[0]);
- //bubble_sort(arr, tam);
- selection_sort(arr, tam);
- for(int i=0; i<tam; ++i )
- printf("%d ", arr[i]);
- return 0;
- }
- void intercambia(int *a, int *b)
- {
- int aux;
- aux=*a;
- *a=*b;
- *b=aux;
- }
- void bubble_sort(int *a, int n)
- {
- for(int i=0; i<n-1 ; i++)
- for(int j=0; j<n-1; j++)
- if(a[j]>a[j+1])
- intercambia(&a[j], &a[j+1]);
- }
- void selection_sort(int *a, int n)
- {
- int *min;
- for(int i=0; i<n; i++)
- {
- min=&a[i];
- for(int j=i+1; j<n; j++)
- if(a[j]<*min)
- min=&a[j];
- intercambia(&a[i], min);
- }
- }
- ////////////////////////////////// Imprimir cos
- #include <stdio.h>
- #include <math.h>
- #define PI 3.14926535
- int main()
- {
- float arr1[9]={0, PI*(1.0/4.0), PI*(1.0/2.0), PI*(3.0/4.0), PI, PI*(5.0/4.0), PI*(3.0/2.0), PI*(7.0/4.0), 2.0*PI};
- float arr2[9];
- int i=0;
- for(i=0; i<9; ++i)
- arr2[i] = cos(arr1[i]);
- for(i=0; i<3; ++i)
- printf("cos(%f) = %f\n", arr1[i+2], arr2[i+2]);
- }
- ////////////////////////// Tarea arr bidi
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define N 3
- int main()
- {
- char nombre[N][15];
- char apellido[N][15];
- printf("\nIngresa datos para %d personas\n", N);
- for(int i=0; i<N; i++)
- {
- printf("\nIngresa el Nombre de la persona %d\n", i+1);
- scanf("%s", nombre[i]);
- printf("\nIngresa el Apellido de la persona %d\n", i+1);
- scanf("%s", apellido[i]);
- }
- printf("\n Numero%-4s| Nombre%-4s | Apellido \n", "","");
- for(int i=0; i<N; i++)
- {
- printf("\n %-10d| %-10s| %-10s\n", i, nombre[i], apellido[i]);
- }
- return 0;
- }
- /******************** tarea 6, matrices y punteros dobles************************/
- #include <stdio.h>
- #include <stdlib.h>
- void llenar_matriz(int **, int, int);
- void imprimir_matriz(int **, int);
- void suma_columnas(int **, int *, int);
- int main()
- {
- int **M, *vect; // M es la matriz, vect es el vector donde se guardara las sumas de las columnas
- int N, caso; // N es el tamanio de la matriz, caso es para llenar aleatoriamente o con unos en la diagonal
- printf("Ingrese el tamanio de la matriz (nxn): ");
- scanf("%d", &N);
- printf("Ingrese el tipo de llenado de la matriz\n");
- printf("(1) :Matriz identidad (2) :Aleatorio : ");
- scanf("%d", &caso);
- /*Creacion del arreglo y vector*/
- M=(int**)malloc(N*sizeof(int **));
- for(int i=0;i<N;i++)
- M[i]=(int*)malloc(N*sizeof(int*));//filas
- vect=(int *)malloc(N*sizeof(int *));
- llenar_matriz(M, N, caso);
- printf("\n\n");
- imprimir_matriz(M, N);
- suma_columnas(M, vect, N);
- for(int i=0; i<N; i++)
- {
- printf("La suma de la columna %d es %d\n", i+1, vect[i]);
- }
- for(int i=0;i<N;i++)
- free(M[i]);
- free(M);
- return 0;
- }
- void llenar_matriz(int **M, int N, int caso)
- {
- switch(caso)
- {
- case 1: // Matriz identidad, unos en la diagonal
- for (int i = 0; i < N; i++)
- {
- for (int j = 0; j < N; j++)
- M[i][j] = 0;
- M[i][i] = 1;
- }
- break;
- case 2: // Matriz aleatoria, datos entre 0 y 10
- for (int i = 0; i < N; i++)
- for (int j = 0; j < N; j++)
- M[i][j] = rand() % (10);
- break;
- default:
- printf("Opcion no reconocida\n");
- exit(11);
- }
- }
- void imprimir_matriz(int **M, int N)
- {
- for(int i=0;i<N;i++)
- {
- for(int j=0;j<N;j++)
- printf("%d\t", M[i][j]);
- printf("\n\n");
- }
- }
- void suma_columnas(int **mat, int *vect, int N)
- {
- for(int i=0; i<N; i++)
- {
- for(int j=0; j<N; j++)
- vect[i]+=mat[j][i];
- }
- }
- /****************************************************************/
- /**********************TAREA 8 *******************************/
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #define N 6
- #define ini 1
- #define fin 56
- void random_num(int *);
- int buscar_valor(int *, int );
- void imprimir_arreglo(int *);
- int main()
- {
- int num[N]={};
- random_num(num);
- imprimir_arreglo(num);
- return 0;
- }
- void random_num(int *arr)
- {
- srand(time(0));
- for(int i=0; i<N; i++)
- {
- int val=ini + rand() % (fin+1 - ini);
- if(buscar_valor(arr, val)==-1)
- arr[i]=val;
- else
- i--;
- }
- }
- int buscar_valor(int *A, int valor)
- {
- for(int i=0; i<N; i++)
- {
- if(*(A+i)==valor)
- {
- return i;
- }
- }
- return -1;
- }
- void imprimir_arreglo(int *arr)
- {
- for(int i=0; i<N; i++)
- printf("%d ", *(arr+i));
- }
- /*************************************************/
Advertisement
Add Comment
Please, Sign In to add comment