Matlab - Ubicar a un grupo de personas en un vector de 50 posiciones

 
Vista:

Ubicar a un grupo de personas en un vector de 50 posiciones

Publicado por Lorena (8 intervenciones) el 12/11/2017 00:41:29
Hola necesito resolver este problema en matlab:

Hay una fila de sillas representada con un vector de 50 posiciones, necesitamos ubicar a un grupo de personas que desean sentarse una al lado de la otra en lugares consecutivos, teniendo en cuenta que las siguientes sillas estan ocupadas: silla 8,15,16,17, de la 23 a la 28, 34, y las ultimas 5.
Que informe si hay espacio o que no hay espacio si no podemos sentar al grupo en lugares consecutivos.

Muchas gracias!!
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

Ubicar a un grupo de personas en un vector de 50 posiciones

Publicado por Lorena (8 intervenciones) el 14/11/2017 20:42:59
Ninguno, intente intente pero no puedo resolverlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ubicar a un grupo de personas en un vector de 50 posiciones

Publicado por Álvaro (32 intervenciones) el 17/11/2017 10:55:15
Yo crearía un vector de ceros
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
sillas= zeros(1,50);
 
%Sillas ocupadas:
sillas(8)=1;
 
for ii=15:17
sillas(ii)=1;
end
 
for ii=23:28
sillas(ii)=1;
end
 
sillas(34)=1;
 
for ii=46:50
sillas(ii)=1;
end
 
%Introducir grupo de personas
grupo=4; %Por ejemplo un grupo de 4 personas
 
%Buscar sitios ocupados y libres
ocupadas=find(sillas); %devuelve las posiciones que tienen un 1
libres=find(~sillas); %devuelve las posiciones que tienen un cero

No sé si necesitas todas las formas posibles que tienes de sentar a 4 personas (por seguir el ejemplo) consecutivamente, pero eso se podría hacer con variaciones.
Si solamente necesitas sentar al grupo de 4 y da igual dónde, solamente que sea de manera consecutiva, podrías crear un vector de ceros para la variable 'grupo' que sean 4 ceros y extraer vectores de 4 posiciones del vector 'sillas' para comparar que todas sus posiciones sean cero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JESUS DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Ubicar a un grupo de personas en un vector de 50 posiciones

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 18/11/2017 16:58:31
1
2
3
4
5
6
7
8
9
10
11
grupo=input('Ingrese cuántas personas tiene el grupo');
x=zeros(1,50);
x([8,15,16,17,23:28,34,46:50])=1;
i = find(diff(x)) ;
n = [i numel(x)] - [0 i];
n=n(1:2:numel(n));
if grupo>max(n)
    disp('No hay espacio')
else
    disp('Sí hay espacio')
end
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

Ubicar a un grupo de personas en un vector de 50 posiciones

Publicado por Lorena (8 intervenciones) el 18/11/2017 17:01:10
Michisimass graciass!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar