Taller semana 15
unknown
plain_text
2 years ago
4.5 kB
5
Indexable
/* #include <iostream> #include <conio.h> using namespace std; using namespace System; //Random void GenerayLista_Paralelos(char* arrGripe, char* arrTos, int* arrPeso, int N) { Random r; int aux; //gripe for (int i = 0; i < N; i++) { aux = r.Next(0, 2); // 0 y 1 switch (aux) { case 0: arrGripe[i] = 'N'; break; case 1: arrGripe[i] = 'S'; break; } } //tos for (int i = 0; i < N; i++) { aux = r.Next(0, 2); // 0 y 1 switch (aux) { case 0: arrTos[i] = 'N'; break; case 1: arrTos[i] = 'S'; break; } } //peso for (int i = 0; i < N; i++) { arrPeso[i] = r.Next(30, 61); } } void Imprimir(char* arrGripe, char* arrTos, int* arrPeso, int N) { cout << "Peso\t\tGripe\t\tTos\n"; for (int i = 0; i < N; i++) { cout << arrPeso[i] << "\t\t" << arrGripe[i] << "\t\t" << arrTos[i] << "\n"; } } void Porcentaje_gripe_tos(char* arrGripe, char* arrTos, int* arrPeso, int N) { int cc = 0; float porcentaje; for (int i = 0; i < N; i++) { if (arrGripe[i] == 'S' && arrTos[i] == 'S') { cc++; } } porcentaje = (cc * 100.00) / N; cout << cc << " Tuvieron gripe y tos simultaneamente\n"; cout << porcentaje << " % de alumnos tuvieron gripe y tos simultaneamente\n"; } void Promedio_pesos(char* arrGripe, char* arrTos, int* arrPeso, int N) { int cc = 0; float porcentaje; for (int i = 0; i < N; i++) { if (arrGripe[i] == 'S' || arrTos[i] == 'S') { cc++; } } porcentaje = (cc * 100.00) / N; cout << cc << " Tuvieron gripe o tos\n"; cout << porcentaje << " % de alumnos tvieron gripe o tos\n"; } void Listado_ordenado(char* arrGripe, char* arrTos, int* arrPeso, int N) { // Ordenamiento burbuja - Bubble sort int aux_peso; char aux_tos; char aux_gripe; for (int i = 0; i < N - 1; i++) { for (int j = i + 1; j < N; j++) { if (arrPeso[i] < arrPeso[j]) { aux_peso = arrPeso[i]; arrPeso[i] = arrPeso[j]; arrPeso[j] = aux_peso; aux_gripe = arrGripe[i]; arrGripe[i] = arrGripe[j]; arrGripe[j] = aux_gripe; aux_tos = arrTos[i]; arrTos[i] = arrTos[j]; arrTos[j] = aux_tos; } } } } int main() { int N; char* arrGripe; char* arrTos; int* arrPeso; do { cout << "Ingrese N: "; cin >> N; } while (!(N > 0 && N <= 20)); //N es mayor a 0 y menor o igual a 20 arrGripe = new char[N]; arrTos = new char[N]; arrPeso = new int[N]; GenerayLista_Paralelos(arrGripe,arrTos,arrPeso,N); Imprimir(arrGripe, arrTos, arrPeso, N); Porcentaje_gripe_tos(arrGripe, arrTos, arrPeso, N); Promedio_pesos(arrGripe, arrTos, arrPeso, N); Listado_ordenado(arrGripe, arrTos, arrPeso, N); Imprimir(arrGripe, arrTos, arrPeso, N); getch(); return 0; } */ #include <iostream> #include <conio.h> using namespace std; using namespace System; void generarMatriz(int** matriz, int N) { Random r; for (int j = 0; j < N; j++) { for (int i = 0; i < N; i++) { matriz[j][i] = r.Next(0, 10);//0-9 } } } void Imprimir(int** matriz, int N) { system("cls"); for (int j = 0; j < N; j++) { for (int i = 0; i < N; i++) { cout << matriz[j][i]; } cout << endl; } } void HallarPatron(int** matriz, int N,int patron) { int u, d, c,cc=0; u = patron % 10; //123 d = (patron % 100) / 10; c = patron / 100; for (int j = 0; j < N; j++) { for (int i = 0; i < N; i++) { if (i<= N-3 && matriz[j][i] == c && matriz[j][i + 1] == d && matriz[j][i + 2] == u) { Console::SetCursorPosition(i, j); Console::ForegroundColor = ConsoleColor::DarkYellow; cout<<matriz[j][i]; Console::SetCursorPosition(i+1, j); Console::ForegroundColor = ConsoleColor::DarkYellow; cout<<matriz[j][i+1]; Console::SetCursorPosition(i+2, j); Console::ForegroundColor = ConsoleColor::DarkYellow; cout<<matriz[j][i+2]; Console::ForegroundColor = ConsoleColor::White; cc++; } } } Console::SetCursorPosition(0,N); cout << "El patron " << patron << " se repite : " << cc; } int main() { int N; int patron; do { cout << "Ingrese N: "; cin >> N; } while (!(N>0 && N<=30)); //Defiendo e inicializando una matriz int** matriz = new int* [N]; for (int i = 0; i < N; i++) { matriz[i] = new int[N]; } generarMatriz(matriz, N); Imprimir(matriz, N); cout << "\nIngrese el patron numerico: "; cin >> patron; HallarPatron(matriz, N, patron); getch(); return 0; }
Editor is loading...