Dev - C++ - Arreglo 1s y 0s en c++

 
Vista:
sin imagen de perfil
Val: 21
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Arreglo 1s y 0s en c++

Publicado por Andy (12 intervenciones) el 08/03/2020 03:57:29
Pedir 1 numero N donde N es el tamaño de un arreglo cuadrado

Si N es par llenar de 1s todos los contornos del arreglo y de 0s los elementos del centro

Ejemplo N=6

1 1 1 1 1 1

1 0 0 0 0 1

1 0 0 0 0 1

1 0 0 0 0 1

1 0 0 0 0 1

1 1 1 1 1 1

Si N es impar llenar de 0’s el contorno y el elemento central y de 1s el centro del arreglo

Ejemplo N=7

0 0 0 0 0 0 0

0 1 1 1 1 1 0

0 1 1 1 1 1 0

0 1 1 0 1 1 0

0 1 1 1 1 1 0

0 1 1 1 1 1 0

0 0 0 0 0 0 0


Mi intento:
******************************************************************************

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
#include <iostream>
 
using namespace std;
 
int main()
{
    int ren, col, n, res=0;
 
    cout<<"Dame un número: ";
    cin>>n;
    int arreglo[n][n];
    res=n%2;
 
    for (ren=0; ren<n; ren++)
    {
        for (col=0; col<n; col++)
        {
            if (res==0)
            {
                if (ren==0 || col==0 || ren==n || col==n)
                    arreglo[ren][col]=1;
                else
                    arreglo[ren][col]=0;
                    cout<<arreglo[ren][col]<<"  ";
            }
            else
            {
                if (ren==0 || col==0 || ren==n || col==n)
                    arreglo[ren][col]=0;
                else
                    arreglo[ren][col]=1;
                    cout<<arreglo[ren][col]<<"  ";
            }
        }
        cout<<"-"<<endl;
    }
 
    return 0;
}


******************************************************************************
Todavía no acabo, como pueden ver... pero es que no me lee la parte de "ren==n", "col==n" y así, y no entiendo porque. Soy bastante principiante en esto, si pudiera recibir su ayuda lo agradecería mucho.
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
Imágen de perfil de Rodrigo
Val: 1.755
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Arreglo 1s y 0s en c++

Publicado por Rodrigo (539 intervenciones) el 08/03/2020 04:34:49
Las condiciones del for dicen ren < n. y col < n
ren (o col) nunca van a llegar a n y esta bien que sea asi y esta mal comparar contra n mas tarde.
Deberias comparar contra n-1

Por otro lado, las instrucciones parecen ser las mismas, excepto por el numero que asignas, el que se puede asociar al resultado que tienes guardado en la variable res. Podrias usar el valor que tienes en res para la asignacion y evitas el if( res == 0 ) de mas afuera.
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
Val: 21
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Arreglo 1s y 0s en c++

Publicado por Andy (12 intervenciones) el 08/03/2020 04:44:44
Ohh, ya intenté con n-1 y ya funcionó bien. Lo único sería en el segundo if, en el que la condición es sí es impar, como pongo el 0 en el centro? Tendría que poner otro if para ello o algo así?
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
Val: 21
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Arreglo 1s y 0s en c++

Publicado por Andy (12 intervenciones) el 08/03/2020 22:38:17
Perdón por la molestia nuevamente, pero sigo un poco confundida con la parte del 0 en el centro, en el caso del número impar... estaba pensando en poner algo así como:

1
2
if (ren==col)
   arreglo[ren][col]=0;


Pero honestamente ya me di cuenta que no está bien, como podría colocarlo en vez?
Alguien que me pueda ayudar por favor?
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 Rodrigo
Val: 1.755
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Arreglo 1s y 0s en c++

Publicado por Rodrigo (539 intervenciones) el 08/03/2020 23:22:37
Calcula los indices del elemento al centro del arreglo y asigna el valor incondicionalmente
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
Val: 21
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Arreglo 1s y 0s en c++

Publicado por Andy (12 intervenciones) el 09/03/2020 02:13:41
Ya vi como, gracias :)
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