- 1c難民22/05/31(火) 13:23:29
- 2c難民22/05/31(火) 13:27:29
nt a, x, b;
printf("段数:");
scanf("%d", &a);
for (x = 1; x <= a; x++) {
for (b=a-1; b >= 0; b = b - x) {
if (b % 2 == 1) { printf("\"); }
else { printf("\"); }
}
printf("\n");
}
こんな感じで作ったんですけどそれっぽい形になるだけで例みたいになりません
答えじゃなくていいのでヒント的なのほしいです
少しずつ進めて週末大学の先輩に聞きます
- 3二次元好きの匿名さん22/05/31(火) 13:30:28
このレスは削除されています
- 4二次元好きの匿名さん22/05/31(火) 13:38:26
答えダイレクトに言っちゃったから消した
最初は入力された段数だからx=aから始めてxを減らしていくと考えるといいと思うよ - 5二次元好きの匿名さん22/05/31(火) 13:39:32
- 6c難民22/05/31(火) 13:44:29
- 7二次元好きの匿名さん22/05/31(火) 14:08:42
既に有用なアドバイスがあるけど自分からも
もし5と入力したら
5
4
3
2
1
と表示するプログラム
もし5と入力したら
\\\\\
と表示するプログラム
この2つを組み合わせた問題だから、この2つができるなら
あとはどう組み合わせるかを考えればいいよ - 8二次元好きの匿名さん22/05/31(火) 14:10:52
- 9c難民22/05/31(火) 14:16:37
できました!for(x=a;x>0;x=x-1){for(b=0;b<x;b++)でいきました
- 10二次元好きの匿名さん22/05/31(火) 16:09:54
今回は課題ひとつだけかな
- 11c難民22/05/31(火) 21:55:45
- 12c難民22/05/31(火) 21:57:43
int a, d = 0, c;
printf("段数:");
scanf("%d", &a);
for (int x = a; x > 0; x = x - 1) {
for (c = d; c > 0; c = c - 1) { printf(" "); }
for (int g = 1; g <= a; g++) { printf("%d", g); }
printf("\n");
d++;
}
って書きましたがスペースは増やせても、数字をどう出せばいいか思いつきません
またヒント的なのお願いしたいです
- 13二次元好きの匿名さん22/05/31(火) 23:23:04
保守
- 14二次元好きの匿名さん22/05/31(火) 23:26:58
パッと見出力が数字と改行だけで構成されてそうだけど
スペース増えてくってのはなんなんだ - 15二次元好きの匿名さん22/05/31(火) 23:28:16
このレスは削除されています
- 16二次元好きの匿名さん22/05/31(火) 23:33:14
++使ってるのに--使わないのはなんかの拘り?
- 17二次元好きの匿名さん22/05/31(火) 23:44:56
実装が混乱するときは対応表を書いてスペースや数字の個数などの関係性を見直すところからやってみましょう。
A段出力するとして、そのX段目のスペースは何個になる?数値は何を出力する?
Aを1,2,3,4と仮定した場合のX段目はどういう振る舞いをする?
振る舞いを理解してそれを日本語で書ければ、それをコードに落とし込むだけよ。 - 18二次元好きの匿名さん22/06/01(水) 00:34:08
4は最後の段まで変わらないことに注目して、1234を出す方法を考えてみては。
- 19二次元好きの匿名さん22/06/01(水) 02:39:31
- 20二次元好きの匿名さん22/06/01(水) 08:25:21
- 21二次元好きの匿名さん22/06/01(水) 08:37:54
これは
1234
1234
1234
1234
を出力するコードをベースに必要なところをスペースにするよう変更する感じかな
forを3個使うよりifで分けた方が楽だわ - 22二次元好きの匿名さん22/06/01(水) 09:24:10
- 23c難民22/06/01(水) 10:51:47
- 24二次元好きの匿名さん22/06/01(水) 12:30:29
- 25二次元好きの匿名さん22/06/01(水) 15:42:54
そんな厳しくしなくとも学生さんならこんなもんでしょ。生暖かく見守ってやろうぜ。
- 26二次元好きの匿名さん22/06/01(水) 15:45:55
なぜC++のスレ画を使うのかこれがわからない
- 27c難民22/06/01(水) 17:43:09
- 28c難民22/06/01(水) 17:45:25
- 29二次元好きの匿名さん22/06/01(水) 17:57:32
うん、>>24 はちょっと厳しすぎると思ったな
1ってプログラム触りだしてまだ一ヶ月とか二ヶ月とかくらいなんじゃない?
自分は普通科高卒で興味だけでプログラマ始めて15年目だけど、最初はこんなもんだったわ
とは言え1は相当初歩だから…まずはこういうゲーム的なのからやってみたらどうだろう?定番のアルゴリズム掴んでおくと応用で色々出来るし楽だよ
プログラミング体験ゲーム:アルゴロジック | JEITAゲーム感覚でプログラミングを体験するための「課題解決型ゲームソフト:アルゴロジック」のサイトです。algo.jeita.or.jp - 30二次元好きの匿名さん22/06/01(水) 20:30:27
- 31二次元好きの匿名さん22/06/01(水) 20:37:31
- 32二次元好きの匿名さん22/06/01(水) 21:26:25
- 33二次元好きの匿名さん22/06/01(水) 22:21:54
- 34二次元好きの匿名さん22/06/02(木) 06:14:00
保守
- 35二次元好きの匿名さん22/06/02(木) 10:29:26
- 36c難民22/06/02(木) 10:44:57
- 37二次元好きの匿名さん22/06/02(木) 15:57:50
このレスは削除されています
- 38c難民22/06/02(木) 15:58:30
名前間違えました
今入力した数までの素数を表示するやつやってます
10
2.3.5.7みたいな
何かしら形になったら載せます - 39二次元好きの匿名さん22/06/02(木) 16:13:42
素数判定か。ifやforは使える道具になったけど関数とかも使えるようになったんかな?
- 40二次元好きの匿名さん22/06/02(木) 16:16:41
全部聞くんじゃなくて作ったコードをひとまず載せて質問するのはいいと思う
- 41二次元好きの匿名さん22/06/02(木) 19:34:27
- 42二次元好きの匿名さん22/06/02(木) 21:18:38
- 43二次元好きの匿名さん22/06/03(金) 01:35:02
そういう対応やると教授たちから「じゃぁlongに対応してね!」って課題をアップグレードさせられるぞw
- 44二次元好きの匿名さん22/06/03(金) 01:37:10
このスレcを復習するのにちょうどいい気がしてきた
- 45二次元好きの匿名さん22/06/03(金) 09:09:16
- 46二次元好きの匿名さん22/06/03(金) 10:03:05問題「2から100までの素数を出力するプログラムを書け」に対するゴリゴリ力技な回答。「草」「これが1番早いんです!」「こういうコードも実在する」世の中意外と適当なコードで動いてるんですよ…togetter.com
マジレスするとn-1まで割る必要はなくて√nを超えない最大の整数までで十分
- 47二次元好きの匿名さん22/06/03(金) 10:11:33
- 48二次元好きの匿名さん22/06/03(金) 10:38:10
- 49二次元好きの匿名さん22/06/03(金) 12:13:35
- 50c難民22/06/03(金) 12:21:54
- 51二次元好きの匿名さん22/06/03(金) 12:32:57
- 52二次元好きの匿名さん22/06/03(金) 12:58:21
- 53二次元好きの匿名さん22/06/03(金) 12:59:21
整数nが素数かどうかを判定する方法をプログラム的にどうするかが思いつかんということかな
言葉にすると1とn自身以外に約数がないこと、とかそんなんだけど
その日本語が頭の中でコードに変換できないかんじ?
- 54c難民22/06/03(金) 13:00:05
- 55二次元好きの匿名さん22/06/03(金) 13:01:47
初心者いるとこで「わかってるやつ向け」のボケは混乱させるだけだからやめたれ…
- 56二次元好きの匿名さん22/06/03(金) 13:06:16
- 57二次元好きの匿名さん22/06/03(金) 13:13:35
- 58二次元好きの匿名さん22/06/03(金) 14:07:16
このレスは削除されています
- 59二次元好きの匿名さん22/06/03(金) 14:11:19
- 60c難民22/06/03(金) 16:52:27
- 61二次元好きの匿名さん22/06/03(金) 17:01:34
横レスだが……
同じ数字が何回も出てくるのはprintfがiのループじゃなくてgのループの中にあるからじゃねえかな
あと素数じゃないもんが出てくるのはシンプルにifの判定が雑だからだと思う
余りが0だったらとりあえず出すってのがよくないはず
- 62二次元好きの匿名さん22/06/03(金) 17:02:44
何回も出力されるっていう問題は置いといて、明らかに素数じゃない数値が出力されているから素数判定がそもそもおかしそうだね。まずはそこを考えてみるとよいのでは?
入力した数が素数であるかそうでないかを判定して出力するというプログラムを作ってみるとよいでしょう。
それができるとそのプログラムを1~入力した数まで素数判定するプログラムとしてループを拡張してあげればよい。 - 63二次元好きの匿名さん22/06/03(金) 17:08:28
テストするときは最小の数字をいれてテストしたほうがいい
まず素数の2次に素数じゃない(1は外してるみたいなので)最小の4これらの表示からミスを推測したほうがええ - 64c難民22/06/03(金) 18:27:16
今日も悩んでましたが思いつきません…
- 65二次元好きの匿名さん22/06/03(金) 18:39:55
上でも何回か言われてるけど「ある数字nが素数かどうか」のロジックをどう組むか、だな
素数の定義は「1と自分以外では割り切れない数」だから
>>56の指摘通り「2からn-1までのすべての整数で割ってみて余りが0にならないか」を確かめるのがシンプル
つまり3なら
・2で割れる?→割れない
よって素数
4なら
・2で割れる?→割れる
・3で割れる?→割れない
よって非素数
5なら
・2で割れる?→割れない
・3で割れる?→割れない
・4で割れる?→割れない
よって素数
こういうチェックはifの一条件だけだと記述できないよな?そこから考えよう
- 66c難民22/06/03(金) 19:22:52
できました!
=0の変数xを用意してiをgで割り切れたらx=1に変化させてif(x=0)のときのみiを出力する感じです
今週はこれで終わりです。皆さんありがとうございます
また来週もがんばります - 67二次元好きの匿名さん22/06/03(金) 20:42:17
乙
こんな感じかな?
慣れるまではコメント書きまくった方が後で読み返した時とかに楽だぞ
素数int x=0; //判定用、これが0である限り素数int n=0; //数値入力用
scanf("%d",&n);
for(int i=2; i<n; i++){ //表示判定ループ(入力数値を含むならi<=nに修正)
for(int k=2; k<i; k++){ //素数判定ループ
if(i%k==0){ //もしnを割り切れる数値があれば
x=1; //nは素数ではない
}
}
if(x==0){ //割り切れる数値がなかったなら(i=2は判定なしでx=0のまま)
printf("%d\n",i);
}
x=0;
}telegra.ph - 68二次元好きの匿名さん22/06/03(金) 20:49:26
なんか懐かしいな
俺はバブルソートの書き方とかもう忘れた
がんばれいっち!
ポインタで躓きそうだけどがんばれ! - 69二次元好きの匿名さん22/06/03(金) 21:14:34
- 70二次元好きの匿名さん22/06/03(金) 21:27:55
- 71二次元好きの匿名さん22/06/04(土) 02:24:55
保守
- 72二次元好きの匿名さん22/06/04(土) 12:15:54
ほしゅ
- 73二次元好きの匿名さん22/06/04(土) 18:21:38
- 74二次元好きの匿名さん22/06/04(土) 19:11:48
- 75二次元好きの匿名さん22/06/04(土) 21:52:57
大学のカリキュラムに文句つけてもしゃーないけど
for文とbreak文はセットで教えてほしいよなあ
手元の教科書だと同じチャプターに出てきてたぞ - 76二次元好きの匿名さん22/06/05(日) 00:35:09
- 77二次元好きの匿名さん22/06/05(日) 06:21:22
便利な命令が使えるようになっていくも楽しんで行けると良いね!
- 78c難民22/06/05(日) 12:33:17
便利!
- 79二次元好きの匿名さん22/06/05(日) 19:51:37
保守
- 80二次元好きの匿名さん22/06/06(月) 00:42:11
今週もがんばっていこう
- 81c難民22/06/06(月) 11:08:32
保守
今週は配列です。
水曜ぐらいに取り組めたらいいなと思ってます - 82二次元好きの匿名さん22/06/06(月) 21:40:48
配列いいね。世界が広がるよ。
しれっとポインタっていうやべーやつもくっついてくるよ! - 83二次元好きの匿名さん22/06/06(月) 21:46:34
- 84二次元好きの匿名さん22/06/06(月) 21:48:05
最初のうちは&とかreturn 0とかは「後でやるからとりあえずつけとけ」だしな
イッチが習った範囲の材料で教えたげるのがええんやろな - 85二次元好きの匿名さん22/06/07(火) 06:10:41
保守
- 86二次元好きの匿名さん22/06/07(火) 14:41:27
そういえば配列教えるってどういう方向からなんだろうか
forのカウント用変数と組み合わせて繰り返し処理でまとめてデータ取り扱えて便利とかそんな感じ? - 87二次元好きの匿名さん22/06/07(火) 19:29:08
- 88二次元好きの匿名さん22/06/07(火) 23:55:17
保守。仕事でガッツリコードを書きつつスレ主の質問を見て昔を懐かしむ生活。
- 89二次元好きの匿名さん22/06/08(水) 11:23:39
保守
- 90c難民22/06/08(水) 11:31:26
進めてます!いつも1~6ぐらいまでは自分でやってるんですけど、7つ目ぐらいから苦しくなるんですよね…
- 91二次元好きの匿名さん22/06/08(水) 12:07:25
配列習うときにはポインタって言葉すら出てこん場合あるし混乱させそうだから本格的に入るまで封印しとけ
- 92c難民22/06/08(水) 19:43:39
ほんとにすいません!ブギーポップ読んでました…でも1から6は終わったので次の
テストの点数を5つ入力して
70店以上と未満に分けて降順にするやつです
50 60 70 66 99
70点以上
99
70
70点未満
66
60
50
みたいな - 93c難民22/06/08(水) 19:53:56
今回珍しく自分で考えろというよりも降順昇順の公式的なのをを活用しろって感じです
- 94二次元好きの匿名さん22/06/08(水) 20:20:18
- 95c難民22/06/08(水) 20:35:31
明日1限目のときに載せます!
- 96二次元好きの匿名さん22/06/08(水) 21:58:13
ちょっと曖昧なとこがあるけど
・テストの点数を標準入力(キーボード)から5つ入力して配列に格納
・70点以上と70点未満でそれぞれ降順にソートして表示
・ソートのアルゴリズムは公式(関数?)を使う
って感じか
これだけ聞いてると70点で分ける必要は一切なくて
全部まとめて降順にソート
→最初に「70点以上」と表示
→配列要素を順に表示
→70点を下回った時点で「70点未満」を追加表示
→残りの要素を表示
ってしても同じになりそうだけどそれは許されないってこと? - 97c難民22/06/08(水) 22:12:05
正解な気がします
- 98二次元好きの匿名さん22/06/09(木) 08:49:53
保守
- 99c難民22/06/09(木) 09:13:07
7つ目についてはint b, a[5], p = 0, i = 0, g[5];
printf("テストの点数を入力してください\n");
for (b = 0; b < 5; b++) {
scanf("%d", &a[b]);
if (a[b] >= 70) { g[i] = a[p]; p++; }
else { g[i] = a[p]; p++; }
i++;
}
if (g[i] < 70) {
for (i = 0; i < 5; i++) {
if (g[i] < 70) {
printf("70点未満\n"); printf("%d\n", g[i]);
}
}
}
相変わらず変数が多くてすいません、まだ途中です
- 100c難民22/06/09(木) 09:13:36
ひとつ前のやつです
printf("テストの点数を入力してください\n");
int a[5], s, g, j;
for (s = 0; s < 5; s++) { scanf("%d", &a[s]); }
for (s = 0; s < 4; s++) {
for (g = s + 1; g < 5; g++) {
if (a[s] < a[g]) { j = a[s]; a[s] = a[g]; a[g] = j; }
}
}
printf("点数の高い順\n");
for (s = 0; s < 5; s++) { printf("%d", a[s]); printf("\n"); } - 101二次元好きの匿名さん22/06/09(木) 11:43:27
- 102c難民22/06/09(木) 12:18:32
やってみました!今日のcプログラミングの授業で終わりました。皆さんが助けてくださったからこそ毎週乗り切れてます。
- 103二次元好きの匿名さん22/06/09(木) 12:20:59
このレスは削除されています
- 104二次元好きの匿名さん22/06/09(木) 12:29:19
- 105二次元好きの匿名さん22/06/10(金) 00:26:20
保守
- 106c難民22/06/10(金) 07:39:37
雨やばすぎませんか、パソコンとスマホ以外ずぶ濡れなんですけど