質問編集履歴

4 誤字の修正

metamorphosis

metamorphosis score 9

2018/04/16 15:32  投稿

MinGWのg++とstd::vectorの相性(?)
C++初心者です。
MinGWのg++コンパイラを用いてC++のプログラミングをしているのですが、プログラム中で一回でもvectorを用いると出力に何も表示されなくなってしまいます。vectorを1つでも宣言した時点で駄目になります。コンパイル・実行は何の問題もなく通ります。自分の書いたコードが間違っているのかもしれないと思い、std::vectorを用いた簡単なプログラムをネットからいくつか引っ張ってきてそのまま実行してみましたが、同様に何も出力されませんでした。
g++とstd::vectorの相性が悪いのでしょうか?
[追記]
1.) g++のバージョンは以下の通りです.
```
g++ --version
g++.exe (MinGW.org GCC-6.3.0-1) 6.3.0
Copyright (C) 2016 Free Software Foundation, Inc.
```
2.) git bash上でコンパイル(MinGw/bin/g++.exe hoge.cpp)、実行(./a.exe)しています.
2.) git bash上でコンパイル(MinGW/bin/g++.exe hoge.cpp)、実行(./a.exe)しています.
3.) 実行したプログラムは以下の通りです.シェルソート(http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_2_D)を行うプログラムになります.
```cpp
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
long long cnt;
int l;
int A[1000000];
int n;
vector<int> G;
void insertionSort(int A[], int n , int g){
   for(int i = g; i < n; i++){
       int v = A[i];
       int j = i-g;
       while(j >= 0 && A[j] > v){
           A[j+g] = A[j];
           j -= g;
           cnt++;
       }
       A[j+g] = v;
   }
}
void shellSort(int A[], int n){
   int h = 1;
   while(h <= n){
       G.push_back(h);
       h = 3*h + 1;
   }
   for(int i = G.size()-1; i >= 0; i--){
       insertionSort(A, n, G[i]);
   }
}
int main(){
   scanf("%d" , &n);
   for(int i = 0; i < n; i++){
       scanf("%d" , &A[i]);
   }
   
   cnt = 0;
   shellSort(A,n);
   printf("%d\n", G.size());
   for(int i = G.size()-1; i >= 0; i--){
       printf("%d\n",G[i]);
   }
   for(int i = 0; i < n; i++){
       printf("%d\n", A[i]);
   }
   return 0;
}
```
4.) プログラムを引っ張ってきたサイトはC++の日本語リファレンス(https://cpprefjp.github.io/reference/vector.html)です.
5.) 今cmd.exe上で同様にコンパイル・実行してみたところ、実行時に
```
プロシージャエントリポイント__gxx_personality_v0がダイナミックライブラリ(a.exeのPATH)から見つかりませんでした。
```
とのエラーダイアログが出ました.
今のところ考えつく情報はこれくらいです.よろしくお願いします.
  • C++

    5122 questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • g++

    22 questions

    g++はGNUコンパイラコレクション(gcc)のC++コンパイラーです。

  • MinGW

    75 questions

    MinGW(ミン・ジー・ダブリュー)は GNUツールチェーンのWindows移植版です。 ランタイムライブラリと開発ツールで構成されています。

3 修正

metamorphosis

metamorphosis score 9

2018/04/16 15:28  投稿

MinGWのg++とstd::vectorの相性(?)
C++初心者です。
MinGWのg++コンパイラを用いてC++のプログラミングをしているのですが、プログラム中で一回でもvectorを用いると出力に何も表示されなくなってしまいます。vectorを1つでも宣言した時点で駄目になります。コンパイル・実行は何の問題もなく通ります。自分の書いたコードが間違っているのかもしれないと思い、std::vectorを用いた簡単なプログラムをネットからいくつか引っ張ってきてそのまま実行してみましたが、同様に何も出力されませんでした。
g++とstd::vectorの相性が悪いのでしょうか?
[追記]
1.) g++のバージョンは以下の通りです.
```
g++ --version
g++.exe (MinGW.org GCC-6.3.0-1) 6.3.0
Copyright (C) 2016 Free Software Foundation, Inc.
```
2.) git bash上でコンパイル(MinGw/bin/g++.exe hoge.cpp)、実行(./a.exe)しています.
3.) 実行したプログラムは以下の通りです.シェルソート(http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_2_D)を行うプログラムになります.
```cpp
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
long long cnt;
int l;
int A[1000000];
int n;
vector<int> G;
void insertionSort(int A[], int n , int g){
   for(int i = g; i < n; i++){
       int v = A[i];
       int j = i-g;
       while(j >= 0 && A[j] > v){
           A[j+g] = A[j];
           j -= g;
           cnt++;
       }
       A[j+g] = v;
   }
}
void shellSort(int A[], int n){
   int h = 1;
   while(h <= n){
       G.push_back(h);
       h = 3*h + 1;
   }
   for(int i = G.size()-1; i >= 0; i--){
       insertionSort(A, n, G[i]);
   }
}
int main(){
   printf("hello world");  
 
   scanf("%d" , &n);
   for(int i = 0; i < n; i++){
       scanf("%d" , &A[i]);
   }
   
   cnt = 0;
   shellSort(A,n);
   printf("%d\n", G.size());
   for(int i = G.size()-1; i >= 0; i--){
       printf("%d\n",G[i]);
   }
   for(int i = 0; i < n; i++){
       printf("%d\n", A[i]);
   }
   return 0;
}
```
4.) プログラムを引っ張ってきたサイトはC++の日本語リファレンス(https://cpprefjp.github.io/reference/vector.html)です.
5.) 今cmd.exe上で同様にコンパイル・実行してみたところ、実行時に
```
プロシージャエントリポイント__gxx_personality_v0がダイナミックライブラリ(a.exeのPATH)から見つかりませんでした。
```
とのエラーダイアログが出ました.
今のところ考えつく情報はこれくらいです.よろしくお願いします.
  • C++

    5122 questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • g++

    22 questions

    g++はGNUコンパイラコレクション(gcc)のC++コンパイラーです。

  • MinGW

    75 questions

    MinGW(ミン・ジー・ダブリュー)は GNUツールチェーンのWindows移植版です。 ランタイムライブラリと開発ツールで構成されています。

2 追記

metamorphosis

metamorphosis score 9

2018/04/16 15:23  投稿

MinGWのg++とstd::vectorの相性(?)
C++初心者です。
MinGWのg++コンパイラを用いてC++のプログラミングをしているのですが、プログラム中で一回でもvectorを用いると出力に何も表示されなくなってしまいます。vectorを1つでも宣言した時点で駄目になります。コンパイル・実行は何の問題もなく通ります。自分の書いたコードが間違っているのかもしれないと思い、std::vectorを用いた簡単なプログラムをネットからいくつか引っ張ってきてそのまま実行してみましたが、同様に何も出力されませんでした。
g++とstd::vectorの相性が悪いのでしょうか?
[追記]
1.) g++のバージョンは以下の通りです.
```
g++ --version
g++.exe (MinGW.org GCC-6.3.0-1) 6.3.0
Copyright (C) 2016 Free Software Foundation, Inc.
```
2.) git bash上でコンパイル、実行しています。
2.) git bash上でコンパイル(MinGw/bin/g++.exe hoge.cpp)、実行(./a.exe)しています.
3.) 実行したプログラムは以下の通りです.シェルソート(http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_2_D)を行うプログラムになります.
```cpp
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
long long cnt;
int l;
int A[1000000];
int n;
vector<int> G;
void insertionSort(int A[], int n , int g){
   for(int i = g; i < n; i++){
       int v = A[i];
       int j = i-g;
       while(j >= 0 && A[j] > v){
           A[j+g] = A[j];
           j -= g;
           cnt++;
       }
       A[j+g] = v;
   }
}
void shellSort(int A[], int n){
   int h = 1;
   while(h <= n){
       G.push_back(h);
       h = 3*h + 1;
   }
   for(int i = G.size()-1; i >= 0; i--){
       insertionSort(A, n, G[i]);
   }
}
int main(){
   printf("hello world");
   scanf("%d" , &n);
   for(int i = 0; i < n; i++){
       scanf("%d" , &A[i]);
   }
   
   cnt = 0;
   shellSort(A,n);
   printf("%d\n", G.size());
   for(int i = G.size()-1; i >= 0; i--){
       printf("%d\n",G[i]);
   }
   for(int i = 0; i < n; i++){
       printf("%d\n", A[i]);
   }
   return 0;
}
```
4.) プログラムを引っ張ってきたサイトはC++の日本語リファレンス(https://cpprefjp.github.io/reference/vector.html)です.
5.) 今cmd.exe上で同様にコンパイル・実行してみたところ、実行時に
```
プロシージャエントリポイント__gxx_personality_v0がダイナミックライブラリ(a.exeのPATH)から見つかりませんでした。
```
とのエラーダイアログが出ました.
今のところ考えつく情報はこれくらいです.よろしくお願いします.
  • C++

    5122 questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • g++

    22 questions

    g++はGNUコンパイラコレクション(gcc)のC++コンパイラーです。

  • MinGW

    75 questions

    MinGW(ミン・ジー・ダブリュー)は GNUツールチェーンのWindows移植版です。 ランタイムライブラリと開発ツールで構成されています。

1 追記

metamorphosis

metamorphosis score 9

2018/04/16 15:16  投稿

MinGWのg++とstd::vectorの相性(?)
C++初心者です。
MinGWのg++コンパイラを用いてC++のプログラミングをしているのですが、プログラム中で一回でもvectorを用いると出力に何も表示されなくなってしまいます。vectorを1つでも宣言した時点で駄目になります。コンパイル・実行は何の問題もなく通ります。自分の書いたコードが間違っているのかもしれないと思い、std::vectorを用いた簡単なプログラムをネットからいくつか引っ張ってきてそのまま実行してみましたが、同様に何も出力されませんでした。
g++とstd::vectorの相性が悪いのでしょうか?
g++とstd::vectorの相性が悪いのでしょうか?
[追記]
1.) g++のバージョンは以下の通りです.
```
g++ --version
g++.exe (MinGW.org GCC-6.3.0-1) 6.3.0
Copyright (C) 2016 Free Software Foundation, Inc.
```
2.) git bash上でコンパイル、実行しています。
3.) 実行したプログラムは以下の通りです.シェルソート(http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_2_D)を行うプログラムになります.
```cpp
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
long long cnt;
int l;
int A[1000000];
int n;
vector<int> G;
void insertionSort(int A[], int n , int g){
   for(int i = g; i < n; i++){
       int v = A[i];
       int j = i-g;
       while(j >= 0 && A[j] > v){
           A[j+g] = A[j];
           j -= g;
           cnt++;
       }
       A[j+g] = v;
   }
}
void shellSort(int A[], int n){
   int h = 1;
   while(h <= n){
       G.push_back(h);
       h = 3*h + 1;
   }
   for(int i = G.size()-1; i >= 0; i--){
       insertionSort(A, n, G[i]);
   }
}
int main(){
   printf("hello world");
   scanf("%d" , &n);
   for(int i = 0; i < n; i++){
       scanf("%d" , &A[i]);
   }
   
   cnt = 0;
   shellSort(A,n);
   printf("%d\n", G.size());
   for(int i = G.size()-1; i >= 0; i--){
       printf("%d\n",G[i]);
   }
   for(int i = 0; i < n; i++){
       printf("%d\n", A[i]);
   }
   return 0;
}
```
4.) プログラムを引っ張ってきたサイトはC++の日本語リファレンス(https://cpprefjp.github.io/reference/vector.html)です.
5.) 今cmd.exe上で同様にコンパイル・実行してみたところ、実行時に
```
プロシージャエントリポイント__gxx_personality_v0がダイナミックライブラリ(a.exeのPATH)から見つかりませんでした。
```
とのエラーダイアログが出ました.
今のところ考えつく情報はこれくらいです.よろしくお願いします.
  • C++

    5122 questions

    C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

  • g++

    22 questions

    g++はGNUコンパイラコレクション(gcc)のC++コンパイラーです。

  • MinGW

    75 questions

    MinGW(ミン・ジー・ダブリュー)は GNUツールチェーンのWindows移植版です。 ランタイムライブラリと開発ツールで構成されています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る