Dev - C++ - AYUDA Numeros primos y compuestos

 
Vista:
sin imagen de perfil
Val: 10
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

AYUDA Numeros primos y compuestos

Publicado por Randall (4 intervenciones) el 24/09/2018 02:55:13
Necesito ayuda en este ejercicio: "Se pide ingresar a un arreglo lineal N numeros enteros mayores de 3 cifras, se pide almacenar en otro arreglo lineal llamado alfa los numeros primos y en otro arreglo llamado beta los NO primos.Luego se pide mostrar de manera descendente ordenado por el metodo burbuja el arreglo alfa y por el metodo de seleccion el arreglo beta. Aplique subprogramas con paso de parametros"
Tengo esto, pero al momento de ejecutar nunca almacena ningun numero.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
void datos(int xn,int xnum[]);
void evaluar(int xn,int xnum[],int xa,int xb,int xalfa[],int xbeta[]);
void burbuja(int xa,int xalfa[]);
void seleccion(int xb,int xbeta[]);
void mostrarprim(int xa,int xalfa[]);
void mostrarNOprim(int xb,int xbeta[]);
void main()
{
 int n,num[100],a=-1,b=-1,alfa[100],beta[100];
 datos(n,num);
 evaluar(n,num,a,b,alfa,beta);
 burbuja(a,alfa);
 seleccion(b,beta);
 mostrarprim(a,alfa);
 mostrarNOprim(b,beta);
 getch();
}
void datos(int xn,int xnum[])
{
 int z;
 cout<<"Ingrese el tamaño del arreglo:";cin>>xn;
 for(int i=0;i<xn;i++)
 {
  cout<<"Escriba el numero "<<(i+1)<<": ";cin>>z;
  if(z>999)
   xnum[i]=z;
  else
   i--;
 }
}
void evaluar(int xn,int xnum[],int xa,int xb,int xalfa[],int xbeta[])
{
 int t;
 for(int i=0;i<xn;i++)
 {
  t=0;
  for(int j=1;j<=xnum[i];j++)
  {
   if(xnum[i]%j==0)
    t++;
  }
  if(t!=2)
  {
   xb++;
   xbeta[xb]=xnum[i];
  }
  else
  {
   xa++;
   xalfa[xa]=xnum[i];
  }
 }
}
void burbuja(int xa,int xalfa[])
{
 int aux;
 if(xa!=-1)
 {
  for(int i=1;i<=xa;i++)
  {
   for(int j=0;j<=(xa-1);j++)
   {
    if(xalfa[j]<xalfa[j+1])
    {
     aux=xalfa[j];
     xalfa[j]=xalfa[j+1];
     xalfa[j+1]=aux;
    }
   }
  }
 }
}
void seleccion(int xb,int xbeta[])
{
 int aux,min;
 if(xb!=-1){
 for(int i=0;i<=xb;i++)
 {
  min=i;
  for(int j=i+1;j<=xb;j++)
  {
   if(xbeta[j]<xbeta[min])
   {
    min=j;
   }
  }
  aux=xbeta[i];
  xbeta[i]=xbeta[min];
  xbeta[min]=aux;
 }}
}
void mostrarprim(int xa,int xalfa[])
{
 if(xa==-1)
  cout<<"\n[No hay numeros primos]"<<endl;
 else
 {
 	cout<<"\nLos numeros PRIMOS en forma descendente son: ";
 	for(int i=xa;i>-1;i--)
 	{
  	 cout<<xalfa[i]<<" ";
 	}
 }
}
void mostrarNOprim(int xb,int xbeta[])
{
 if(xb==-1)
   cout<<"\n[No hay numeros compuestos]";
 else
 {
 	cout<<"\nLos numeros compuestos en forma descendente son: ";
 	for(int i=xb;i>-1;i--)
 	{
  	 cout<<xbeta[i]<<" ";
 	}
 }
}
triforce-wallpaper-300x300
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 10
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

AYUDA Numeros primos y compuestos

Publicado por Randall (4 intervenciones) el 24/09/2018 19:48:21
EDIT: ya que no se como borrar el post, simplemente escribire por aqui.
Ya logre solucionar el problema, siplemente debia poner "&" aqui:
1
datos(&n,num);
y ya luego modificar los parametros:
1
void datos(int *xn,int xnum[]);
Prueba de que funciona :D
WhatsApp-Image-2018-09-24-at-12.34.17-PM
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar