问题描述
我是 C 的初学者,我想编写一个程序,通过用户提供的标量输入来计算随机矩阵。我认为要么我应该更改 emmeans(mod,pairwise~runway.temP*source*rearing.temp)
的第二部分和整个 String renderTemplate(Map binding,String template) {
return new groovy.text.SimpleTemplateEngine().createTemplate(template).make(binding).toString()
}
def binding = [
dockerBuild: {
true
},version: 'v1',kind: 'Pod',labels:[
type: 'ephemeral-jenkins-agent',pipeline: 'generic_pipeline'
]
]
def template = '''\
apiVersion: ${version}
kind: <%= kind %>
Metadata:
labels:
<% for(label in labels){ %>\
${label.key}: ${label.value}
<% } %>\
spec:
containers:
- name: alpine
image: alpine:3.12.3
command:
- cat
tty: true
<% if( dockerBuild() ){ %>\
- name: docker
image: docker:18.05-dind
securityContext:
privileged: true
volumeMounts:
- name: dind-storage
mountPath: /var/lib/docker
<% } %>\
<% if( dockerBuild() ){ %>\
volumes:
- name: dind-storage
emptyDir: {}
<% } else { %>\
volumes: {}
<% } %>\
'''
println renderTemplate(binding,template)
,或者只是重写 scalar()
以使 print()
轻松通过。我的错误在 matrix()
中,在 int
循环中。我的第一个函数创建、随机化并打印出 4x3 矩阵。我的第二个函数应该从用户那里获取数字并将其乘以矩阵并打印出来。
scalar()
输出:
for
解决方法
初始化和更新矩阵元素的语句不正确:您使用 matrix[ROW][COLUMN]
而不是 matrix[i][j]
这是修改后的版本:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ROWS 4
#define COLUMNS 3
int matrix[ROWS][COLUMNS];
void creatematrix(void) {
int i,j;
srand(time(0));
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLUMNS; j++) {
matrix[i][j] = rand() % 22 - 11;
}
}
}
void scalar(void) {
int scalar,i,j;
printf("Wprowadz dowolny numer do mnozenia macierzy: ");
if (scanf("%d",&scalar) != 1)
return;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLUMNS; j++) {
matrix[i][j] *= scalar;
}
}
}
void print(void) {
int i,j;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLUMNS; j++) {
printf("%d ",matrix[i][j]);
}
printf("\n");
}
printf("\n");
}
int main() {
creatematrix();
print();
scalar();
print();
return 0;
}