Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1)
- #include<stdio.h>
- #define MAX 10
- int main (void) {
- int matriz[MAX][MAX];//matriz inicial.
- int matriz_rotada[MAX][MAX];//matriz rotada.
- int m,n;// m filas, n columnas.
- long long int angulo,rotaciones;//angulo leido y candidad de veces a rotar la matriz(angulo/90).
- int i,j,k;//controladores.
- int aux;
- scanf("%d %d",&m,&n);//lectura de filas y columnas.
- scanf("%lld",&angulo);//lectura del angulo en el que debemos rotar.
- if(angulo%90==0){// solo si el angulo es multiplo de 90 entra a las intrucciones.
- //-----CICLO DE LECTURA DE LA MATRIZ-------
- for(i=0;i<m;i++){
- for(j=0;j<n;j++){
- scanf("%d",&matriz[i][j]);
- }
- }
- if(angulo == 0){// si el angulo es 0 no debemos rotar la matriz por lo tanto la imprimimos
- for(i=0;i<m;i++){
- for(j=0;j<n;j++){
- printf("%d ",matriz[i][j]);
- }
- printf("\n");// este salto de linea se realiza al finalizar la impresion de cada fila.
- }
- }
- else{
- rotaciones=angulo/90;// veces que se debe rotar la matriz.
- for(k=0;k<rotaciones;k++){// ciclo que controla las rotaciones de la matriz.
- for(i=0;i<m;i++){ // ciclo que permite rotar la matriz en 90°.
- for(j=0;j<n;j++){
- matriz_rotada[j][i]=matriz[i][n-1-j];
- }
- }
- //--------- se realiza un intercambio entre n y m-----------
- aux = n;
- n = m;
- m = aux;
- for(i=0;i<m;i++){ // este ciclo permite actualizar la matriz inicial con la matriz rotada.
- for(j=0;j<n;j++){
- matriz[i][j]=matriz_rotada[i][j];
- }
- }
- }
- for(i=0;i<m;i++){// finalmente este ciclo nos permitira imprimir la matriz ya rotada en la cantidad de veces que indica el angulo.
- for(j=0;j<n;j++){
- printf("%d ",matriz_rotada[i][j]);
- }
- printf("\n");// cada vez que se termina de imprimir la fila hace un salto de linea para seguir imprimiendo en la fila siguiente.
- }
- }
- }
- else{// esto se imprimira si el angulo no es un multiplo de 90
- printf("Angulo no valido");
- }
- return 0;
- }
- 2)
- /*
- Nombre: Lucas Alarcon
- Fecha: 05-09-2017
- Nombre programa: Pares de enteros K-interesantes
- Proposito: imprime la cantidad de pares k-interesantas de un intervalo
- */
- #include<math.h>
- #include<stdio.h>
- #include <stdlib.h>
- unsigned binario (unsigned long num,unsigned long num2){ //funcion para pasar el numero a binario
- int i,j,cont,k;
- unsigned vector[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
- unsigned vector2[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
- i=15;
- while(num != 0)
- { // este ciclo pasa el primer numero a binario
- vector[i] = num % 2;
- num = (num) / 2;
- i--;
- }
- j=15;
- while(num2 != 0)
- { // este ciclo que pasa el segundo numero a binario
- vector2[j] = num2 % 2;
- num2 = (num2) / 2;
- j--;
- }
- cont=0;
- for(k=15;k>=0;k--)
- { //este ciclo cuenta la cantidad de digitos diferentes que tienen 2 numeros en binario
- if (vector[k] != vector2[k]){
- cont++;
- }
- }
- return cont;
- }
- int main ()
- {
- unsigned cont,i,x,j,n,k;
- unsigned long vector[101];
- unsigned long valor;
- scanf("%u %u",&n,&k); // se lee la cantidad de numeros que iran en el vector y la diferencia de bits
- for(i=0;i<n;i++) // este ciclo lee los n numeros a comprobar
- {
- scanf("%lu",&valor);
- vector[i] = valor;
- }
- cont=0;
- for (j=0;j<n-1;j++){ // este ciclo compara los numeros
- for(x=j+1;x<n;x++)
- {
- if(binario(vector[j],vector[x]) == k) // si la diferecia devuelta por la funcion es igual a k el contador aumenta
- {
- cont++;
- }
- }
- }
- printf("%u",cont); // imprime el total de conjuntos que cumplen con la diferencia k
- return 0;
- }
- 3)
- /*
- Nombre: Lucas Alarcon
- Fecha: 05-09-2017
- Nombre programa: Juegos de azar
- Proposito: determina si pablo o matias gana el juego
- */
- #include <stdio.h>
- #define MAX 100
- int main ()
- {
- int vector[MAX];
- int n,i,aux,mayor,menor,neutro; //n = cantidad de numeros que tendrá la secuencia... i = variable de control de ciclo, servirá de indice para recorrer el vector.
- aux = 0; //Tomara el valor del indice del elemento mas grande de la secuencia de manera temporal.
- mayor = 0;
- menor = 0;
- neutro = 0; //Pivote que nos ayudará a movernos en el eje entre (-) y (+)
- scanf("%d",&n); //lee la cantidad de numeros de la secuencia
- for ( i = 0 ; i < n ; i++ ) // ciclo que lee los numeros de la secuencia
- {
- scanf("%d",&vector[i]);
- }
- i = 1;
- vector[n] = -250;
- while (i <= n ){ //ciclo que verifica la secuencia
- if (vector[i] >= vector[i-1]){
- aux = i;
- neutro++;
- }
- else{
- if (neutro >= menor){
- menor = neutro;
- mayor = aux;
- }
- neutro = 0;
- }
- i++;
- }
- //ciclo que verifica si pablo o matias gano
- if (menor != 0)
- {
- printf("PABLO\n");
- for (i=(mayor - menor);i<=mayor;i++) // se muestra la subsecuencia con mayor indice
- {
- printf("%d ",vector[i]);
- }
- }
- else
- {
- printf("MATIAS");
- }
- return 0;
- }
- 4)
- /*
- Nombre: Lucas Alarcon
- Fecha: 05-09-2017
- Nombre programa: Juegos de azar
- Proposito: determina si pablo o matias gana el juego
- */
- #include <stdio.h>
- #define MAX 100
- int main ()
- {
- int vector[MAX];
- int n,i,aux,mayor,menor,neutro; //n = cantidad de numeros que tendrá la secuencia... i = variable de control de ciclo, servirá de indice para recorrer el vector.
- aux = 0; //Tomara el valor del indice del elemento mas grande de la secuencia de manera temporal.
- mayor = 0;
- menor = 0;
- neutro = 0; //Pivote que nos ayudará a movernos en el eje entre (-) y (+)
- scanf("%d",&n); //lee la cantidad de numeros de la secuencia
- for ( i = 0 ; i < n ; i++ ) // ciclo que lee los numeros de la secuencia
- {
- scanf("%d",&vector[i]);
- }
- i = 1;
- vector[n] = -250;
- while (i <= n ){ //ciclo que verifica la secuencia
- if (vector[i] >= vector[i-1]){
- aux = i;
- neutro++;
- }
- else{
- if (neutro >= menor){
- menor = neutro;
- mayor = aux;
- }
- neutro = 0;
- }
- i++;
- }
- //ciclo que verifica si pablo o matias gano
- if (menor != 0)
- {
- printf("PABLO\n");
- for (i=(mayor - menor);i<=mayor;i++) // se muestra la subsecuencia con mayor indice
- {
- printf("%d ",vector[i]);
- }
- }
- else
- {
- printf("MATIAS");
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment