[ Foro de C++ ]

tengo un deber que no le entiendo

31-Mar-2020 08:53
martha estevez
2 Respuestas

Rellenar la matriz, esta debe ser de tamaño impar (ejemplo 5 *5), con ceros, y luego en la mitad de dicha matriz, tanto en filas y columnas rellenar de 1 formando una cruz.


31-Mar-2020 11:33
Nacho Cabanes (+84)

¿No es básicamente la misma pregunta que has hecho hace un rato?


12-Apr-2020 01:50
Invitado (kotaro_sama)

#include <iostream>
#include <conio.h>
using namespace std;
int main(){
//declaracion de variables
int mitad=0,fila=0,columna=0,i,j;

//filtro de datos de entrada impide que entren datos de columnas o filas pares como a su vez no permite que sean distintas
do{
cout<<"\nindique el numero de filas y de columnas de la matriz"<<endl;
cout<<"filas:"; cin>>fila;
cout<<"columnas:"; cin>>columna;
    if ((fila!=columna) or fila%2==0 or columna%2==0){
    cout<<"\nlos datos de filas y columnas deben de ser impares e iguales"<<endl;
    }
} while((fila!=columna) or (fila%2==0) or (columna%2==0));

int matriz[fila][columna]; //declaracion de la matriz

//rellenando toda la matriz con ceros
for (i=0;i<fila;i++){
for (j=0;j<columna;j++){
matriz[i][j]=0;
}
}
// determinando la mitad de filas y columnas
mitad=fila/2; //tambien podriamos usar las columnas ya que son iguales, al ser fila un numero impar el resultado sera un numero con decimales pero mitad es una variable int entonces ignorara los decimales
//formando la cruz
for (i=0;i<fila;i++){
       matriz[i][mitad]=1; //vertical de la cruz
       matriz[mitad][i]=1; //horizontal de la cruz
}

for (i=0;i<fila;i++){
for (j=0;j<columna;j++){
cout<<" "<<matriz[i][j];
}
cout<<"\n";
}

getch();
return 0;
}






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)