C# Matriz de N x M elementos aleatorios comprendidos entre 1 y 100, almacenar pares, impares y primos en vectores. Imprimir todos los vectores y la matriz
using System;
namespace segundo
{
class Program
{
public static void Main(string[] args)
{
int npar=0,nimpar=0,nprim=0,co=0 ;
Random obj=new Random();
Console.WriteLine("Cuantas filas tendra la Matriz:");
int filas=int.Parse(Console.ReadLine());
Console.WriteLine("Cuantas columnas tendra la Matriz:");
int colum=int.Parse(Console.ReadLine());
int [,]matriz=new int[filas,colum];
//llenando la matriz de numeros aleatorios entre 0 y 100
for(int i=0;i<matriz.GetLength(0);i++){//apertura for1
for(int j=0;j<matriz.GetLength(1);j++){//apertura for interno
matriz[i,j]=obj.Next(1,10); //asignado valores aleatorios entre 1 y 100
if(matriz[i,j]%2==0){npar+=1; }//para saber exactamente cuantos pares son
else{nimpar+=1; //para saber exactamente cuantos impares hay
for(int k=1;k <= matriz[i,j];k++){//for interno para los numero primos
if(matriz[i,j]% k==0){co+=1;}
}//cierre for interno primos
if(co==2 ){nprim+=1;}//si se cumple quieres decir numero divisble en 1 y el mismo
}//cierre de else para impares
co=0;//asgingando cero para que no exista conflictos en la proxima iteracion
}//cierre for interno
}//cierre for1
//declaramos nuestros vectores
int []pares=new int[npar];
int []impar=new int[nimpar];
int []primos=new int[nprim];
int pa=0, inp=0, pri=0;//indices para nuestros vectores
//impresion de la matriz y gardando los valores correspondientes a cada vector
Console.WriteLine("Impresion de la matriz");
for (int i=0;i<matriz.GetLength(0);i++){
for(int j=0;j<matriz.GetLength(1);j++){
if(matriz[i,j] % 2==0){//guardado en vector los numeros pares
pares[pa]=matriz[i,j];
pa+=1;
}else{
impar[inp]=matriz[i,j];//guardando en vector los numeros impares
inp+=1;//aumentando indice para que luego guarde en la siguiente posicion
for(int k=1;k <= matriz[i,j];k++){//para guardar los primos
if(matriz[i,j]% k==0){co+=1;}
}//cierre for interno
if(co==2 ){primos[pri]=matriz[i,j];
pri+=1;
}//lo guardamos en el vector
} //cierre else
Console.Write(matriz[i,j]);
if(j+1==(matriz.GetLength(1))){Console.WriteLine();}else{Console.Write(",");}/*impresion de la coma y salto de linea*/
co=0;
}
}//cirre de la impresion de la matriz
//impresion vector pares
Console.WriteLine("Impriendo vector de numeros pares");
for (int i = 0; i < pares.GetLength(0); i++) {
Console.WriteLine(pares[i]);
}
//impresion vector impares
Console.WriteLine("Impriendo vector de numeros impares");
for (int i = 0; i <impar.GetLength(0); i++) {
Console.WriteLine(impar[i]);
}
//impresion vector primos
Console.WriteLine("Impriendo vector de numeros primos");
for (int i = 0; i <primos.GetLength(0); i++) {
Console.WriteLine(primos[i]);
}
Console.Write("Numeros pares {0}, impares {1}, primos {2} ",npar, nimpar, nprim);
Console.ReadKey(true);
}
}
}