Taller semana 15
unknown
plain_text
3 years ago
4.5 kB
11
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...