“Linux-2018-spring-main”的版本间的差异

来自SUDA-HLT
跳到导航 跳到搜索
 
(未显示另一用户的1个中间版本)
第1行: 第1行:
−
* #include <stdio.h>
+
*#include <stdio.h>
−
*
+
*
−
  * int my_matrix3(int n, int d) {
+
*int my_matrix3(int n, int d) {
−
*   int i, j, k, l;
+
* int i, j, k, l;
−
  int **_pp = (int **)malloc(sizeof(int*)*n);
+
* int **_pp = (int **)malloc(sizeof(int*)*n);
−
  _pp[0] = (int*) malloc(sizeof(int)*n*d);
+
* int *p = _pp[0] = (int*) malloc(sizeof(int)*n*d);  
−
  for (l = 1; l < n; l++) {
+
* for (l = 1; l < n; l++) {
−
  _pp[l] = &_p[l*d];
+
* _pp[l] = &_p[l*d];
−
  }
+
* }
−
  for (i = 0; i < n; i++) {
+
* for (i = 0; i < n; i++) {
−
  for (j = 0; j < d; j++) {
+
* for (j = 0; j < d; j++) {
−
  _pp[i][j] = i*j;
+
* _pp[i][j] = i*j;
−
  }
+
* }
−
  }
+
* }
−
  for (k = 0; k < n*d; ++k) {
+
* for (k = 0; k < n*d; ++k) {
−
  printf("%d ", _p[k]);
+
* printf("%d ", _p[k]);
−
  if ((k+1) % d == 0) printf("\n");
+
* if ((k+1) % d == 0) printf("\n");
−
  }
+
* }
−
  free(_p);
+
* free(_p);
−
  free(_pp);
+
* free(_pp);
−
  }
+
*}
  
 +
*int my_matrix2(int n, int d) {
 +
* int *_p = (int*) malloc(sizeof(int)*n*d);
 +
* int **_pp = (int **)malloc(sizeof(int*)*n);
 +
* int i, j, k, l;
 +
* for (l = 0; l < n; l++) {
 +
* _pp[l] = &_p[l*d];
 +
* }
 +
* for (i = 0; i < n; i++) {
 +
* for (j = 0; j < d; j++) {
 +
* _pp[i][j] = i*j;
 +
* }
 +
* }
 +
* for (k = 0; k < n*d; ++k) {
 +
* printf("%d ", _p[k]);
 +
* if ((k+1) % d == 0) printf("\n");
 +
* }
 +
* free(_p);
 +
* free(_pp);
 +
*}
 +
*
 +
*int my_matrix(int n, int d) {
 +
* int *_p = (int*) malloc(sizeof(int)*n*d);
 +
* int i, j, k;
 +
* for (i = 0; i < n; i++) {
 +
* for (j = 0; j < d; j++) {
 +
* _p[i*d+j] = i*j;
 +
* }
 +
* }
 +
* for (k = 0; k < n*d; ++k) {
 +
* printf("%d ", _p[k]);
 +
* if ((k+1) % d == 0) printf("\n");
 +
* }
 +
* free(_p);
 +
*}
  
−
int my_matrix2(int n, int d) {
+
*int main() {
−
int *_p = (int*) malloc(sizeof(int)*n*d);
+
* my_matrix(3, 4);
−
int **_pp = (int **)malloc(sizeof(int*)*n);
+
* my_matrix2(3, 4);
−
int i, j, k, l;
+
*}
−
for (l = 0; l < n; l++) {
 
−
_pp[l] = &_p[l*d];
 
−
}
 
−
for (i = 0; i < n; i++) {
 
−
for (j = 0; j < d; j++) {
 
−
_pp[i][j] = i*j;
 
−
}
 
−
}
 
−
for (k = 0; k < n*d; ++k) {
 
−
printf("%d ", _p[k]);
 
−
if ((k+1) % d == 0) printf("\n");
 
−
}
 
−
free(_p);
 
−
free(_pp);
 
−
}
 
−
 
 
−
int my_matrix(int n, int d) {
 
−
int *_p = (int*) malloc(sizeof(int)*n*d);
 
−
int i, j, k;
 
−
for (i = 0; i < n; i++) {
 
−
for (j = 0; j < d; j++) {
 
−
_p[i*d+j] = i*j;
 
−
}
 
−
}
 
−
for (k = 0; k < n*d; ++k) {
 
−
printf("%d ", _p[k]);
 
−
if ((k+1) % d == 0) printf("\n");
 
−
}
 
−
free(_p);
 
−
}
 
−
 
 
−
int main() {
 
−
my_matrix(3, 4);
 
−
my_matrix2(3, 4);
 
−
}
 

2020年5月13日 (三) 05:21的最新版本

    1. include <stdio.h>
  • int my_matrix3(int n, int d) {
  • int i, j, k, l;
  • int **_pp = (int **)malloc(sizeof(int*)*n);
  • int *p = _pp[0] = (int*) malloc(sizeof(int)*n*d);
  • for (l = 1; l < n; l++) {
  • _pp[l] = &_p[l*d];
  • }
  • for (i = 0; i < n; i++) {
  • for (j = 0; j < d; j++) {
  • _pp[i][j] = i*j;
  • }
  • }
  • for (k = 0; k < n*d; ++k) {
  • printf("%d ", _p[k]);
  • if ((k+1) % d == 0) printf("\n");
  • }
  • free(_p);
  • free(_pp);
  • }
  • int my_matrix2(int n, int d) {
  • int *_p = (int*) malloc(sizeof(int)*n*d);
  • int **_pp = (int **)malloc(sizeof(int*)*n);
  • int i, j, k, l;
  • for (l = 0; l < n; l++) {
  • _pp[l] = &_p[l*d];
  • }
  • for (i = 0; i < n; i++) {
  • for (j = 0; j < d; j++) {
  • _pp[i][j] = i*j;
  • }
  • }
  • for (k = 0; k < n*d; ++k) {
  • printf("%d ", _p[k]);
  • if ((k+1) % d == 0) printf("\n");
  • }
  • free(_p);
  • free(_pp);
  • }
  • int my_matrix(int n, int d) {
  • int *_p = (int*) malloc(sizeof(int)*n*d);
  • int i, j, k;
  • for (i = 0; i < n; i++) {
  • for (j = 0; j < d; j++) {
  • _p[i*d+j] = i*j;
  • }
  • }
  • for (k = 0; k < n*d; ++k) {
  • printf("%d ", _p[k]);
  • if ((k+1) % d == 0) printf("\n");
  • }
  • free(_p);
  • }
  • int main() {
  • my_matrix(3, 4);
  • my_matrix2(3, 4);
  • }