C言語のfor文問題
C言語のfor文問題
わからない問題がありまして・・・
下のアスタリスクを表示させる問題なのですが・・・
課題の締め切りはあと僅かで、考えてる暇もないので、
わかる方いたら、C言語のソースコードだけでいいので、教えてくだい、お願いします
ただし、printfで、全てのアスタリスクを表示させるのはNGで、配列も使ってはいけません。
C言語はfor文が苦手です・・・
(1)
*
**
***
**
*
(2)
*
***
*****
***
*
(3)
**
****
**
↑コンパイラした後の、表示イメージはこんな感じです。
以上3問です。
下のアスタリスクを表示させる問題なのですが・・・
課題の締め切りはあと僅かで、考えてる暇もないので、
わかる方いたら、C言語のソースコードだけでいいので、教えてくだい、お願いします
ただし、printfで、全てのアスタリスクを表示させるのはNGで、配列も使ってはいけません。
C言語はfor文が苦手です・・・
(1)
*
**
***
**
*
(2)
*
***
*****
***
*
(3)
**
****
**
↑コンパイラした後の、表示イメージはこんな感じです。
以上3問です。
Re:C言語のfor文問題
ソースを直接教えるのはここではアウトなんですよね。
考え方と解き方もしくはヒントでよければ…
多分そのうち怒られますよ?「利用規約読んでください」って…
考え方と解き方もしくはヒントでよければ…
多分そのうち怒られますよ?「利用規約読んでください」って…
Re:C言語のfor文問題
返信待ってても無駄な気がしてきたので、
一つ目のヒントでも…
(1)
*
**
***
**
*
これを、表にします。
行:数
1: 1
2: 2
3: 3
4: 2
5: 1
3までは一つずつ大きくなって、それ以降減っていきます。
for文苦手らしいですが、意味の理解はできてますか?
一応それも書いときます。
for(①;②;③){
式
}
まず最初に①を行います。
これはfor文に入った時の一回だけです。
おもに数値の初期化みたいなのが入ることが多いです。
a=0
みたいなの
次に②です。
条件式です。
if文みたいなものです。わかりますか?
最後に③です。
一番下の「}」のときに処理します。
たとえば
a=a+1
みたいな式が入ることが多いです。
わからないところはどこですか?
一つ目のヒントでも…
(1)
*
**
***
**
*
これを、表にします。
行:数
1: 1
2: 2
3: 3
4: 2
5: 1
3までは一つずつ大きくなって、それ以降減っていきます。
for文苦手らしいですが、意味の理解はできてますか?
一応それも書いときます。
for(①;②;③){
式
}
まず最初に①を行います。
これはfor文に入った時の一回だけです。
おもに数値の初期化みたいなのが入ることが多いです。
a=0
みたいなの
次に②です。
条件式です。
if文みたいなものです。わかりますか?
最後に③です。
一番下の「}」のときに処理します。
たとえば
a=a+1
みたいな式が入ることが多いです。
わからないところはどこですか?
Re:C言語のfor文問題
この問題では式の部分に
printf("*");
を入れてあげてください。
これでできるはずです。
一度書いてみてください。それでもわからないところはお教えします。
あとこれの場合for文は重ねて使います。
printf("*");
を入れてあげてください。
これでできるはずです。
一度書いてみてください。それでもわからないところはお教えします。
あとこれの場合for文は重ねて使います。
Re:C言語のfor文問題
そういえば大学の先生は怒ってくれないってよく先生(高校の)が、言ってましたね。
ソースかけたら、できれば張ってくださいね。
3問ぐらいならそんなに時間掛からないと思うので、1時間かからないかと…
(教えてもらいながらでも)
ソースかけたら、できれば張ってくださいね。
3問ぐらいならそんなに時間掛からないと思うので、1時間かからないかと…
(教えてもらいながらでも)
Re:C言語のfor文問題
> ソースを直接教えるのはここではアウトなんですよね。
> 考え方と解き方もしくはヒントでよければ…
>
> 多分そのうち怒られますよ?「利用規約読んでください」って…ぎり
今回限りでお願いします、とにかく時間がないので。
この課題が終われば、次からは、夏休みにはいるので、そこからは自力で解けるようにします。
> 考え方と解き方もしくはヒントでよければ…
>
> 多分そのうち怒られますよ?「利用規約読んでください」って…ぎり
今回限りでお願いします、とにかく時間がないので。
この課題が終われば、次からは、夏休みにはいるので、そこからは自力で解けるようにします。
Re:C言語のfor文問題
/*
課題の締め切りはあと僅かで、考えてる暇もないので、
わかる方いたら、C言語のソースコードだけでいいので、教えてくだい、お願いします
*/
とりあえずこの文章の悪いところを書いときますね。
締め切りまであと僅か?難しくてわからないのはわかりますが、時間が足りなくなるほどの問題じゃないです。
解き方さえわかれば、時間はあまりかかりません。
ソースコードだけでも?ソースコードって丸っきり答えじゃないですか!
利用規約読まないと結構反応冷たいですよ。
とりあえず丸投げどころか、答えだけを請求するのはひどいですよ~。
課題の締め切りはあと僅かで、考えてる暇もないので、
わかる方いたら、C言語のソースコードだけでいいので、教えてくだい、お願いします
*/
とりあえずこの文章の悪いところを書いときますね。
締め切りまであと僅か?難しくてわからないのはわかりますが、時間が足りなくなるほどの問題じゃないです。
解き方さえわかれば、時間はあまりかかりません。
ソースコードだけでも?ソースコードって丸っきり答えじゃないですか!
利用規約読まないと結構反応冷たいですよ。
とりあえず丸投げどころか、答えだけを請求するのはひどいですよ~。
Re:C言語のfor文問題
すいません、
じゃあ自分なりに書いたコードを書きますね。
include<stdio.h>
void main (void)
{
int i,b;
for(i=0; i<5; i++)
{
if(i<3)
{
for(b=0; b<=i; b++)
{
printf("*");
}
}
else
{
for(i=3; i0; i--)
{
printf("*");
}
}
printf("\n");
}
}
じゃあ自分なりに書いたコードを書きますね。
include<stdio.h>
void main (void)
{
int i,b;
for(i=0; i<5; i++)
{
if(i<3)
{
for(b=0; b<=i; b++)
{
printf("*");
}
}
else
{
for(i=3; i0; i--)
{
printf("*");
}
}
printf("\n");
}
}
Re:C言語のfor文問題
やる気があるなら付き合いますけど…他にもやらないといけない宿題でも溜まっているんですか?
とにかく実際に動かなくてもいいので自分でできるところまでソースのせてください。
足りない部分を埋めながらでも教えますから…2時までには終わりますよ…順調にいけばですけど
================
タイミングが…失礼

とにかく実際に動かなくてもいいので自分でできるところまでソースのせてください。
足りない部分を埋めながらでも教えますから…2時までには終わりますよ…順調にいけばですけど
================
タイミングが…失礼

Re:C言語のfor文問題
#include<stdio.h>
void main (void)
{
int i,b;
for(i=0; i<5; i++){
if(i<3)for(b=0; b<=i; b++)printf("*");
else for(b=i; 0<b; b--)printf("*");
printf("\n");
}
}
とりあえず見ずらかったので書き換えました。
#つけ忘れてますよ…2つ目のループではiではなくbでループしましょう。
少し待ってくださいね、どう直せばよくなるか、見てみます。
void main (void)
{
int i,b;
for(i=0; i<5; i++){
if(i<3)for(b=0; b<=i; b++)printf("*");
else for(b=i; 0<b; b--)printf("*");
printf("\n");
}
}
とりあえず見ずらかったので書き換えました。
#つけ忘れてますよ…2つ目のループではiではなくbでループしましょう。
少し待ってくださいね、どう直せばよくなるか、見てみます。
Re:C言語のfor文問題
とりあえずできるだけ近い形で修復しました。
#include<stdio.h>
void main (void)
{
int i,b;
for(i=1; i<=5; i++){
if(i<3)for(b=0; b<i; b++)printf("*");
else for(b=6-i; 0<b; b--)printf("*");
printf("\n");
}
}
最初のfor文のとき、0からやっていたので中のループからすれば1回行いません
6-iは前に書いたグラフから式を出しました。
#include<stdio.h>
void main (void)
{
int i,b;
for(i=1; i<=5; i++){
if(i<3)for(b=0; b<i; b++)printf("*");
else for(b=6-i; 0<b; b--)printf("*");
printf("\n");
}
}
最初のfor文のとき、0からやっていたので中のループからすれば1回行いません
6-iは前に書いたグラフから式を出しました。
Re:C言語のfor文問題
どこで何を行っているのかさえわかっていただければいいと思います。
元のソースを見てみるとiの値を触るなどのミスもありますが、結構おしいところまでできていました。
時間ないらしいのでソース書きましたが…。
次の問題も完成したら(未完成でも可)張ってくださいね。
元のソースを見てみるとiの値を触るなどのミスもありますが、結構おしいところまでできていました。
時間ないらしいのでソース書きましたが…。
次の問題も完成したら(未完成でも可)張ってくださいね。
Re:C言語のfor文問題
> どこで何を行っているのかさえわかっていただければいいと思います。
> 元のソースを見てみるとiの値を触るなどのミスもありますが、結構おしいところまでできていました。
> 時間ないらしいのでソース書きましたが…。
> 次の問題も完成したら(未完成でも可)張ってくださいね。
どーも、付き合ってくれてありがとうございます。
> 元のソースを見てみるとiの値を触るなどのミスもありますが、結構おしいところまでできていました。
> 時間ないらしいのでソース書きましたが…。
> 次の問題も完成したら(未完成でも可)張ってくださいね。
どーも、付き合ってくれてありがとうございます。
Re:C言語のfor文問題
/*
else for(b=5-i;b>0;b--)
だと思うんですけど
*/
これだと他のところもいじればいいけど、ここだけなら駄目だと思う
================
たとえば
for(i=0; i<=5; i++){
if(i<3)for(b=0; b<=i; b++)printf("*");
else for(b=5-i; 0<b; b--)printf("*");
printf("\n");
}
こんなんですよね。

else for(b=5-i;b>0;b--)
だと思うんですけど
*/
これだと他のところもいじればいいけど、ここだけなら駄目だと思う
================
たとえば
for(i=0; i<=5; i++){
if(i<3)for(b=0; b<=i; b++)printf("*");
else for(b=5-i; 0<b; b--)printf("*");
printf("\n");
}
こんなんですよね。

Re:C言語のfor文問題
> やっぱりこういう課題出るのって大学なんですかね
というか、この時期に課題が出るのが大学なんです。
#そして、不真面目な学生がネットで課題を丸投げするのが、この時期の風物詩の一つです。
まあ、(2)(3)もパコネコさんが提示したソースをベースにすれば大丈夫でしょうね。
アスタリスクの出力回数を変更するだけだし。
というか、この時期に課題が出るのが大学なんです。
#そして、不真面目な学生がネットで課題を丸投げするのが、この時期の風物詩の一つです。
まあ、(2)(3)もパコネコさんが提示したソースをベースにすれば大丈夫でしょうね。
アスタリスクの出力回数を変更するだけだし。
Re:C言語のfor文問題
最小2乗法による離散データの近似結果を用い、1~5における
スペースの数、星の数を数式化して解く方法です。
printfと配列をつかわずに(1)と(2)を解いてみました。
ちなみに(3)の星の数の方程式は
-2 * x*x + 8x -4 (x=1,2,3) です。
スペースの数、星の数を数式化して解く方法です。
printfと配列をつかわずに(1)と(2)を解いてみました。
ちなみに(3)の星の数の方程式は
-2 * x*x + 8x -4 (x=1,2,3) です。
#include <stdio.h> #include <stdlib.h> #include <math.h> int funcSpace(int x) { double y=0.0; y += -(1.0 / 6.0) * pow(x,4); y += 2.0 * pow(x,3) ; y += -(235.0 / 30.0) * pow(x,2) ; y += 11.0 * x ; y += -3.0 ; return (floor(y + 0.5)); } int funcAsterisk(int x) { double y=0.0; y += (1.0 / 3.0) * pow(x,4); y += -4.0 * pow(x,3) ; y += (141 / 9.0) * pow(x,2) ; y += -22.0 * x ; y += 11.0 ; return (floor(y + 0.5)); } void drawSpace(int j) { j=funcSpace(j); while(j>0) { putchar (' '); j--; } } void drawAsterisk(int j) { j=funcAsterisk(j); while(j>0) { putchar ('*'); j--; } } main() { int i; // (1) puts("(1)"); for(i=1;i<6;i++) { drawAsterisk(i); puts(""); } // (2) puts("(2)"); for(i=1;i<6;i++) { drawSpace(i); drawAsterisk(i); puts(""); } }