C/C++の宿題片付けます 144代目

このエントリーをはてなブックマークに追加
601デフォルトの名無しさん
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク)
問題1
10個の要素を持つ配列 data を宣言し、先頭の要素から順番に1〜 10 までの整数を代入した後、表示するプログラムを for 文を 使用して作成せよ。
問題2
配列 va を定義して、 10,20,30,40,50 の値で初期 化し、その内容を表示するプログラムを作成しなさい 。
問題3
配列 va と配列 vb を宣言し、配列 va を 1,2,3,4,5 で 初期化し、その値を配列 vb にコピーした後、表示す るプログラムを作成しなさい。
  [3] 環境
 [3.1] OS: unix
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語:c
[4] 期限:12月16日
[5] その他の制限: なし
よろしくお願いします。
602デフォルトの名無しさん:2010/12/15(水) 15:20:09
>>600
ご指摘ありがとうございます。抜けておりました。
----- ----- ----- ----- -----
(*)例えば、次のようなコードに慣れること。
#include <iostream>
using namespace std;
または、
#include <iostream>

cout << "MyStack object instantiated!"<< endl;
これは、
printf ("%s\n", "MyStack object instantiated!");
と、同じである。

実行結果のみ示しなさい。
603デフォルトの名無しさん:2010/12/15(水) 15:25:16
604デフォルトの名無しさん:2010/12/15(水) 15:28:37
605デフォルトの名無しさん:2010/12/15(水) 15:30:29
606599:2010/12/15(水) 17:19:03
>>599の問題文にて一部文章が抜けていたので再投下失礼。

[1] 授業単元:プログラミングとコンパイラ
[2] 問題文(含コード&リンク):
・問題1
C++のサンプルプログラム http://codepad.org/BAl4ALCV ついて答えなさい。
MyStackクラスのコンストラクタにメッセージ出力(*)を追加して、MyStackオブジェクトが実体化されたことがわかるようにしなさい。

(*)例えば、次のようなコードに慣れること。
#include <iostream>
using namespace std;
または、
#include <iostream>

cout << "MyStack object instantiated!"<< endl; これは、
printf ("%s\n", "MyStack object instantiated!"); と、同じである。

実行結果のみ示しなさい。

・問題2
問題1の結果を、次のスタイルに書き換えなさい。
stack.h:http://codepad.org/uEkKWS5W (ファイル名はstack.hhでもOK)
stack.cpp:http://codepad.org/A0gHDv2g (ファイル名はstack.ccでもOK)
main.cpp:http://codepad.org/j3bzECYU (ファイル名はmain.ccでもOK) ただし、main.cppの中身は自分なりに変えてみること。

[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C++
[4] 期限: 2010年12月16日08:00まで
607535:2010/12/15(水) 17:30:02
>>537
>>538
std::って書き方を習っていないのですが、どう書き変えればいいですか
608デフォルトの名無しさん:2010/12/15(水) 17:47:22
>>607
usingは習った?
609535:2010/12/15(水) 17:50:29
>>608
using namespace std;
って習いました。
あと、文の一番最後に\nをつけるっていうのも習いました。
610デフォルトの名無しさん:2010/12/15(水) 18:04:19
>>609
じゃあ、#includeの後にusing namespace stdいれて、関数とかの頭にあるstd::は全部取っちゃって
611デフォルトの名無しさん:2010/12/15(水) 18:07:30
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
http://www1.axfc.net/uploader/File/so/55622 ←問題文です
http://www1.axfc.net/uploader/File/so/55623 ←datファイルです
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:visual studio2005
 [3.3] 言語: C言語
[4] 期限: 12月16日 午前9時まで
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

時間がありませんがよろしくお願いします
612535:2010/12/15(水) 18:31:12
>>610
わかりました
613535:2010/12/15(水) 18:35:23
>>610
friendとかInnerVector3dって何でしょうか
614デフォルトの名無しさん:2010/12/15(水) 18:58:47
615デフォルトの名無しさん:2010/12/15(水) 19:00:41
616デフォルトの名無しさん:2010/12/15(水) 19:10:37
http://codepad.org/cmk80jWl

http://codepad.org/6COq3c53

この2つの文字化け部分がだいたいどのようなことを書いているかわかりませんか?
もともとの課題はこういうものでした。


1.例10.2 の2 を参考にして、以下のようなカレンダープログラムmycalを作成せよ。
◦引数なしで実行されると、今月のカレンダーを出力する
◦引数1個で実行されると、その引数を月とみなし、その年のその月のカレンダーを出力する
◦引数2個で実行されると、第一引数を月、第二引数を年とみなしてカレンダーを出力する。


2.例12.6 の2 に、練習問題12.6 の3 の変更を加え、さらに同様にしてべき乗(関数名power())も計算できるようにせよ。
617 ◆QZaw55cn4c :2010/12/15(水) 19:14:25
>>584
>どこにもバッファオーバーランの対策をしろとは書いてない
上流仕様書マンセー乙
618デフォルトの名無しさん:2010/12/15(水) 19:29:44
>>613
InnerVector3dは中身りゃわかると思うけど内積だろ
出題の通りに直せばいんじゃね?
この場合のfriendはメンバ関数じゃない関数でクラス内部の非公開メンバにアクセスする指定
619デフォルトの名無しさん:2010/12/15(水) 19:34:08
>>616
元ソースをzipかなんかに圧縮して、どっかのローダに上げてくれんかの。
620デフォルトの名無しさん:2010/12/15(水) 19:53:16
>>619

一応2番についての例と練習をのせました。
http://www.dotup.org/uploda/www.dotup.org1300844.zip.html
621デフォルトの名無しさん:2010/12/15(水) 19:58:39
622デフォルトの名無しさん:2010/12/15(水) 20:03:35
>>621
それ僕です。笑
課題2がわからない><
623デフォルトの名無しさん:2010/12/15(水) 20:14:58
>>620
jpeg上げてどうするよ。
もういいから取りあえずサクラエディタとか入れて見てみれば?
624デフォルトの名無しさん:2010/12/15(水) 20:19:46
>>622
問題の題意とプログラムから printf に書かれている内容を想像するんだ!
(`・ω・´) シャキーン
625デフォルトの名無しさん:2010/12/15(水) 20:26:47
>>616
取りあえず一番目の2行目はここまでは再現できた。
 - 引数なしで実行さ
eucをsjisで開いてるみたい。
サクラエディタ入れてeucで開きなおすと読めんじゃないかな。
626デフォルトの名無しさん:2010/12/15(水) 21:10:39
[1] 授業単元: プログラミング言語
[2] 問題文:
hドライブのogawaフォルダ配下のkyuuyo.datからデータを入力し、
そのデータを金額とした時の金種の一覧を表示するプログラムを
作成せよ。
但し、kyuuyo.datファイルはint型の複数データが格納されたバイナリファイルとする。

実行例

No| 給与  |一万円|五千円|千 円 |五百円|百 円 |五十円|十 円 |五 円|一 円|
--|----------------------------------------------------------------------------
1 | 419377 |  41|   1|    4|   0|   3|   1|    2|   1|   2|
2 | ・
3 | ・
4 | ・
5 | ・
6 | ・
7 | ・
8 | ・
--|----------------------------------------------------------------------------
 |合計  | 737|  15|  49|   8|  42|  10|   32|  8|   49|  


[3] 環境
[3.1] Windows XP
[3.2] visual stdio2005
[3.3] 言語: C++
[4] 期限: [2010年12月16日13:00まで]
[5] その他の制限: マス目付、#include <stdio.h>はじめでお願いしますm(_ _)m
627デフォルトの名無しさん:2010/12/15(水) 21:13:12
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
次のコードのMRand()は31ビットのM系列乱数を生成する関数である。
http://codepad.org/rxOLtNr0
この乱数列を様々な角度から検証して、この乱数列の問題点を見出し、
問題点の内容を提出せよ。
可能であればその解決方法も合わせて提出せよ。
[3] 環境
 [3.1] OS: windows,linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
628デフォルトの名無しさん:2010/12/15(水) 21:15:58
>>626
ヒント 611
629デフォルトの名無しさん:2010/12/15(水) 21:43:00
【C#, C♯, C#】 MonoMac 【MonoDevelop】
http://hibari.2ch.net/test/read.cgi/mac/1291602001/

プログラム言語に詳しい奴、ちょっと↑きてくれ。 
630535:2010/12/15(水) 22:17:39
>>618
ありがとうございました。
631デフォルトの名無しさん:2010/12/15(水) 22:46:06
内容:
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):正弦関数y=sinφのグラフを文字列■で描きなさい(31行程で)。グラフは一周期分で真ん中をy軸をlで区切ること。
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] Visual C
 [3.3] 言語: C
[4] 期限: [2010年12月16日09:00まで]

よろしくお願いします
632デフォルトの名無しさん:2010/12/15(水) 22:56:00
>>614
>>615
ありがとうございました!
633デフォルトの名無しさん:2010/12/15(水) 23:42:16
>>631
全角の■で描くのは面倒なので * で描いた、どうしても全角の■でなければならないのなら考える
31行で描くと間延びするので25行で描いたが、31行にしたい場合は Y_MAX を15にすれば良い

ttp://ideone.com/j35W9
634デフォルトの名無しさん:2010/12/15(水) 23:45:43
>>628
ああ既出だったー
ありがとー
635デフォルトの名無しさん:2010/12/15(水) 23:47:07
内容:
[1] 授業単元:画像処理プログラミング
[2] 問題文(含コード&リンク):任意の画像をRGB空間からからHSV空間に変換し
                  色彩、彩度、明度の値を表示すプログラムを作成しなさい
 [3.1] OS: linux
 [3.2] gcc
 [3.3] 言語: C言語
[4] 期限: [2010年12月17日12:00まで

よろしくお願いします
636デフォルトの名無しさん:2010/12/15(水) 23:53:34
>>633
ありがとうございます。
確認してみた所、■は絶対だそうなので
お手数お掛けして申し訳ありませんが、■でお願いしたいです。
637633:2010/12/15(水) 23:58:18
>>631
考えたら | も全角にすれば良いだけの話だった
ideone が死んでるみたいだから codepad に張ったけど、sin() が無いって言われるのは何でだろう?

ttp://codepad.org/OxNBcsjF
638デフォルトの名無しさん:2010/12/16(木) 00:18:10
>>637
ありがとうございました!
639デフォルトの名無しさん:2010/12/16(木) 01:00:20
>>635
・画像の形式は何?
・全ての画素について、HSVの数値を計算するの?
・計算で得られたHSVの数値は、どのように画面表示されればよい?
640デフォルトの名無しさん:2010/12/16(木) 01:09:36
>>639
問題文がこのような感じで書かれていて
画像の形式なども指定されてませんすいません
数値はターミナル上に表示できればいいと思います
わからない事だらけですいません
641デフォルトの名無しさん:2010/12/16(木) 07:54:29
>>639
24ビットBMPファイルのみ対応
#pragmaで処理系依存(gccでは問題なし)
動くけど汚いから他の人待ち…

http://codepad.org/om8Y3MiX
642デフォルトの名無しさん:2010/12/16(木) 07:55:24
アンカー間違えた
×:>>639
○:>>635
643デフォルトの名無しさん:2010/12/16(木) 12:45:43
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): 正弦関数y=sinφのグラフを文字列■で描きなさい。数値yに対応する■の数はウインドウ各行に表示しきれる範囲内で任意に定めてよい。グラフは一周期でy軸をlで区切りなさい
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] VC
 [3.3] 言語: C++
[4] 期限: 12月16日17:00まで
[5] その他の制限:
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
int _tmain(int argc, _TCHAR* argv[])
{
double y[100];
int i, j, k;
for(i = 0; i < 62; i++){
y[i] = 10 * sin(0.1 * i);
}
for(i = 0; i < 31; i++){
for(k = 0; k < 10; k++){
printf(" ");
}
printf("l");
for(j = 0; j < y[i]; j++){
printf("■");
}
printf("\n");
}
この続きからお願いします
644デフォルトの名無しさん:2010/12/16(木) 13:21:19
>>637
-lmがオプション指定してないんだろ
645デフォルトの名無しさん:2010/12/16(木) 14:12:19
>>644
それは考えたんだけど、atan() の立場が無くなるので....
atan() は mathlib じゃないって事はないだろ?
646デフォルトの名無しさん:2010/12/16(木) 14:24:05
>>643
最初から書き直したいくらいの前半だが
どうしても続きからと言うならこうだろうか
ループ回数はちょっと変えさせてもらったが

http://codepad.org/7JukMZUK
647デフォルトの名無しさん:2010/12/16(木) 14:24:59
>>641
ありがとうございます、助かりました〜
648デフォルトの名無しさん:2010/12/16(木) 14:26:04
>>646
ありがとうございます
649デフォルトの名無しさん:2010/12/16(木) 15:58:12
650デフォルトの名無しさん:2010/12/16(木) 16:02:01
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): http://ideone.com/fQdK2
[3] 環境
 [3.1] OS:macosx
 [3.2] gcc
 [3.3] 言語: C
[4] 期限: 12月20日
[5] 動作はするのですが、優先度付きキューを導入した理由、メリット、aスター探索内の意味がいまいち理解できないので説明してもらえないでしょうか
お願いします
651デフォルトの名無しさん:2010/12/16(木) 19:55:07
[1] 授業単元: プログラミング
[2] 問題文:
配列によるスタックを実現する。出来るだけ簡単なアルゴリズムで
ポップとプッシュの操作が可能なプログラムを作れ。正し配列は100要素
程度とする。

[3] 環境
 [3.1] OS:Unix Windows
 [3.2] gcc
 [3.3] 言語: C
[4]期限: 12月17日
[5]:よろしくお願いします。できるだけ簡単にお願いします。
652デフォルトの名無しさん:2010/12/16(木) 20:06:23
>>651
これでいいか?
http://ideone.com/ZihBZ
653デフォルトの名無しさん:2010/12/16(木) 20:17:12
>>652
ありがとうございます。
654デフォルトの名無しさん:2010/12/17(金) 00:39:47
[1] 授業単元: プログラミング言語演習
[2] 問題文(含コード&リンク):ランダムな整数列を生成し、次の直接基数ソート
プログラムにより並べ替えるプログラムを作れ
直接基数プログラム
int i, j, pass, count[256];
for(pass = 0; pass < 4; pass++){
for(j = 0;j < 256;j++)
count[j] = 0;
for(i = 1;i <= n; i++)
count[bits(a[i],pass*8,8)]++;
for(j = 1;j < 256;j++)
count[j] = count[j-1] + count[j];
for(i = n; i >= 1;i--)
b[count[bits(a[i],pass*8,8)]--] = a[i];
for(i = 1; i <= n; i++)
a[i] = b[i];
}
[3] 環境
 [3.1] unix
 [3.2] gcc
 [3.3] 言語: どちらでもよい
[4] 期限: 12月22日
[5] mainの中身もお願いします。
  直接基数ソートとはランダムに出た数字を二進数に直し、順番に並び変える
  プログラムです。
655デフォルトの名無しさん:2010/12/17(金) 01:40:00
[1] 授業単元: 数値シミュレーション
[2] 問題文(含コード&リンク):
http://www.dotup.org/uploda/www.dotup.org1303140.jpg
http://www.dotup.org/uploda/www.dotup.org1303143.jpg
1枚目が問題文画像、2枚目がそのプログラムです。
2枚目画像のメインプログラム内で、・・・・で省略されている箇所を埋めて欲しいです。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C/C++
[4] 期限: 2010年12月20日17:30まで
[5] その他の制限:
http://ideone.com/7DRAO
↑に書けるところまでプログラムを書いたので、どうぞよろしくお願いします。
656デフォルトの名無しさん:2010/12/17(金) 03:23:37
>>654
bitsってマクロ関数だと思うんだけど、どういうもの?

>>655
外部ヘッダ"glibw32.h"ってこれで合ってる?
ttp://www.asahi-net.or.jp/~uc3k-ymd/Glib32/glibw32.html
657デフォルトの名無しさん:2010/12/17(金) 03:28:15
>>656
655ですが、glibw32.hはそちらで間違いないです。
お手数かとは思いますが、for文の中の・・・・だけでも、どうかよろしくお願いします。
658654:2010/12/17(金) 03:39:51
>>656
bitsとはたとえばbits([ai],b,1)のときは、配列a[i]のbビット目から
1ビット、という意味です。
できたら書いている直接基数ソートを使ってくれたらうれしいんですが、
必ず使う必要はないです。
659デフォルトの名無しさん:2010/12/17(金) 04:35:31
[1] 授業単元:アルゴリズムとデータ構造
[2] 問題文(含コード&リンク):
  クイックソートにより異なる15個の要素を配列するとき、比較回数の最小値と最大値求め、
  そのときに与えた要素をそれぞれ答えなさい。
  たとえば1、2、3、、、、15を与えると、105回となる。といったかんじです。
 
  プログラムの提出はないです。
   
[4] 期限: 2010年12月17日13:00まで。
660デフォルトの名無しさん:2010/12/17(金) 05:32:11
ギリギリで質問かいw
661デフォルトの名無しさん:2010/12/17(金) 05:58:12
>>655
http://codepad.org/Dm7JjAvK
○、△、□の描画ってのはよくわからんのだが、それでいいのか?w
662デフォルトの名無しさん:2010/12/17(金) 07:53:56
663654:2010/12/17(金) 09:11:01
[1] 授業単元: プログラミング言語演習
[2] 問題文(含コード&リンク):直接基数ソートプログラムで、配列aとbの役割を
交互に替える(コピーをしない)プログラムを作れ。
[3] 環境
 [3.1] unix
 [3.2] gcc
 [3.3] 言語: どちらでもよい
[4] 期限: 12月22日
[5] mainの中身もお願いします。
  
664デフォルトの名無しさん:2010/12/17(金) 09:38:08
>>659
同じ要素でもピボットの選び方で比較回数は変わると思うんだけど、指定はない?
665デフォルトの名無しさん:2010/12/17(金) 09:48:52
>>664
ピボット選択アルゴリズムの中の比較回数を別記するとか?
666デフォルトの名無しさん:2010/12/17(金) 09:54:02
>>665
合算してよい。
667デフォルトの名無しさん:2010/12/17(金) 10:57:39
ウチの大学の課題より難しそうなのに皆すげえわ
プログラミングが苦手でどうしてもできそうにないので大学辞めます
情報工学ともおさらばです
668デフォルトの名無しさん:2010/12/17(金) 11:02:49
人生に一度きりの最強カードの新卒を捨てるなんてとんでもない
669デフォルトの名無しさん:2010/12/17(金) 11:07:21
>>664
ピボットは、データ総数の中央値です!
670デフォルトの名無しさん:2010/12/17(金) 11:11:25
[1]授業単元:プログラミング演習T
[2]問題文
料理のデータベースを作成し、複数のデータの中からカロリーが最大と最小の料理の全データを出力するプログラムを作成せよ

[3]
[3.1]Windows
[3.2]Visual Studio 2010
[3.3]C
[4]12/20
[5]各料理のデータは「番号、名前、カロリー」
  料理とカロリーの値は適当でも可(ラーメン 10kcalとか)

よろしくお願いします
671デフォルトの名無しさん:2010/12/17(金) 11:16:20
>>669
再帰的だなぁ。
672デフォルトの名無しさん:2010/12/17(金) 11:50:44
>>670
データ構造の指定は無し?

struct dish[10] {
int id;
int name;
int cal;
}

みたいなのでもいいのかい
673デフォルトの名無しさん:2010/12/17(金) 12:53:15
[1] C++
[2]
・マウスを使って描画する
・BMP画像を表示する
・マウスで描画した部分だけ表示する
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: VC 6.0
 [3.3] 言語: どちらでも可
[4] 期限: 無期限
[5] その他の制限:VC++6.0を使ってます。 問題の上二つまでは出来てます。
674デフォルトの名無しさん:2010/12/17(金) 16:34:14
ttp://ist.ksc.kwansei.ac.jp/~ibaraki/algo.htmlの
4.整列のアルゴリズムの
第p要素を選ぶSELECTとデータファイルselectdataを
それぞれプログラムソースselect.cとデータファイルselectdata.datとして同じユーザーディレクトリ
に保存して、cygwin上でコンパイル(gcc select.c)してもエラーは出ないですが、実行(a.exe)
とすると
6[main]a 4656_cygtls::handle_exceptionx:Error while dumping state(probably corrupted stack)
Segmentation fault (core dumped)
となります。
どうしたらいいでしょうか?
675デフォルトの名無しさん:2010/12/17(金) 16:54:39
>>650
前の回答者だが問題変わってねえか?
ヒューリスティック関数を使ってるみたいだけど
前回提示した優先度付きキューは基本的に循環キューだからそのままでは使えないよ

ちなみに前回書いたやつは
開始ノードを優先度「0」でキューに追加
*begin
node←キューから優先度の最も高い(数値の小さい)ものを取り出す
nodeに接続しているノードを探して優先度「nodeの優先度+1」でキューに追加
終了ノードに達するまで*beginから繰り返す
だったと思う
676デフォルトの名無しさん:2010/12/17(金) 17:30:51
[1] 授業単元:ディジタル回路(プログラミング演習)
[2] 問題文(含コード&リンク):下記
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: cygwinのgcc
 [3.3] 言語: c言語
[4] 期限: 12月20日17:00まで
[5] その他の制限:

<基礎課題>
4変数の論理式からカルノーマップと簡略化した論理式を作成しなさい.
入力の論理式は文字列の配列とし,
const char* IN[] = {"Bcd", "Abcd", "aBc", "aB", "abC"}; // グローバル変数
ならば,
Bcd + Abcd + aBc + aB + abC (小文字は大文字の否定を表す)
の論理式のカルノーマップと簡略化した論理式
Acd + aB + aC
を表示する.
カルノーマップは表示方法を工夫しなさい.

<発展課題>
本講義では触れていないが,クワイン・マクラスキー法というものもある.
どのようなものか各自で調査し,同様にプログラムを作成しなさい.

という課題です。
よろしくお願いします
677デフォルトの名無しさん:2010/12/17(金) 18:28:07
>>672 遅くなってすみません、大丈夫です
678デフォルトの名無しさん:2010/12/17(金) 18:53:57
0〜2πまで、π/100おきに、sin/cos/tanの値を表示するプログラムです。
http://codepad.org/Jl9uLX3vのプログラムを作成しましたが、0からでなく途中からしか表示されません。
教えてください。
679デフォルトの名無しさん:2010/12/17(金) 19:04:19
改行多すぎて表示されてないように見えるだけじゃね?
680デフォルトの名無しさん:2010/12/17(金) 19:14:06
>>678
http://codepad.org/gM1ApotK
そういうときはパイプトレスを使え
681デフォルトの名無しさん:2010/12/17(金) 19:56:59
>>680
ありがとうございました!
682デフォルトの名無しさん:2010/12/17(金) 20:13:00
大文字入力か小文字入力か選択させて、選択した通りに変換して出力するプログラム
http://codepad.org/4WVt2eoI
起動しますが、↓のようになってしまいます。
文字数を入力:3
小文字変換は's',大文字変換は'd'と入力:1番目の文字を入力:s
2番目の文字を入力:3番目の文字を入力:

どなたか教えてくださいまし!
683デフォルトの名無しさん:2010/12/17(金) 21:40:11
>>682
scanf( "%d", &n ); に対して 3\n を入力すると、n に 3 が代入されるけど、stdin のバッファには \n が残ってる
その後に scanf( "%c", &moji ) を実行するとバッファの \n がmoji に代入されるから入力を待たずに復帰する
> 小文字変換は's',大文字変換は'd'と入力:1番目の文字を入力:s
この行はこれで説明が付くけど
> 2番目の文字を入力:3番目の文字を入力
こうはならない気がする

scanf は癖が有るので対話的入力を行うなら fgets() で一旦文字列として受け取ってから sscanf() で必要な項目を
抽出した方が良いと思うよ

char tmp[128];
fgets( tmp, 128, stdin );
sscanf( tmp, "%d", &n );

みたいな感じで

蛇足だけど scanf("%s",&str[i]); ではなく scanf( "%c", &str[i] ) じゃないかな、%s だとバッファオーバーランの可能性が生じる
684デフォルトの名無しさん:2010/12/17(金) 22:09:56
>>683
http://codepad.org/FpV5xj3Xに修正しましたが、同様の出力が見られました。
685デフォルトの名無しさん:2010/12/17(金) 22:30:58
>>684
一箇所だけ直しても駄目、例えばこんな感じ

ttp://codepad.org/aCjk8Knn
686デフォルトの名無しさん:2010/12/17(金) 22:55:09
>>685
ありがとうございます。
ただ、何故か大文字変換ができません。↓のように出力されます(小文字はできます)。
文字数を入力:2
小文字変換は's',大文字変換は'd'と入力:d
1番目の文字を入力:d
2番目の文字を入力:s
文字列:ss
変換後:SS
687デフォルトの名無しさん:2010/12/18(土) 00:42:05
>>686
なぜssになるんだ?bcc だとちゃんと ds -> DS になるよ
張ったコードを確認しようにも codepad が開かない、ハテ? 
688デフォルトの名無しさん:2010/12/18(土) 00:45:13
codepadにわざと重いコードを山ほど貼り付けてフリーズさせてるアホがいるんじゃね?
689codepad:2010/12/18(土) 00:55:06
ガラパゴスの黄色いサルへ
自分たちで黄色いサル用のcodepad作ってください
690デフォルトの名無しさん:2010/12/18(土) 03:25:27
>>670
こういう感じでいいのかな
http://ideone.com/rtEGH
691デフォルトの名無しさん:2010/12/18(土) 11:28:16
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):キーボードからいくつかの浮動小数点を読み込み、そのうち正の数値だけの
合計を求めて表示するプログラムを作りなさい。数値の個数は事前には分からないものと
し、0が入力されたら、合計すべき数値が尽きたものとする。
[3] 環境
 [3.1] OS: MAC OS X
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 12月20日
[5] その他の制限: ifとforを使ってください、よろしくお願いします
692デフォルトの名無しさん:2010/12/18(土) 11:42:55
#include <stdio.h>

int main(void)
{
double d, sum = 0.0;

printf("正の数値を入力して下さい。\n");

for (; scanf("%lf", &d) != EOF; )
{
if (d == 0.0)
{
break;
}
else if (d > 0.0)
{
sum += d;
}
}

printf("sum: %f\n", sum);

return 0;
}
693デフォルトの名無しさん:2010/12/18(土) 11:45:55
>>680
double型の変数をループカウンタに使うなカス
694デフォルトの名無しさん:2010/12/18(土) 11:48:03
>>693
>>678に言えよ
695デフォルトの名無しさん:2010/12/18(土) 11:49:10
>>680がそれに気づいて直すべきだろう
696デフォルトの名無しさん:2010/12/18(土) 12:14:04
>>692
forがifとしてしか機能してないけどいいのか
題意的な意味で
697 ◆/91kCCQXBo :2010/12/18(土) 12:16:38
>>691
#include <stdio.h>
int main(void)
{
  double indata, total=0.0;
  for(; printf("INPUT(end:0) > "), scanf("%lf", &indata) != EOF; )
    if(indata == 0.0) break;
    if(indata > 0.0) total += indata;
  printf("TOTAL = %g\n", total);
}

>>691
#include <stdio.h>
int main(void)
{
  double indata, total=0.0;
  printf("INPUT(end:0) > ");
  for(; scanf("%lf", &indata) != EOF & indata != 0.0; )
    if(indata > 0.0) total += indata;
  printf("TOTAL = %g\n", total);
}
698 ◆/91kCCQXBo :2010/12/18(土) 12:20:21
for()の{}消したの忘れてた!
699デフォルトの名無しさん:2010/12/18(土) 12:48:40
double に対して == 判定を行うのは良い習慣ではないので改めた方が良い
700デフォルトの名無しさん:2010/12/18(土) 12:51:25
>>699
回答をどうぞ