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

質問編集履歴

4

注意された点を修正しました。

2019/07/19 09:21

投稿

oidatoho
oidatoho

スコア12

title CHANGED
File without changes
body CHANGED
@@ -5,8 +5,6 @@
5
5
  ### 発生している問題・エラーメッセージ
6
6
 
7
7
  ```
8
- error: 'N' undeclared here (not in a function)
9
- void search(int a, int b, int array[N/2])
10
8
  error: conflicting types for 'search'
11
9
  void search(int a, int b, int array[N/2])
12
10
  note: previous declaration of 'search' was here
@@ -23,10 +21,11 @@
23
21
  #include <math.h>
24
22
  #include <stdio.h>
25
23
  #include <string.h>
24
+ #define N 50000
26
25
 
27
26
  int main(int argv, char* argc[])
28
27
  {
29
-          int n, N, base_n, source;
28
+          int n, base_n, source;
30
29
           int low1, low2, high1, high2;
31
30
           int i, a;
32
31
           int size, rank, length;
@@ -37,7 +36,6 @@
37
36
           int search(int, int, int[]);
38
37
 
39
38
           double starttime, endtime;
40
-          char hostname[MPI_MAX_PROCESSOR_NAME];
41
39
 
42
40
           MPI_Status status;
43
41
 
@@ -49,21 +47,7 @@
49
47
 
50
48
           MPI_Comm_size(MPI_COMM_WORLD, &size);
51
49
           MPI_Comm_rank(MPI_COMM_WORLD, &rank);
52
-          MPI_Get_processor_name(hostname, &length);
53
50
 
54
-          if (rank == 0)
55
-          {
56
-     printf("\n");
57
-      printf("#######################################################");
58
-     printf("\n\n");
59
-     printf("Master node name: %s\n", hostname);
60
-     printf("\n");
61
-     printf("3以上の整数を入力してください:\n");
62
-     printf("\n");
63
-     scanf("%d",&n);
64
-     printf("\n");
65
-          }
66
-
67
51
           for(i = 0; i < n; i++)
68
52
           {
69
53
               low_array[i] = 0;
@@ -154,13 +138,12 @@
154
138
 
155
139
  ### 試したこと
156
140
 
157
- エラー名をそのまま検索したりしましたが、Nが定義していないと出ました。
141
+ エラー名をそのまま検索したりしました.
158
- 定義できていないのでしょうか。
159
142
 
143
+
160
144
  ### 補足情報(FW/ツールのバージョンなど)
161
145
 
162
- こちらのpdfに乗っているプログラムを変えて作成しました。
146
+ こちらのpdfに乗っているプログラムを使用しました。
163
-
164
147
  http://www.oyama-ct.ac.jp/tosyo/kiyou/kiyou40/014nansaikiyomi.pdf
165
148
 
166
149
  よろしくお願いします。

3

タイトルを変更しました。

2019/07/19 09:21

投稿

oidatoho
oidatoho

スコア12

title CHANGED
@@ -1,1 +1,1 @@
1
- Searchに対する定義されていない参照です エラー
1
+ 素数をカウントするプログラムのエラーについて。
body CHANGED
File without changes

2

コードを編集し、新たなエラーを書きました。 よろしくお願いします。

2019/07/19 08:09

投稿

oidatoho
oidatoho

スコア12

title CHANGED
File without changes
body CHANGED
@@ -5,7 +5,12 @@
5
5
  ### 発生している問題・エラーメッセージ
6
6
 
7
7
  ```
8
+ error: 'N' undeclared here (not in a function)
9
+ void search(int a, int b, int array[N/2])
10
+ error: conflicting types for 'search'
11
+ void search(int a, int b, int array[N/2])
12
+ note: previous declaration of 'search' was here
8
- 'search'に対する定義されていない参照です
13
+ int search(int, int, int[]);
9
14
  ```
10
15
  環境はLinuxです。 
11
16
  mpicc tsuyoi.c(プログラム名) -o tsuyoi -lm
@@ -21,7 +26,7 @@
21
26
 
22
27
  int main(int argv, char* argc[])
23
28
  {
24
-          int n, base_n, source;
29
+          int n, N, base_n, source;
25
30
           int low1, low2, high1, high2;
26
31
           int i, a;
27
32
           int size, rank, length;
@@ -36,7 +41,7 @@
36
41
 
37
42
           MPI_Status status;
38
43
 
39
-          n;
44
+          n = N;
40
45
 
41
46
           MPI_Init(&argv, &argc);
42
47
 
@@ -119,12 +124,38 @@
119
124
            MPI_Finalize();
120
125
 
121
126
  }
127
+
128
+ void search(int a, int b, int array[N/2])
129
+ {
130
+ int i, j, frag, now;
131
+ frag = 0;
132
+ now = 0;
133
+
134
+ for(i = a; i <= b; i++)
135
+ {
136
+ for(j = 2; j <= i/2; j++)
137
+ {
138
+ if(i % j == 0)
139
+
140
+ frag = 1;
141
+ }
142
+
143
+ if(frag == 0)
144
+ {
145
+ array[now] = i;
146
+ now++;
147
+ }
148
+
149
+ frag = 0;
150
+ }
151
+
152
+ }
122
153
  ```
123
154
 
124
155
  ### 試したこと
125
156
 
126
- エラー名をそのまま検索したりしましたが、mainなど他の関数ではでるのです
157
+ エラー名をそのまま検索したりしましたが、N定義していないと出ました。
127
- search関数は出ませんで
158
+ 定義できていないのでしょうか
128
159
 
129
160
  ### 補足情報(FW/ツールのバージョンなど)
130
161
 

1

URLの追加

2019/07/19 08:07

投稿

oidatoho
oidatoho

スコア12

title CHANGED
File without changes
body CHANGED
@@ -129,4 +129,7 @@
129
129
  ### 補足情報(FW/ツールのバージョンなど)
130
130
 
131
131
  こちらのpdfに乗っているプログラムを少し変えて作成しました。
132
+
133
+ http://www.oyama-ct.ac.jp/tosyo/kiyou/kiyou40/014nansaikiyomi.pdf
134
+
132
135
  よろしくお願いします。