Alguien podría decirme como se puede hacer este codigo por medio de un solo for en C++
#include<stdio.h> #include <stdlib.h> #include <time.h>
#define N 10
int Factorial(int number){ int fact = 1; int i; if(number > 0){ for(i = number; i > 0; i--) fact *= i; } else if(number == 0){ fact = 1; } else{ fact = 0; } return fact; }
int main(){
int Matrix[N+1][N+1]; int Aux; srand (time(NULL));
for(int i = 0; i < N*N; i++) //printf("(%d, %d)\n",i/N, i%N); Matrix[i/N][i%N] = rand() % 100;
for(int i = 0; i < N*N; i++) { if(i%N == 0) Aux = -100000; if(Matrix[i/N][i%N] > Aux) Aux = Matrix[i/N][i%N]; if(i%N == (N-1)) Matrix[i/N][N] = Aux; }
for(int i = 0; i < N*N; i++){ if(i%N == 0) Aux = -100000; if(Matrix[i%N][i/N] > Aux) Aux = Matrix[i%N][i/N]; if(i%N == (N-1)) Matrix[N][i/N] = Aux; } Aux = -100000; for(int i = 0; i < N; i++){ if(Matrix > Aux) Aux = Matrix; } Matrix[N][N] = Aux;
for(int i = 0; i < (N+1)*(N+1); i++){ if(i%(N+1) == 0) printf("\n"); printf("%d ", Matrix[i/(N+1)][i%(N+1)]); }
/*for(int i = 0; i < N+1; i++){ printf("\n"); for(int j = 0; j < N+1; j++) printf("%d ", Matrix[j]); }*/ printf("\n"); /*
for(int i = 0; i < N; i++){ Matrix[N] = Factorial(Matrix[N]); Matrix[N] = Factorial(Matrix[N]); }
Matrix[N][N] = Factorial(Matrix[N][N]);
*/
return 0; }
|