質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

4925閲覧

vscodeでのc言語プログラム実行における、txtファイルの読み込ませ方がわかりません

naberyo

総合スコア10

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2019/05/06 04:06

編集2019/05/06 04:49

`//
/* オイラーの一筆書き    /
/
euler.c      */
/
/
#include <stdio.h>
#include <stdlib.h>

#define NMAX 100 //点の数の上限
#define EDGEMAX 100 //線の数の上限
int adjacent [NMAX + 1][NMAX + 1]; //隣接行列
int position [EDGEMAX + 1] ; //線の数
int n, n_edge, edge, solution;//点、線の数、線、解の番号

void readgraph(void) //データ入力

{
int i, j;

if (scanf("%d%*[^\n]", &n) != 1 || n > NMAX) //点の数 { n = 0; return; } for (i = 1; i <= n; i++) for (j = 1; j <= n ; j++) adjacent[i][j]= 0; while (scanf("%d%d%*[^\n]" ,&i, &j) == 2) { n_edge++; //線の数 adjacent[i][j]++; adjacent[j][i]++; } printf("rinnsetu gyouretsu:\n"); for (i = 1 ; i <= n; i++) { for(j=1; j <= n; j++) printf("%d",adjacent[i][j]); printf("\n"); }

}
void visit(int i)
{
int j;
position[edge] = i;
if (edge == n_edge) {
printf("kai %d:", ++solution);
for (i = 0 ; i <= n_edge; i++) printf(" %d" , position[i]);
printf("\n");
} else {
for ( j = 1; j <= n; j++) if(adjacent[i][j]) {
adjacent[i][j]--;
adjacent[j][i]--; //有向グラフならこの行は削除
edge++; visit(j); edge--;
adjacent[i][j]++;
adjacent[j][i]++; //有向グラフならこの行は
}
}

}
int main()
{
readgraph(); //データを読む
solution = edge = 0; visit(1);//点1から出発
if(solution== 0) printf("kai nasi\n");
return EXIT_SUCCESS;
}

コード

txtファイルを読ませるプログラムの実行のやり方がわからず困っております。 例えばgraph3.txtというファイルの実行では学習テキストには実行はa.out<graph3.txtで実行とありますが vscodeでは PS C:\c program> gcc euler.c PS C:\c program> .\a.exe<graph3.txtと実行すると .\a.exe<graph3.txt : 用語 '.\a.exe<graph3.txt' は、コマンドレット、関数、スクリプト ファ イル、または操作可能なプログラムの名前として認識されません。名前が正しく記述されているこ とを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してくださ い。 発生場所 行:1 文字:1 + .\a.exe<graph3.txt + ~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (.\a.exe<graph3.txt:String) [], CommandNot FoundException + FullyQualifiedErrorId : CommandNotFoundException というエラーメッセージ になり PS C:\c program> gcc euler.c PS C:\c program> .\a.exe graph3.txt という方法では kai 1: 1 と不自然な表示になります これは別の存在しないファイル名にしても同様となりました また PS C:\c program> gcc euler.c PS C:\c program> .\a.exe < graph.cと実行すると 発生場所 行:1 文字:9 + .\a.exe < graph.c + ~ 演算子 '<' は、今後の使用のために予約されています。 + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : RedirectionNotSupported ネットで調べたのですが具体的な方法が分からず 正しいファイルの読み込み方法を教えて頂けたら幸いです。 ソースコードを載せさせて頂きました、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jimbe

2019/05/06 04:14

euler.c のコードを載せて頂けますか.
y_waiwai

2019/05/06 04:22

ソースコードを提示しましょう 質門を編集し、<code>ボタンで、出てくる’’’の枠の中にコードを貼り付けてください
guest

回答2

0

ベストアンサー

PowerShell は入力のリダイレクトには今のところ対応していません。
パイプラインを使って

PS

1Get-Content graph3.txt | .\a.exe

などとすればいいです。

投稿2019/05/06 04:54

Bull

総合スコア986

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

naberyo

2019/05/06 05:05

ありがとうございます! 実行できました! もし良かったらなのですが、結果が多すぎてターミナルにすべて結果が表示できないことがあるのですが全て表示する方法などがありましたら教えて頂けないでしょうか?
Bull

2019/05/06 05:32 編集

コンソールをスクロールすれば、最初からの出力結果を確認出来ると思いますが。 ほかには、 プログラム | more で一画面ずつ止めて確認するとか、 プログラム > file でテキストファイルにリダイレクトして、エディターで読むとかすればいいかと思います。
naberyo

2019/05/06 05:43

ありがとうございます ターミナルの行の保持設定の変更で確認できました! また何かありましたら、お教えいただきたいです。
guest

0

a.out < graph3.txt

じゃないですか?ちゃんとスペース入れましょう。

投稿2019/05/06 04:34

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

naberyo

2019/05/06 04:53

vscodeで PS C:\c program> gcc euler.c PS C:\c program> a.out a.out : 用語 'a.out' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記 述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。 発生場所 行:1 文字:1 + a.out + ~~~~~ + CategoryInfo : ObjectNotFound: (a.out:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS C:\c program> gcc euler.c PS C:\c program> a.out < graph.txt 発生場所 行:1 文字:7 + a.out < graph.txt + ~ 演算子 '<' は、今後の使用のために予約されています。 + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : RedirectionNotSupported となり上手くいきませんでした
退会済みユーザー

退会済みユーザー

2019/05/06 05:02

あ、PowerShellかこれ・・・失礼しました。コマンドプロンプトだと上記でいけます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問