teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

10

コード

2020/11/29 16:48

投稿

assa
assa

スコア35

title CHANGED
File without changes
body CHANGED
@@ -5,7 +5,7 @@
5
5
  list2も同じです。のこりは0で埋めています。listnewもすべて0で埋めています。*/
6
6
 
7
7
 
8
- int multiply(int n1,int n2,int *list1,int *list2,int *listnew){
8
+ void multiply(int n1,int n2,int *list1,int *list2,int *listnew){
9
9
  int carry=0;
10
10
  int digit1=0,digit2=0,i=0,max,j=0,t,dit;
11
11
  while(n1!=0){
@@ -40,7 +40,7 @@
40
40
          if (carry!=0){
41
41
  listnew[i+1+j]=carry;}
42
42
 
43
- j++;}}
43
+ j++;}}}
44
44
  ```
45
45
  二つの配列の掛け算です。
46
46
  digit1は二つあるうちの小さい方の数字の桁です。今回はlist1のほうが小さいです。

9

コード

2020/11/29 16:48

投稿

assa
assa

スコア35

title CHANGED
File without changes
body CHANGED
@@ -18,7 +18,7 @@
18
18
  max=digit1;
19
19
  else
20
20
  max=digit2;
21
- if (max=digit2){
21
+ if (max==digit2){
22
22
     for (;digit1>0;digit1--){
23
23
  carry=0;
24
24
  for (i=0;i<max;i++){

8

コード

2020/11/29 16:41

投稿

assa
assa

スコア35

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  ```C
2
2
  コー
3
- /*n1=123 n2=123 list1とlist2は下の桁からlist1[0]=3,list1[1]=2,list1[2]=3です。
3
+ /*n1=123 n2=123 list1とlist2は下の桁からlist1[0]=3,list1[1]=2,list1[2]=1です。
4
4
 
5
5
  list2も同じです。のこりは0で埋めています。listnewもすべて0で埋めています。*/
6
6
 

7

コード

2020/11/29 16:34

投稿

assa
assa

スコア35

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,10 @@
1
1
  ```C
2
2
  コー
3
- /*n1=123 n2=123 list1とlist2は下の桁からlist1[0]=3,list1[1]=2,list1[2]=3です。list2も同じです。のこりは0で埋めています。listnewもすべて0で埋めています。*/
3
+ /*n1=123 n2=123 list1とlist2は下の桁からlist1[0]=3,list1[1]=2,list1[2]=3です。
4
4
 
5
+ list2も同じです。のこりは0で埋めています。listnewもすべて0で埋めています。*/
5
6
 
7
+
6
8
  int multiply(int n1,int n2,int *list1,int *list2,int *listnew){
7
9
  int carry=0;
8
10
  int digit1=0,digit2=0,i=0,max,j=0,t,dit;

6

コード

2020/11/29 16:33

投稿

assa
assa

スコア35

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,8 @@
1
1
  ```C
2
2
  コー
3
+ /*n1=123 n2=123 list1とlist2は下の桁からlist1[0]=3,list1[1]=2,list1[2]=3です。list2も同じです。のこりは0で埋めています。listnewもすべて0で埋めています。*/
4
+
5
+
3
6
  int multiply(int n1,int n2,int *list1,int *list2,int *listnew){
4
7
  int carry=0;
5
8
  int digit1=0,digit2=0,i=0,max,j=0,t,dit;

5

コード

2020/11/29 16:32

投稿

assa
assa

スコア35

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,19 @@
1
1
  ```C
2
+ コー
3
+ int multiply(int n1,int n2,int *list1,int *list2,int *listnew){
2
- コー int j=0;
4
+ int carry=0;
5
+ int digit1=0,digit2=0,i=0,max,j=0,t,dit;
6
+ while(n1!=0){
7
+ n1=n1/10;
8
+ digit1++;}
9
+ while(n2!=0){
10
+ n2=n2/10;
11
+ digit2++;}
12
+ if (digit1>digit2)
13
+ max=digit1;
14
+ else
15
+ max=digit2;
16
+ if (max=digit2){
3
17
     for (;digit1>0;digit1--){
4
18
  carry=0;
5
19
  for (i=0;i<max;i++){

4

説明

2020/11/29 16:26

投稿

assa
assa

スコア35

title CHANGED
File without changes
body CHANGED
@@ -24,7 +24,7 @@
24
24
  j++;}}
25
25
  ```
26
26
  二つの配列の掛け算です。
27
- digit1は二つあるうちの小さい方の数字の桁です。
27
+ digit1は二つあるうちの小さい方の数字の桁です。今回はlist1のほうが小さいです。
28
28
  maxは大きい方の桁です。
29
29
  list1とlist2ではすでにintの整数が代入されています。
30
30
  listnewに掛け算した結果を代入したいです。

3

コード

2020/11/29 15:49

投稿

assa
assa

スコア35

title CHANGED
File without changes
body CHANGED
@@ -17,7 +17,7 @@
17
17
  else
18
18
  {listnew[i+j]=(list1[j]*list2[i]+listnew[i+j])%10;
19
19
  carry=(list1[j]*list2[i]+listnew[i+j])/10;
20
- }
20
+ }}
21
21
          if (carry!=0){
22
22
  listnew[i+1+j]=carry;}
23
23
 

2

コード

2020/11/29 15:47

投稿

assa
assa

スコア35

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,6 @@
1
1
  ```C
2
+ コー int j=0;
2
- コー for (;digit1>0;digit1--){
3
+    for (;digit1>0;digit1--){
3
4
  carry=0;
4
5
  for (i=0;i<max;i++){
5
6
 

1

文字

2020/11/29 15:41

投稿

assa
assa

スコア35

title CHANGED
File without changes
body CHANGED
@@ -18,7 +18,7 @@
18
18
  carry=(list1[j]*list2[i]+listnew[i+j])/10;
19
19
  }
20
20
          if (carry!=0){
21
- arlistnew[i+1+j]=carry;}
21
+ listnew[i+1+j]=carry;}
22
22
 
23
23
  j++;}}
24
24
  ```