Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /////////////////////// EXA 2 ///////////////////////////////
- #include "stdafx.h"
- #include <stdlib.h>
- #define TAM_MAX 5
- #define TAM_ABC 26
- void generarA(char a[], int &tam);
- int contar(char a[], int f[], int tam);
- void inicializar_F(int f[]);
- void generarC(char c[], char a[], int tam, int pos);
- int main()
- {
- int TAM, F[TAM_ABC], i;
- char A[TAM_MAX], C[TAM_MAX];
- int letra;
- generarA(A, TAM);
- puts(A);
- inicializar_F(F);
- letra = contar(A, F, TAM);
- /***********/
- for (i = 0;i<TAM_ABC;i++)
- printf("%c ", i+65);
- printf("\n");
- /********/
- for (i = 0;i<TAM_ABC;i++)
- printf("%d ", F[i]);
- printf("\n");
- /********/
- generarC(C, A, TAM, letra);
- return 0;
- }
- void generarA(char a[], int &tam)
- {
- int i;
- tam = 12;//rand()%TAM_MAX;
- for (i = 0; i<tam; i++)
- a[i] = rand() % (90 - 65 + 1) + 65;
- a[i] = '\0';
- }
- void inicializar_F(int f[])
- {
- int i;
- for (i = 0;i<TAM_ABC;i++)
- f[i] = 0;
- }
- int contar(char a[], int f[], int tam)
- {
- int i, mayor;
- for (i = 0;i<tam;i++)
- {
- switch (a[i])
- {
- case 'A': f[0] = f[0] + 1; break;
- case 'B': f[1] = f[1] + 1; break;
- case 'C': f[2] = f[2] + 1; break;
- case 'D': f[3] = f[3] + 1; break;
- case 'E': f[4] = f[4] + 1; break;
- case 'F': f[5] = f[5] + 1; break;
- case 'G': f[6] = f[6] + 1; break;
- case 'H': f[7] = f[7] + 1; break;
- case 'I': f[8] = f[8] + 1; break;
- case 'J': f[9] = f[9] + 1; break;
- case 'K': f[10] = f[10] + 1; break;
- case 'L': f[11] = f[11] + 1; break;
- case 'M': f[12] = f[12] + 1; break;
- case 'N': f[13] = f[13] + 1; break;
- case 'O': f[14] = f[14] + 1; break;
- case 'P': f[15] = f[15] + 1; break;
- case 'Q': f[16] = f[16] + 1; break;
- case 'R': f[17] = f[17] + 1; break;
- case 'S': f[18] = f[18] + 1; break;
- case 'T': f[19] = f[19] + 1; break;
- case 'U': f[20] = f[20] + 1; break;
- case 'V': f[21] = f[21] + 1; break;
- case 'W': f[22] = f[22] + 1; break;
- case 'X': f[23] = f[23] + 1; break;
- case 'Y': f[24] = f[24] + 1; break;
- case 'Z': f[25] = f[25] + 1; break;
- }
- }
- mayor = f[0];
- for (i = 0;i<TAM_ABC;i++)
- if (f[i]>mayor)
- mayor = i;
- return mayor;
- }
- void generarC(char c[], char a[], int tam, int pos)
- {
- int i=0, j=0;
- for (i = 0,j=0;i<tam;i++,j++)
- {
- c[i] = a[j];
- if (c[i] == char(pos + 65))
- c[i] = a[++j];
- }
- c[i] = '\0';
- printf("\n%c\n\n", pos+65);
- puts(c);
- }
- ///////////////////////////////////////////////////////////////
- // Matriz A[M][N]
- //
- #include "stdafx.h"
- #include <stdlib.h>
- #include <stdio.h>
- #define M 4 // renglones
- #define N 3 // columnas
- int main()
- {
- int x, i=0, j=0; // rango aleatorio definido por 0 a x-1; j, i contadores
- int max=0;
- int A[M][N]; // arreglo a llenar con valores aleatorios
- int B[M]; // arreglo para almacenar maximos de los renglones
- bool desorden;
- printf("\nIngresa X(valor max. aleatorio): ");
- scanf("%d", &x);
- ////////////////////// Llenado de Matriz /////////////////////////
- for(i=0;i<M;i++) // llenado de la matriz aleatoriamente
- for(j=0;j<N;j++)
- A[i][j]=rand()%x;
- printf("\n Matriz generada\n\n");
- printf(" ");
- for(i=0;i<M;i++)
- {
- for(j=0;j<N;j++)
- printf("\t%d ", A[i][j]);
- printf("\n ");
- }
- printf("\n");
- ////////////////////////////////////////////////////////////////////
- /////////////////// Maximos ////////////////////
- printf("\n Los maximos de cada renglon son:\n\n");
- for(i=0;i<M;i++)
- {
- for(j=0;j<N;j++)
- {
- if(max<A[i][j])
- max=A[i][j];
- }
- B[i]=max;
- max=0;
- }
- for(i=0;i<M;i++)
- printf(" \t%d\n", B[i]);
- //////////////////////////////////////////////////
- //////////////// ordenado de maximos ///////////////
- printf("\n Arreglo ordenado\n\n");
- for(i=1; i<M; i++)
- {
- for(j=0; j<M-i; j++)
- {
- if(B[j]>B[j+1])
- {
- max = B[j+1];
- B[j+1] = B[j];
- B[j] = max;
- }
- }
- }
- for(i=0;i<M;i++)
- printf(" %d\n", B[i]);
- /////////////////////////////////////////////////
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment