トップページ⇒tech
1001コメント340KB

プログラマー軍団がC/C++の宿題を解決します 34代目

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
あなたのお悩み、ご相談下さい。
史上最強のプログラマー軍団の見解は?
――【注意点】――――――――――――――――――――――
・使用する言語(C/C++)や環境(CUI/GUIなど)は必ず書きましょう。
・問題文は、ちゃんと解いてもらう方にわかりやすいように全文を書きましょう。
・計算問題は必ず数式自体をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その行とエラーの詳細を書きましょう。
 エラーメッセージが出た場合はそのままコピーしてください。
・後になって問題につけたしをするのはやめましょう。
 解いてもらっている方に失礼になってしまいます。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html

【歴代スレは>>2-10】
0002デフォルトの名無しさんNGNG
33代目: http://pc5.2ch.net/test/read.cgi/tech/1097932699/
32代目: http://pc5.2ch.net/test/read.cgi/tech/1097592876/
31代目: http://pc5.2ch.net/test/read.cgi/tech/1095075678/
30代目: http://pc5.2ch.net/test/read.cgi/tech/1091954342/
29代目: http://pc5.2ch.net/test/read.cgi/tech/1090765027/
28代目: http://pc5.2ch.net/test/read.cgi/tech/1089974839/
27代目: http://pc5.2ch.net/test/read.cgi/tech/1089448445/
26代目: http://pc5.2ch.net/test/read.cgi/tech/1088860889/
25代目: http://pc5.2ch.net/test/read.cgi/tech/1087929711/
24代目: http://pc5.2ch.net/test/read.cgi/tech/1086612317/
23代目: http://pc5.2ch.net/test/read.cgi/tech/1085149383/
22代目: http://pc5.2ch.net/test/read.cgi/tech/1083050221/
21代目: http://pc5.2ch.net/test/read.cgi/tech/1078157730/
20代目: http://pc5.2ch.net/test/read.cgi/tech/1075217631/
19代目: http://pc5.2ch.net/test/read.cgi/tech/1073566342/
18代目: http://pc5.2ch.net/test/read.cgi/tech/1071407728/
17代目: http://pc5.2ch.net/tech/kako/1070/10704/1070469896.html
16代目: http://pc5.2ch.net/tech/kako/1069/10698/1069837000.html
15代目: http://pc5.2ch.net/tech/kako/1068/10689/1068950713.html
14代目: http://pc5.2ch.net/tech/kako/1067/10671/1067175933.html
13代目: http://pc5.2ch.net/tech/kako/1064/10645/1064541405.html
12代目: http://pc5.2ch.net/tech/kako/1060/10607/1060706382.html
11代目: http://pc5.2ch.net/tech/kako/1058/10582/1058283913.html
10代目: http://pc5.2ch.net/tech/kako/1057/10570/1057070174.html
9代目: http://pc5.2ch.net/tech/kako/1055/10559/1055944101.html
8代目: http://pc5.2ch.net/tech/kako/1055/10550/1055056940.html
7代目: http://pc5.2ch.net/tech/kako/1053/10539/1053963794.html
6代目: http://pc5.2ch.net/tech/kako/1053/10530/1053045530.html
5代目: http://pc5.2ch.net/tech/kako/1051/10515/1051594046.html
4代目: http://pc5.2ch.net/tech/kako/1045/10450/1045074808.html

0003デフォルトの名無しさんNGNG
3代目: http://pc5.2ch.net/tech/kako/1041/10419/1041992392.html
2代目: http://pc3.2ch.net/tech/kako/1039/10397/1039772622.html
1代目: http://pc3.2ch.net/tech/kako/1038/10380/1038024989.html
0004デフォルトの名無しさんNGNG
4get
0005デフォルトの名無しさんNGNG
【注意点追加】
・複雑なAAはスレが荒れたり問題を埋もれさせてしまう原因に
 なりますので、使用を控えてください。

【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS:
 [3.2] コンパイラ(バージョン):
 [3.3] 言語:C/C++/どちらでも可 のいずれか
[4] 期限:yyyy年mm月dd日hh:mmまで/無期限 のいずれか
[5] その他の制限:
0006デフォルトの名無しさんNGNG
>>967
ほい。
#include <stdio.h>
int main(void)
{
int i,j,dat,histo[11];

for (i=0;i<=10;i++)
histo[i]=0;

printf("input point\n");
while (scanf("%d",&dat)!=EOF)
histo[dat/10]++;

for(i=0;i<=10;i++) {
printf("%3d :%3d ",i*10,histo[i]);
for(j=0;j<histo[i];j++)
putchar('*');
putchar('\n');
}
return 0;
}

/*あるいは、
while(histo[i]-- > 0) putchar('*');
とか。*/
0007デフォルトの名無しさんNGNG
>>1以下、乙!
0008デフォルトの名無しさんNGNG
スレ違いかもしれないんですけど
C言語からフローチャートを生成するソフトが
あると聞いたのですが誰かご存知の方いらっしゃいませんか?
0009デフォルトの名無しさんNGNG
>>8 せめて前スレ埋まるまで待ってよ、向こうで答えてんだからさ。
0010デフォルトの名無しさんNGNG
>>9
すみません。
では前スレへ逝ってきますm(_ _)m
0011デフォルトの名無しさんNGNG
>>10
もう1000だから来なくていい
0012デフォルトの名無しさんNGNG
>>11
いつの間にかもう1000になってましたね。
では改めてよろしくお願いします。
0013デフォルトの名無しさんNGNG
え?もう教えたじゃん。
0014デフォルトの名無しさんNGNG
>>13
「手続き型のプログラムって局所的にはシーケンスだけど
 大域的にはツリーやグラフじゃん?
 フローチャートってあんま役に立たなくね?」
って事ですか?
0015デフォルトの名無しさんNGNG
>>8
手で書いた方が良いよ。
レポートにたえられるようなフローチャートは吐かない。
0016デフォルトの名無しさんNGNG
あ?ソフトそのものを紹介してやったはずだが。
0017デフォルトの名無しさんNGNG
>>16
ありました!!
どうもありがとうございました。
まだ使い方がよくわからないですが
今から頑張ってみます。
わざわざありがとうございました。
0018デフォルトの名無しさんNGNG
>>15
そうなんですか!?
それは残念ですたい…
0019デフォルトの名無しさんNGNG
Cを始めようとして、LSICの試食版をダウンロードして
環境設定したのですが、いざコマンドプロンプトに「lcc」と
入力すると、「C:\WINDOUS\SYSTEM32\AUTOEXEC.NT.システムファイルは
MS-DOS及びMicrosoft Windowsアプリケーションを実行するのに適して
いません。」と表示されてしまい、一歩も前に進めません。
解決方法について検索してみたんですが、こんな初歩のトラブルについて
説明してくれているようなページはありませんでした。
解決方法を教えてください。
宜しくお願いします。m(_ _)m
0020デフォルトの名無しさんNGNG
>>19
LSI-C使うのはやめとけ。あれは過去の遺産だ。
敢えて言うなら、ペン習字習うのに墨と硯を持ち出すようなもんだ。
0021デフォルトの名無しさんNGNG
入門ならMinGW Developer Studioとかよさそうじゃない?
0022デフォルトの名無しさんNGNG
マジですか?んじゃやめます。システム復元で元に戻します。
XP使ってるんですけど、コンパイラってもともと入ってるもんなのですか?
買ったのは二年前なんですが…。
一応、「cl」を入力してやってみたりもしたんですが、
それでも動きませんでした。(ノ_−。)
もう五時間くらいやって死にそうです。
0023デフォルトの名無しさんNGNG
>>22
XPには元から入ってない。
cl.exeは.NET Framework SDKとかダウンロードすると入ってる。
0024デフォルトの名無しさんNGNG
どうもです。早速ディベロッパースタジオとNETフレームワークっていうの
ダウンロードしてみました。あっ、正確には後者はダウンロードしてる途中です。
っていうか、なんかさっきから何回も書き込んでるのにエラーって出て
書き込めない…
0025デフォルトの名無しさんNGNG
あ、書き込めました。
0026デフォルトの名無しさんNGNG
NET Framework SDKをダウンロードしました。
セットアップをする際にIISを先に取得しろ、って言われたんですが、
これをどこからダウンロードしたらいいのやら。
もう、目がちかちかする。
こんなにパソコンと格闘するの初めてですわ。
すいません、IISのダウンロードの場所を知ってたら教えてください。
宜しくお願いします。
0027デフォルトの名無しさんNGNG
もちっと落ち着こうぜよ
ドトネトは使ってないから良く知らないが
学生なら時間はあるんだし自分で調べて探した方が得るものが多いと思うぞ

…そういやスレ違いだ罠
0028デフォルトの名無しさんNGNG
コメントしようと思ったら、言いたい事ほとんど全部 >>27 が言ってくれていた。
0029デフォルトの名無しさんNGNG
LSI-Cってたびたび出てくるな。
0030デフォルトの名無しさんNGNG
CPadからの流れだと思われ
0031デフォルトの名無しさんNGNG
宿題まだー?ちんちん
0032法学部生NGNG
26です。落ち着きます。
確かに、もっと自分で調べてみたほうがためになりそうなので、
頑張ってみようと思います。なんか昨日は、わけもわからず一人で
テンパってました。どうもありがとうございました。m(__)m
もっとレベルアップしてからやってくるので、そのときまた
宜しくお願いします。では。ノシ
003333代目スレ−(778)NGNG
779さん。ありガット!
参考になりますた。
遅れてごめん。
0034デフォルトの名無しさんNGNG
明日までに認識用文法( http://julius.sourceforge.jp/grammar.html )を
作成しなければいけないのですが、どうしても最初の一歩で躓いてしまっています。

test.voca test.grammarを作成した後で、mkdfa.plを使うことで
自動的にtest.dfa, test.term, test.dictが作成されるはずなのですが
実行時に下記エラーが表示されます。

'/mkfa'は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチファイルとして認識されていません。

mkdfa.plと同じディレクトリにmkfa.exeは存在しているのですが
どうしてもこのエラーが出ます。どなたかアドバイス頂ければ助かります。
宜しくお願いします〜〜(;;
0035デフォルトの名無しさんNGNG
引数として受け取った文字列を逆順にした文字列に変換する関数を作成して、
キーボードから入力した文字列を逆順に表示するプログラムを教えてください。
C言語です。
0036デフォルトの名無しさんNGNG
/mkfaって出てんだから、/削ればいいんじゃないの?
0037デフォルトの名無しさんNGNG
>>35
reverse(char *abc) {
int len = strlen(abc);
char *rev = new char[len+1];
for(int ii = 0; ii < len; ii++) rev[ii] = abc[len-ii];
rev[len] = 0;
printf("%s\n", rev);
delete[] rev;
}

コンパイルテストもしてないから、ミスってたらスマン。
0038デフォルトの名無しさんNGNG
>>35
たしか前スレに出てたな、それ。
0039デフォルトの名無しさんNGNG
>>36
ありがとうございました。既存のプログラムでマニュアル通りに動作させて
エラーがあると思わなかったのでplファイルを見てませんでしたが、
ソースを変更したら動きました。

本当に有難うございます。
0040デフォルトの名無しさんNGNG
>>39
オメ。しかしこの程度を解決できないのはちょっと問題。
せっかくエラーが出てんだから、良く嫁と言いたい。
0041デフォルトの名無しさんNGNG
整数を引数としてうけとり、その数値を三桁ごとにコンマを入れて表示する関数
を書いてください。

1000000 だと 1,000,000 こう表示したいわけです。お願いします。
0042デフォルトの名無しさんNGNG
>>41
void f(int n)
{
    std::locale old(std::cout.imbue(std::locale("")));
    std::cout << n;
    std::cout.imbue(old);
}
0043デフォルトの名無しさんNGNG
>>42
それだと2バイト文字にならねぇべさ。

>>41
つーか、2バイト文字で出力せなあかんの?
0044デフォルトの名無しさんNGNG
>整数を引数としてうけとり
0045デフォルトの名無しさんNGNG
3名(A,B,C)の4科目(英、国、数、物)の得点を入力し
学生ごと、科目ごとの平均(小数点2位まで),合計を求め
下のような表みたいに(配列)表示させるプログラム
    数、国、数、物  合計 平均
  A
  B
  C
合計
平均

全くわかりません、プログラマーの方お願いします。
0046デフォルトの名無しさんNGNG
>>45
ちなみにC言語です
0047デフォルトの名無しさんNGNG
>>46
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=264
004847NGNG
>>46
偶々気が向いた。細かいところは好きにして。
0049デフォルトの名無しさんNGNG
>47の作業効率は約200行/時間であることが判明しました。
0050デフォルトの名無しさんNGNG
>>41

#define BASE 1000

void disp(int n)
{
int d = 1;

if (n < 0) {
printf("-");
n = -n;
}

while (n / BASE >= d) { d *= BASE; }

printf("%d", n / d);
n %= d;
d /= BASE;

while (d) {
printf(",%03d", n / d);
n %= d;
d /= BASE;
}

printf("\n");
}
0051デフォルトの名無しさんNGNG
>>50
改行するって書いてあった?
0052デフォルトの名無しさんNGNG
stdbool.h なんてあるのか。始めてみた。
0053デフォルトの名無しさんNGNG
メイン関数で配列a[0]からa[5]に数字をつめて関数に渡す。
関数ではその平均値を計算してメインに戻す。
(実引数は配列名と要素数とする)

っていう問題がとけません。数字を詰める事はできたんですけど、
関数が???
お願いします。
0054デフォルトの名無しさんNGNG
大阪(西梅田)、新宿(JR駅前)のそれぞれ一等地に
拠点を構えるソフトウェア開発会社
グリーンシステムを応援するHPです。
http://www.geocities.jp/grs_hp/

こちらのスレの住人のかたがたのようなレベルの高いかたに
ピッタリだと思いますので、是非一度ご覧下さい。

0055デフォルトの名無しさんNGNG
>>52
http://pc5.2ch.net/test/read.cgi/tech/1099212476/717-718
0056デフォルトの名無しさんNGNG
>>53
平均なんだから実数なんだろうと思ったのでそうした。

#include <stddef.h>
double avg(double *a, size_t n)
{
    double sum = 0.0;
    while (n--) sum += a[n];
    return sum / n;
}
0057デフォルトの名無しさんNGNG
おいおい、その関数常に0で除算するじゃん
005856NGNG
間違い

#include <stddef.h>
double avg(double *a, size_t n)
{
    size_t i = n;
    double sum = 0.0;
    while (i--) sum += a[i];
    return sum / n;
}
0059デフォルトの名無しさんNGNG
>>53
#include <iostream>

typedef int Ta;
typedef double Tr;
static Tr calcAverage(Ta * array, unsigned num);

int main()
{
Ta array[] = {1, 3, 4, 6, 8, 10, 12,};
Tr average = calcAverage(array, sizeof(array) / sizeof(*array));
std::cout << average << std::endl;
return 0;
}

Tr calcAverage(Ta * array, unsigned num)
{
Ta sum;
for (int ic = 0; ic < num; ++ic) {
sum += array[ic];
}
return (Tr) sum / num;
}
006059NGNG
おおう、Ta sum = 0;だぜ。
0061デフォルトの名無しさんNGNG
double ave(double *tbl, size_t item){ double a=*tbl; int i; for(i=1; i<item; ++i) a+=*(tbl+i); return (item)?(a/item):0; }
0062デフォルトの名無しさんNGNG
>>61
要素数が0の場合への対応をしてるわりには、要素数0のときでも
配列にアクセスしてるね。まあ、問題はないんだけど。
要素数0のときは素直に先頭でreturnすべきだろうか。
0063デフォルトの名無しさんNGNG
参考になりました。
ありがとうございました。
0064デフォルトの名無しさんNGNG
if文の中にfor文って入れられますか?
0065デフォルトの名無しさんNGNG
>>64
何故試さない
0066デフォルトの名無しさんNGNG
>>64
入れれる
0067デフォルトの名無しさんNGNG
>>62
>>58は0のときでも大丈夫みたいだが。
0068デフォルトの名無しさんNGNG
arigatougozaimasu
0069デフォルトの名無しさんNGNG
前にもここで教えてもらったんだけど、やっぱ分かんないんで
もう一度おしえてください。
347863000050097003096
347863000100093004095
347863000150092004098
347863000200088003094
347863000250092003096
347863000300061002097
347863000350076003102
347863000400079003103
347863000450063002094
こういう数字の羅列の1桁目と2桁目のみを出力させたいです。
ちなみに数字のデータはtxtデータから読み込ませたいです。
0070デフォルトの名無しさんNGNG
もう百回かんがえろ
0071デフォルトの名無しさんNGNG
「ちなみに」って…

fgets()してからsscanf()。
0072デフォルトの名無しさんNGNG
マージソートを作成するプログラムを教えてください。
0073デフォルトの名無しさんNGNG
>>69
#include <stdio.h>

int main()
{
    FILE *fp;
    int a;
    int line = 21; // 行数
    char ch[10];
    if(NULL == (fp = fopen("test.txt", "rb"))) return 0;

    while(fgets(ch,3,fp)){
        sscanf(ch,"%d",&a);
        printf("%d\n",a);
        fseek(fp, line, SEEK_CUR);
    }

    return 0;
}
とりあえず動く
0074デフォルトの名無しさんNGNG
>>70 >>71
とりあえず考えたプログラム載せるんで訂正してください。
#include<stdio.h>
#define MAX 3000
void main(void){
char h[MAX][30];
int i,j,s;
FILE *data,*kekka;
if((data=fopen("data.txt","r"))==NULL){
printf("ファイルオープン失敗。(data.txtがないのでは?)\n");
goto END2;
}
if((kekka=fopen("kekka.txt","w"))==NULL){
printf("ファイル書き込み失敗。(kekka.txtを開いてませんか?)\n");
goto END1;
}
printf("データ数は幾つありますか?(最大3000個まで)\n");
scanf("%d",&s);
if(s>3001){
printf("データ数の上限を超えています。\n");
goto END1;
}
for(i=0;i<s+1;i++){
for(j=18;j<21;j++){
fprintf(kekka,",%c",h[i][j]);
}
}
fprintf(kekka,"\n");
END1:fclose(kekka);
END2:fclose(data);
}
007573NGNG
fcloseしてなかった

>>72
マージソートでまず検索しろよ…
>>74
goto使いすぎ…
0076デフォルトの名無しさんNGNG
>>73
突っ込みどころ満載だなぁ。間違いもあるし。
0077デフォルトの名無しさんNGNG
>>74
>73より酷い。つーか、少しは指摘されたことに頭使おうや。
0078デフォルトの名無しさんNGNG
スマソ
せっかくだから教えてください
0079デフォルトの名無しさんNGNG
>>73
しも1桁と2桁なんですよ。あとしたから7桁、8桁、9桁、10桁のデータ
も出力したいんです。
0080デフォルトの名無しさんNGNG
いきなり仕様がかわっとるぞ
008173NGNG
漏れが悪かったよ…
下からって言ってよ…
0082デフォルトの名無しさんNGNG
>>73
すみません・・・
0083デフォルトの名無しさんNGNG
ファイルの後ろから1byteづつ読み込んで改行コード数えればいいだろ
008462NGNG
>>67
それは俺が書いたんだが、要素数0なら例外ですw
008573NGNG
>>79
#include <stdio.h>

#define MAX 100
#define LINE 21

int main()
{
    FILE *fp;
    int a;
    int keta = 4; //ketaは表示させたい桁数
    int sk = LINE - keta;
    char ch[MAX];
    if(NULL == (fp = fopen("test.txt", "rb"))) return 0;
    fseek(fp, sk, SEEK_SET);

    while(fgets(ch,MAX,fp)){
        sscanf(ch,"%d",&a);
        printf("%d\n",a);
        fseek(fp, sk, SEEK_CUR);
    }

    fclose(fp);

    return 0;
}
とりあえず動くだけでいいですか
もうわからんす…
0086デフォルトの名無しさんNGNG
宿題をお願いしますm(_ _)m 言語はCかC++。

「abc-0000_IMG 〜 abc-9999_IMG を1行ずつ出力するプログラムを書け。」

例:
abc-0000_IMG
abc-0001_IMG
abc-0002_IMG 
という具合に10000行をテキストに出力して保存して欲しいのです。
テキスト名は任意(適当)に付けてください。お願いします。m(_ _)m

0087デフォルトの名無しさんNGNG
>>86
あまりレベルの低い事を聞いちゃいかんよ
0088デフォルトの名無しさんNGNG
>>86
abc-0000_IMG
abc-0001_IMG
...
abc-000f_IMG
abc_0010_IMG
...
abc_9999_IMG
ですね。
0089デフォルトの名無しさんNGNG
>>87
すいません。レベル低いです;
>>88
10進数でお願いします。
0090デフォルトの名無しさんNGNG
>>86
#include <stdio.h>
int main(void) {
FILE *fp = fopen("hoge.txt", "wt");
if (!fp) return 3;
fputs("abc-0000_IMG\n", fp);
fputs("abc-0001_IMG\n", fp);
fputs("abc-0002_IMG\n", fp);
     :
fputs("abc-9999_IMG\n", fp);
return 0;
}
0091デフォルトの名無しさんNGNG
#include <stdio.h>
int main(void) {
FILE *fp = fopen("hoge.txt", "wt");
int i;
if (!fp) return 3; /* error */
for (i = 0; i < 10000; i++) {
fprintf(fp, "abc-%04d_IMG\n", i);
}
fclose(fp);
return 0;
}
009286NGNG
>>90>>91
ありがとうございます。m(_ _)m
91さんの方を頂きます。90さんすいません。
夜遅くにどうもすいません。助かります。
009369 79NGNG
>>73 >>85さんありがとうございます。でも答え出てこないので、
だれか助けてください。
0094デフォルトの名無しさんNGNG
>>93
仕様がよくわからんが、
・数字列は、必ず21桁
・出力するのは、18〜21桁きめうち
でいいの?

使い方は、コマンドプロンプトで、
xxx.exe <入力ファイル名 >出力ファイル名

#include<stdio.h>
void main()
{
char s[30];
while(gets(s) != 0){
for(int i = 18; i < 21; i++){
printf("%c,", s[i]);
}
}
printf("\n");
}
0095デフォルトの名無しさんNGNG
>>93
下2桁と下7~10桁を出力するかも

#include <stdio.h>
#define N 23
int main(int argc, char* argv[])
{
FILE *fp;
char str[N];
int a,b,t;

fp = fopen(argv[1], "r");
while (fgets(str, N, fp)) {
sscanf(str, "%11d%4d%4d%2d",&t,&a,&t,&b);
printf("%04d\t%02d\n",a,b);
}
fclose(fp);

return 0;
}

エラーチェックはシラネ
0096デフォルトの名無しさんNGNG
>>72
「マージソートを作成する」って何だよ。
merge_sort(a, a + sizeof(a) / sizeof(a[0]));でdoubleの配列aをマージソート。
newとかdeleteとか使ってるから、もしCがよければ自分で書き換えろ。
そのくらい自分でやってもいいだろ。

void merge_sort(double* first, double* last)
{
  if (first == last) return;
  if (first == last - 1) return;
  double* mid = first + (last - first) / 2;
  merge_sort(first, mid);
  merge_sort(mid, last);
  int v1_n = mid - first, v2_n = last - mid;
  double *v1 = new double[v1_n], *v2 = new double[v2_n];
  for (int i = 0; i < v1_n; ++i) *(v1 + i) = *(first + i);
  for (int i = 0; i < v2_n; ++i) *(v2 + i) = *(mid + i);
  int v1_index = 0, v2_index = 0;
  int i = 0;
  for (; v1_index < v1_n && v2_index < v2_n; ++i)
  {
    if (*(v1 + v1_index) < *(v2 + v2_index))
      *(first + i) = *(v1 + v1_index++);
    else
      *(first + i) = *(v2 + v2_index++);
  }
  for (; v1_index < v1_n; ++i) *(first + i) = *(v1 + v1_index++);
  for (; v2_index < v2_n; ++i) *(first + i) = *(v2 + v2_index++);
  delete[] v1;
  delete[] v2;
}
0097デフォルトの名無しさんNGNG
>>95
fgets(str, N, fp);
↓
fgets(str, sizeof(str), fp);

sscanf(str, "%11d%4d%4d%2d", &t, &a, &t, &b);
↓
sscanf(str, "%*11d%4d%*4d%2d", &a, &b);
0098デフォルトの名無しさんNGNG
>>97
修正thx
0099デフォルトの名無しさんNGNG
CLAPAC以外で行列対角化のおすすめライブラリおしえてください
0100デフォルトの名無しさんNGNG
>>99
CLAPACK
010199NGNG
C++のものでも構いません。
とにかく、LAPACK以外でおねがいします。
0102デフォルトの名無しさんNGNG
>>99
CLAPACK
0103デフォルトの名無しさんNGNG
>>99
NEWMAT
0104デフォルトの名無しさんNGNG
Visual C++
50までの素数を見つけるプログラムで、以下のヒントが出ました。
#include <stdio.h>
#define N 51
void main()
{
変数宣言
for (i=2; i<=N-1; i++) {
a[i] = i;
}
max_prime = 2;
while (max_prime*max_prime <= N-1) {
for (j=max_prime+1; j<=N-1; j++) {
a[j]がmax_primeで割り切れるなら、a[j]にゼロを代入する。
}
k = max_prime + 1;
max_primeより大きく、ゼロでない最小のa[k](次の素数である)を見つける。
みつかったa[k]をmax_primeに代入する。
}
ゼロでないa[m]をすべて出力(mは2からN-1まで)

}
0105デフォルトの名無しさんNGNG
    *
   ***
  *****
 *******
*********

C言語です。↑を表示するプログラムを作成しなさい。
よろしくお願いします。初心者なんでなるべくわかりやすいプログラムでお願いします。
0106104NGNG
自分は
#include <stdio.h>
#define N 51
void main()
{
int a[N];
int i,j,k,m;
int max_prime;
for (i=2; i<=N-1; i++) {
a[i] = i;
}
max_prime = 2;
while (max_prime*max_prime <= N-1) {
for (j=max_prime+1; j<=N-1; j++) {
while (a[j]%max_prime)
a[j] = 0;
}
k = max_prime + 1;
while((a[k] !=0) && (a[k]> max_prime)) {
k++;

}max_prime = a[k];
}
for (m = 2; m <= N-1; m++) {
printf("a[%d]",m);
}

}
とやったのですがうまくいきません。
お願いします。
0107デフォルトの名無しさんNGNG
http://www.google.co.jp/search?hl=ja&q=%E5%88%9D%E5%BF%83%E8%80%85%E3%81%A7%E3%81%99&lr=
検索結果 約 210,000 件中 1 - 10 件目 (1.14 秒)
0108デフォルトの名無しさんNGNG
>>105
int main()
{
 int i,j;
 for(i=0;i<5;i++)
 {
  for(j=4-i;0<j;j--)printf(" ");
  for(j=0;j<1+i*2;j++)printf("*");
  printf("\n");
 }
 return 0;
}
脳内コンパイルなのでうまくいくかシランネ
010969 79NGNG
>>94 >>95
ありがとうございます。
数字列は必ず21桁です。
そのしも1桁と2桁です。あとしたから7桁、8桁、9桁、10桁のデータ
も出力したいです。>>95の方の入力はどういうふうにすればいいんですか?
テキスト入力ではないみたいなんで。

0110デフォルトの名無しさんNGNG
>>109
俺は95ではないが実行ファイルがhoge.exeで
調べたいファイルがmoge.txtだったらコマンドラインで
hoge moge.txt
と入れればokでつ
0111デフォルトの名無しさんNGNG
*記号を使って、絵を描くという課題が出ました。
数式を使って書くようにという指示が出ているのですが、
野口秀雄の髪の毛・顔の輪郭を数式で表すのって無理でしょうか?
0112デフォルトの名無しさんNGNG
>>111
不可能じゃないが、人力では非現実的
0113デフォルトの名無しさんNGNG
>>112
そういえば、似顔絵書くプログラムとかありませんもんね・・・
せっかく描いたのでお礼にどうぞ。
http://para-site.net/up/data/586.jpg
0114デフォルトの名無しさんNGNG
>>113
そういう画像を取り込んで*で描画するプログラムなら作れそうだがな
0115105NGNG
>>108
コンパイルできました。ありがとうございました。
0116デフォルトの名無しさんNGNG
>>106

#include <stdio.h>
#define N 51
void main()
{
int a[N];
int i,j,k,m;
int max_prime;
for (i=2; i<=N-1; i++) {
a[i] = i;
}
max_prime = 2;
while (max_prime*max_prime <= N-1) {
for (j=max_prime+1; j<=N-1; j++) {
if (!(a[j]%max_prime)) /* 割り切れるなら */
a[j] = 0;
}
k = max_prime + 1;
while((a[k] ==0) || (a[k] <= max_prime)) {
k++;
}
max_prime = a[k];
}
for (m = 2; m <= N-1; m++) {
if (a[m] != 0){
printf("%d\n",a[m]);
}
}
}
0117デフォルトの名無しさんNGNG
何価括弧悪い怪盗馬っ鹿
0118105NGNG
#include <stdio.h>

void space_star(int,int);

main()
{
space_stsr(4,1);
space_star(3,3);
space_star(2,5);
space_star(1,7);
space_star(0,9);
}

void space_star(int spaces,int stars)
{
int j,i;
for(j=spaces;j>0;j--){
printf(" ");
}
for(i=stars;i>0;i--){
printf("*");
}
printf("\n");

}

>>105の問題です。関数を使ってみたのですがコンパイルできませんでした。
どこがいけないかわかりません。お願いします。
0119デフォルトの名無しさんNGNG
main関数で一番最初に呼び出す関数がspace_stsrなのだが、それが原因か?
0120105NGNG
>>119
ありがとうございます!コンパイルできました!
0121デフォルトの名無しさんNGNG
>>120
なんだってーーーーーー!
0122デフォルトの名無しさんNGNG
>>111-112
野口秀雄ってだれだ?
0123デフォルトの名無しさんNGNG
>>111-114
http://pc5.2ch.net/test/read.cgi/tech/1090897159/
0124デフォルトの名無しさんNGNG
>>104 >>106 >>116

for (j=max_prime+1; j<=N-1; j++) {
a[j]が0以外のときだけ、a[j]がmax_primeで割り切れるなら、a[j]にゼロを代入する。
}
0125デフォルトの名無しさんNGNG
>>123
誘導トンです。
見てきます。
0126デフォルトの名無しさんNGNG
もう、アウト
べき乗法のプログラムお願いします!!!
明日提出
0127デフォルトの名無しさんNGNG
pow(2,10) じゃダメなんだよね?
0128デフォルトの名無しさんNGNG
べき乗を求める関数(整数のみ)
int func(int x, int y)
{
int ret = 1;
while(y > 0){
ret *= x;
y--;
}

return(ret);
}
0129デフォルトの名無しさんNGNG
>>126
こんな感じだったかな…うろ覚え
#include <stdio.h>
#include <math.h>

double ipow(double a, int b)
{
int n=abs(b);
double r=1;
while (n) {
if (n&1) r *= a;
a *= a;
n >>= 1;
}
return (n>=0 ? r : 1/r);
}

double power(double a, double b)
{
if (b == (int)b) return ipow(a,(int)b);
if (a > 0) return exp(b * log(a));
if (a != 0 || b <= 0) return -1;
return 0;
}

int main()
{
printf("%g\n", power(10, 1.5));
printf("%g\n", power(1.5, 2));
return 0;
}
0130デフォルトの名無しさんNGNG
素数を判定する関数ができません。
誰か教えてください・・・。
0131デフォルトの名無しさんNGNG
>>130
どんなふうに判定すればいいですかね?
>>130の考えを教えてください
0132デフォルトの名無しさんNGNG
ごちゃごちゃ言わずに全部オメーラがやればいいんだよ!
0133デフォルトの名無しさんNGNG
ほれ!
bool isSosuu(int n)
{
for(int i=1;i<n;i++) {
if(!(i%n)) return false ;
}
return true;
}
0134デフォルトの名無しさんNGNG
正整数を入力してそれが素数かどうかを判定するプログラムです。
int sosuu(int n)
{
int i;
for( i=2; i<n; i++ ){
if( (n%i) == 0 ) return 0;
}
return 1;
と書いたら間違ってました。
0135デフォルトの名無しさんNGNG
間違えた。
bool isSosuu(int n)
{
for(int i=2;i<n;i++) {
if(!(n%i)) return false ;
}
return true;
}
0136デフォルトの名無しさんNGNG
>>130
どうでしょう
#define NMIN 3
#define NMAX 30000
int IsPrime(int n)
{
 int i;
 if(n<NMIN||NMAX<n)return -1;//この範囲の計算はしない
 if(n%2)
  for(i=NMIN;n%i;i+=2)
   if(n<i*i) return 1;//素数!
 return 0;//残念…
}
0137デフォルトの名無しさんNGNG
あれ?
>>134ってまずいの?
0138130NGNG
>>135 >>136
ありがとうございます。コンパイルしてみます。
0139デフォルトの名無しさんNGNG
>>137
どうせ最後に中括弧がないとかいうオチでは
0140デフォルトの名無しさんNGNG
いや、全然まずくないとおもう。
0141デフォルトの名無しさんNGNG
>>139 ありえる
014269 79NGNG
>>111
有難うございます。でも95はコンパイルはできるんですけど、
実行はできないみたいなんですよね。
もはや自分では限界です。だれか助けて。
0143デフォルトの名無しさんNGNG
>>142
ttp://www.linux.or.jp/JM/html/GNU_textutils/man1/tail.1.html
ttp://openbsd.secsup.org/src/usr.bin/tail/
0144デフォルトの名無しさんNGNG
scanfは処理系によってはインチキだかんね。
0145デフォルトの名無しさんNGNG
すかんふ
0146136NGNG
補足。
NMAXの値は好き(必要)なだけ増やしてください。
値の大きい素数判定のときに早く計算できると思います。
0147デフォルトの名無しさんNGNG
すいません、お願いします。

<実行結果>
下底6.50 上底2.80 高さ3.30の台形の面積は15.345です。

doble a =6.5,b=2.8,h=3.3,s;
s=?
printf ?

?のとこよろしくお願いします。


0148デフォルトの名無しさんNGNG
パロディウスを思い出した。やってくる。
0149デフォルトの名無しさんNGNG
>>147
実行結果は全角で表示なのか
めんどくさいからやめた
0150デフォルトの名無しさんNGNG
doble a =6.5,b=2.8,h=3.3,s;
s = daikei_menseki(a, b, h);
printf("下底6.50 上底2.80 高さ3.30の台形の面積は15.345です。 ");
0151デフォルトの名無しさんNGNG
P2
640 480
255
162153167・・・166


4行目の空間はtab
4行目を読み込んで数値化して編集して書き出したいのですがどうやるのでしょうか
015246NGNG
>>47
47さん大変有難うございます!助かりました。
0153デフォルトの名無しさんNGNG
4行目ミスしました

162 153 167 ・・・ 166
0154デフォルトの名無しさんNGNG
>>151
何語?
0155デフォルトの名無しさんNGNG
>>150
ありがとうございます!
0156デフォルトの名無しさんNGNG
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=331

このプログラムに人口データを昇順にソートする機能を追加してください。
0157ランタイムエラーNGNG
ランタイムエラーが でます。teeth07-test.dxf というファイルから 3DFACE という 文字を 数えたいのですが。
どうすればいいですか?
0158ランタイムエラーNGNG
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#include<iostream.h>

void main()
{

char filename[]="teeth07-test.dxf";
double *coord;
char buf[256];
int count = 0;
int num = 0;
FILE *fp;
0159ランタイムエラーNGNG
cout <<"1\n";
fp = fopen(filename,"r");//ファイルを開く
if (fp == NULL)
{
cout << "ファイルを作成できません\n";

}else{
cout <<"2\n";
//四角形パッチの数を 数える 四角形パッチの数は文字列"3DFACE"の個数に等しい。
while(1){


if(fgets(buf,sizeof(buf),fp) == NULL)
{//1行分をbufに格納
cout << "4\n";
break;
}
if(strstr(buf,"3DFACE") != NULL)
{
//cout << "5\n";
count++;
}
}
}
0160ランタイムエラーNGNG
fclose(fp);//ファイルを閉じる

cout<< "count は" << count <<"\n";

cout <<"6\n";
coord = new double [count*4*3];//coordという名前の配列を作る。大きさはcount*4*3



0161ランタイムエラーNGNG
fp = fopen(filename,"r");

//ファイルの先頭行からENTITIESまで 読み捨てる(読み込んでも何もしない)
while(1){
if(fgets(buf,sizeof(buf),fp)==NULL)
break;
if(strstr(buf,"ENTITIES") !=NULL)
break;
}
0162デフォルトの名無しさんNGNG
>>154
主語がないのでわかりません
0163デフォルトの名無しさんNGNG
続きがないのか、連投規制に引っかかったのか
0164デフォルトの名無しさんNGNG
NULLの時fcloseするとランタイムエラー出るのはいかがなものかと
0165デフォルトの名無しさんNGNG
>>157
#include <algorithm>
#include <fstream>
#include <iostream>
#include <iterator>
#include <string>
int main()
{
  const char filename[] = "teeth07-test.dxf";
  std::ifstream input(filename);
  if (!input)
  {
    std::cout << filename << "は開けませんでした" << std::endl;
    return 1;
  }
  std::string line;
  std::string::size_type pos = 0;
  int count = 0;
  while (pos = 0, std::getline(input, line))
    while ((pos = line.find("3DFACE", pos)) != std::string::npos) ++count, ++pos;
  std::cout << "count = " << count << std::endl;
  double* coord = new double [count * 4 * 3];
  input.close(); input.open(filename);
  while (std::getline(input, line) && line.find("ENTITIES") != std::string::npos)
  if (!input)
  {
    std::cout << "ENTITIESは見つかりませんでした" << std::endl;
    delete[] coord;
    return 1;
  }
  return 0;
}
0166デフォルトの名無しさんNGNG
[1] 授業単元:コンピュータ演習2
[2] 問題文(含コード&リンク):下記に書きます。
[3] 環境
 [3.1] OS:windowsXP
 [3.2] コンパイラ(バージョン):bcc32
 [3.3] 言語:C/C++どちらでも可
[4] 期限:2004年11月25日hh:mmまで/無期限 のいずれか
[5] その他の制限:特に無し

問題文です。
連立方程式�@2*a*x+b*y=5と�Aa*x+b*y=3(a=1,b=2)があり、
問1;�@、�Aの連立方程式の解を求めるプログラムを作成せよ(ガウスの消去法)

問2;�@、�Aの連立方程式のxの解の値を�@、�Aのaに代入し、新たにできた
式をそれぞれ�B、�Cとする。同様に�B、�Cのxの解を求め�@、�Aのaに代入し、
新たにできた式を�D、�Eとする。
式�Eのyの値を出力するプログラムを作成せよ。
(採点のポイント;�@、�Aの連立方程式をモジュール化されているかどうか)

よろしくお願いします。
0167デフォルトの名無しさんNGNG
WinXP + cygwin + gccで動作確認。
ガウスの消去法って確か係数行列を対角成分だけにする奴だよな?
------------------
int main();
void solver(double a1, double a2, double a3, double b1, double b2, double b3, double* x, double* y);
int main()
{
  double a=1, b=2;
  int i;
  double x, y;
  for(i=1;i<4;i++)
  {
    printf("式%d: %f x + %f y = %f\n", 2*i-1, 2*a, b, 5.0f);
    printf("式%d: %f x + %f y = %f\n", 2*i, a, b, 3.0f);
    solver(2.0f*a, b, 5.0f, a, b, 3.0f, &x, &y);
    printf(" (%d)(%d)の連立方程式の解:x= %f, y= %f\n\n", 2*i-1, 2*i, x, y);
    a = x;
    b = y;
  }
  return 0;
}

void solver(double a1, double a2, double a3, double b1, double b2, double b3, double* x, double* y)
{
  //前進消去
  b2 = b2 - b1/a1 * a2;
  (*y) = (b3 - b1/a1 * a3)/b2;
  //後退なんたら
  (*x) = (a3 - a2*(*y))/a1;
}
0168166NGNG
>167
ありがとうございました。
0169デフォルトの名無しさんNGNG
ファイルを読み込んで指定された範囲をNOTしてまた書き込むのをおながいします。
0170デフォルトの名無しさんNGNG
>>169
人にわかるように説明する気はあるのか?
0171デフォルトの名無しさんNGNG
もういいです。
0172デフォルトの名無しさんNGNG
印cぅ出<stぢお。h>
0173デフォルトの名無しさんNGNG
>>170
指定されたファイルの指定された範囲のデーターをNOTで反転したいのです。
例えば40バイト目から10バイトが1111001110だったら0000110001にして保存です。
0174デフォルトの名無しさんNGNG
印cぅ出<イオstレアm>
0175デフォルトの名無しさんNGNG
範囲はどうやって指定するんだ?
0176デフォルトの名無しさんNGNG
C言語なんですが下の実行結果になるように20人分の身長の度数分布表を表示する
プログラムの作り方を教えてください
double data[ ]={ 1.73, 1.68, 1.89, 1.65, 1.60, 1.75, 1.80, 1.75, 1.83, 1.90,
        1.68, 1.77, 1.62, 1.58, 1.53, 1.49, 1.80, 1.72, 1.70, 1.69};

↓実行結果です。

平均身長1.71m
1.3m :
1.4m :*
1.5m :**
1.6m :******
1.7m :******
1.8m :****
1.9m :*
2.0m :
0177デフォルトの名無しさんNGNG
STEP1."C言語 文法"などのキーワードでぐぐる。
STEP2.検索されたサイトを見て理解する。
STEP3.自分なりに問題の解答になるように覚えたことを応用する。
0178デフォルトの名無しさんNGNG
がんばろうね。
0179デフォルトの名無しさんNGNG
>>156お願いします・・・ッ!
0180デフォルトの名無しさんNGNG
がんばれや
0181169=173NGNG
>>175
とりあえずは範囲の始めと終わりは定数としてできますでしょうか
0182デフォルトの名無しさんNGNG
>>169
ファイル中に、'0'や'1'以外のバイトが現れたらどうするんだ?
0183デフォルトの名無しさんNGNG
>>176
#include <stdio.h>
int main()
{
double data[20]={ 1.73, 1.68, 1.89, 1.65, 1.60, 1.75, 1.80, 1.75, 1.83, 1.90, 1.68, 1.77, 1.62, 1.58, 1.53, 1.49, 1.80, 1.72, 1.70, 1.69 };
double table[8]={ 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0 };
int result[8]={ 0, 0, 0, 0, 0, 0, 0, 0 };
double total = 0; int i,j;

for(i=0; i<20; i++)
 total += data[i];

double average = total / 20;
printf("平均身長%.2fm\n",average);

for(i=0; i<20; i++) {
 for(j=7; j>=0; j--) {
  if(data[i] >= table[j]) {
   result[j]++;
   break;
  }
 }
}
for(i=0; i<8; i++) {
 printf("%.1fm:", table[i]);
 for(j=0; j<result[i]; j++) {
  printf("★");
 }
 printf("\n");
}
return 0;
}
0184176NGNG
>>183
ありがとうございます。助かりました。
0185デフォルトの名無しさんNGNG
C言語、ポインタの部分の問題です。

2つの連結リスト(データは文字)を結合するプログラムを書け.このプ
ログラムでは,引数として2つのリストへのポインタを受け取り,二番目のリ
ストを最初のリストに連結する関数concateateを作って使用すること.

どうかお願いします。
0186デフォルトの名無しさんNGNG
>>185
一連の課題の中の一問じゃないかい?
0187デフォルトの名無しさんNGNG
乱数100個くらい、小さい順に並べ替える。
より高速にソートするにはどういうやり方がいいの?
0188デフォルトの名無しさんNGNG
自然数同士の除算を減算の繰り返しで計算するプログラムのコードだれかわかりますか?
余りも考慮して。
0189185NGNG
>>186
たぶんそうです。
ダイテルさんの教科書の問題だと思うのですが、教授がけちって
問題部分のプリントしか配布しませんでした。
0190ijinjyousikNGNG
それは今世紀中には解けないと言われてる難問中の難問やん。
1981年に、アメリカのカースマンが、解法が必ず存在することを証明したが、
未だかつて、それを見つけたものはいない。
しかし、このスレの人間なら、その呪縛をとくことができるかもしれない。
君たちには、期待してるよ。
0191デフォルトの名無しさんNGNG
>>188
void Divide(int x, int y, int *q, int *r)
{
  if (x <= 0 || y <= 0) {
    printf("error\n");
    return;
  }

  *q = 0;
  while (x >= y) {
    x -= y;
    (*q)++;
  }
  *r = x;
}
0192カズヲNGNG
<data.txt>ファイルからデータを読み込むプログラムを作成しています。
<data.txt>は以下の4パターンの文字の区切れ方でそれぞれ作成します。
「bbbbb」のデータの区切れが「(スペース)」、「,」、「\n」、「;」の4通りです。

その4パターンとも対応したいのですが、判別する部分がわかりません。
ご教授頂けませんでしょうか?

※4パターンは<data.txt>の中の「bbbbb」の区切れを書き直して作成しています。


<data.txt>
1) aaaaa bbbbb ccccc ddddd

2) aaaaa bbbbb,ccccc ddddd

3) aaaaa bbbbb
ccccc ddddd

4) aaaaa bbbbb; ccccc ddddd
0193カズヲNGNG
192の続き

<sample.c>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>

void main(){
Member pro;
char data[50];
char name1[8];
char name2[8];
char name3[8];
char name4[8];
char *A;
char *B;
char *C;
FILE *fp;
fp = fopen("data.txt", "r");
if(fp == NULL){
printf("ファイルオープンエラー!!\n");
exit(-1);
}
0194カズヲNGNG
193の続き

printf("ファイルオープン!!\n");
while(1){
memset(data, 0x00, sizeof(data));
if(fgets(data, sizeof(data), fp) == NULL){
fclose(fp);
break;
}
strncpy(name1, data, strlen(data)-strlen(strchr(data, " ")));
A = strchr(data, " ");/* ここの部分の" "を変える。 */
strncpy(name2, A+1, strlen(A)-strlen(strchr(A+1, ","))-1);
B = strchr(A+1, ",");
strncpy(name3, B+1, strlen(B)-strlen(strchr(B+1, ","))-1);
C = strchr(B+1, " ");
strncpy(name4, C+1, strlen(C)-strlen(strchr(C+1, ",")));
printf("%-10s %-10 %-10 %\n", name1, name2, name3, name4);
}
}
0195デフォルトの名無しさんNGNG
明日提出の宿題が分からない…。
お願いします。

以下の実行結果を表示するように身長と標準体重の対応表を表示する
プログラムを作成せよ。なお、表示する身長の範囲(開始値、終了値、増分)は、
整数値として読み込み、標準体重は小数点以下2桁だけを表示すること。
標準体重の求め方は (身長ー100)*0,9

実行結果(の例)

何cmから:150
何cmまで:190
何cmごと:5

150cm: 45.00kg
155cm: 49,50kg

・・・以下省略・・・・
0196195NGNG
書き忘れてましたが、for文を使って作成せよとの事です。
宜しくお願いします。
0197デフォルトの名無しさんNGNG
>>195
自分でやれ
0198デフォルトの名無しさんNGNG
>>195
#include <stdio.h>
#include <stdlib.h>

void main()
{
  char line[128];
  int start, end, inc, i;

  printf("何cmから:");
  start = atoi(gets(line));
  printf("何cmまで:");
  end = atoi(gets(line));
  printf("何cmごと:");
  inc = atoi(gets(line));

  for(i = start; i <= end; i += inc)
    printf("%dcm: %.2fKg\n", i, (i - 100) * 0.9);
}
0199デフォルトの名無しさんNGNG
C言語の課題で入力した16進数の
下位4ビットをオール1にした値を16進数と
上位4ビットをオール0にした値を表示せよという問題があるのですが
どのようにしてビットをいじればよいのでしょうか?
0200デフォルトの名無しさんNGNG
>>199
& と |
0201デフォルトの名無しさんNGNG
>>200
上位はわかったんですが
下位がわかりません。
具体的に教えていただけないでしょうか?
0202デフォルトの名無しさんNGNG
あ、逆でした。
わからないのは上位のほうです。
0203195NGNG
>>198
そのソースを参考にしたら出来ましたぁぁぁぁっぁ!
ありがとうございました!
0204202NGNG
…自己解決しました。
いや、逆立ちして考えたらなぜか閃いた。
単純なことでしたんですね
0205デフォルトの名無しさんNGNG
123 456 78
というファイルの内容を逆順に表示するにはどうすればいいんでしょうか?
0206205NGNG
↑整数の個数は決まってないです。
0207デフォルトの名無しさんNGNG
FILO型スタックを使う
0208デフォルトの名無しさんNGNG
それって普通のスタックじゃん…
0209デフォルトの名無しさんNGNG
ワラタ
0210デフォルトの名無しさんNGNG
FIFO型スタックとかLIFO型スタックとかFILO型スタックって言葉があるんですか
0211169=173NGNG
>>182
いえ、ビットでおながいします
0212デフォルトの名無しさんNGNG
>>169=173=181=211
おれは解けたからおまえもがんばれ
0213デフォルトの名無しさんNGNG
線形リストの中に値を入れていって、それを昇順にソートしてください。
0214デフォルトの名無しさんNGNG
>>211
>173では、「10バイトが1111001110だったら」と書いているが、
>211ではビットでと書いている。
矛盾しない具体的な説明を希望する。
0215デフォルトの名無しさんNGNG
>>212
微妙な皮肉にワロタ
0216デフォルトの名無しさんNGNG
AAA.h と BBB.h という二つのファイルがあります。
AAA.h には
#define DAM 1
BBB.h には
#define DAM 2
と定義されています。
両ヘッダを編集せずに、両方の定義値を使用する方法は
例えば CCC.h に
#define DAM_2 2
として AAA.h と CCC.h をインクルードする以外にありますか?
0217デフォルトの名無しさんNGNG
変態行為はやめて下さい
0218デフォルトの名無しさんNGNG
#include "AAA.h"
#define DAM_A DAM
/* 処理A */
#include "BBB.h"
#define DAM_B DAM
/* 処理B */

別にインクルードする場所はファイルの先頭と決まっているわけではないから、
上記/* 処理 */に関数でも好きなだけ置けばいい。
#もちろん、DAM_A,DAM_Bはなくてもいい。
0219デフォルトの名無しさんNGNG
おおう、undefするの忘れてたよ。
#include "AAA.h"
#define DAM_A DAM
/* 処理A */
#undef DAM
#include "BBB.h"
#define DAM_B DAM
/* 処理B */
#undef DAM
0220デフォルトの名無しさんNGNG
C言語で
7個の要素からなる配列の任意の位置に
入力されたひとつのデータを挿入するプログラム
のつくりかたをおしえてください

問題は
オーストリアという配列を
「ト」と「り」の間に「ラ」を入れてオーストラリアという配列にしろという問題です
どなたかおしえてくださいよろしくおねがいします

0221デフォルトの名無しさんNGNG
>>220
ひらがなをカタカナに自動変換するのめんどくさいから
誰かに解いて貰って
0222220NGNG
すいません「り」じゃなくて「リ」でした
0223216NGNG
>>218
それで実現出来そうです。
ありがとうございました。
0224デフォルトの名無しさんNGNG
>>220
7個の要素からなる配列で、どのように「オーストリア」を表現しているのか説明してください。
#charなら7個じゃできない。
0225デフォルトの名無しさんNGNG
半角カタカナでええんかな
0226デフォルトの名無しさんNGNG
>>224
220じゃないが、WCHAR型でUNICODEなんじゃないか?
0227デフォルトの名無しさんNGNG
・・・たしかに問題が悪いなあ。
質問があからさまに初心者用やし、そんな相手に
UNICODEとかシフトJISとか半角とか全角とか
いちいち細かい注文つけへんと思うねん。
課題の要点は、文字列処理よりも「配列の後方転送」とちゃうかな。
解答全部やないけど、これでサンプルとかヒントになるかいな。
<pre/>// string[index] に insert を挿入。
// index以降の要素が後方に移動される。
// ただし挿入位置の妥当性やバッファサイズはチェックしない。
void insert(char *string, int index, char *insert)
{
int i;
int n;
// 重複する領域内でのコピーは、順序に注意すること。
// ここでは後方転送なので、後方から順次コピーする。
n = strlen(insert);
i = strlen(string);
while (i >= index)
{
// 1文字をコピー
string[i + n] = string[i];
// 前方に戻っていく(この順番が大事)
i -= 1;
}
// できた隙間に insert で示される文字列を挿入。
// ただし strcpy のように '\0' はコピーしない。
while (n != 0)
{
n -= 1;
string[index + n] = insert[n];
}
}</pre>
0228227NGNG
タグ書き間違えた。読みにくいから、もういっぺん貼っとこか。
<pre>
void insert(char *string, int index, char *insert)
{
int i;
int n;
// 重複する領域内でのコピーは、順序に注意すること。
// ここでは後方転送なので、後方から順次コピーする。
n = strlen(insert);
i = strlen(string);
while (i &gt;= index)
{
// 1文字をコピー
string[i + n] = string[i];

// 前方に戻っていく(この順番が大事)
i -= 1;
}
// できた隙間に insert で示される文字列を挿入。
// ただし strcpy のように '\0' はコピーしない。
while (n != 0)
{
n -= 1;
string[index + n] = insert[n];
}
}
</pre>
0229205NGNG
>>205-206
どなたかお願いします。

実行すると、78 456 123 のように表示されるようにしたいのです。
0230デフォルトの名無しさんNGNG
↑ファイル読む所とかは自分で作れ。
void hoge( char* in )//in は読み込んだ一行
{
int* arr;
int n = 0;
char* ptr;

ptr = strtok( in, " \t\n" );
if( ! ptr )return;
arr = (int*)malloc( sizeof( int ) );
arr[n] = atoi( ptr );
n++;
while( ( ptr = strtok( NULL, " \t\n" ) ) ) {
arr = (int*)realloc( arr, sizeof( int ) * ( n + 1 ) );
arr[n] = atoi( ptr );
n++;
}
for( ; n > 0; n-- )
printf( "%d ", arr[n-1] );
printf( "\n" );
free( (void*)arr );
}
0231デフォルトの名無しさんNGNG
#include<stdio.h>
#include<math.h>
void main(void)
{
void henkan(float, float,float *, float *);
float a,b,amp,phase;
printf("Input real part="); scanf("%e",&a);
printf("Input imag part="); scanf("%e",&b);
henkan(a,b,&,&phase);
printf("%e+j%e=|%e|∠%e\n",a,b, amp,phase);
}
void henkan(float x, float y, float *r, float *theta)
{
*r=sqrt(x*x+y*y);
*theta=180.0*atan2(y,x)/3.141592;
}
このプログラムの反対の働きをするプログラム,絶対値|z|と位相角∠zを
キーボードから入れると,実数部と虚数部を表示するポインタを使った
プログラムを作ってください。
又、*theta=180.0*atan2(y,x)/3.141592;の意味がよくわからないので
教えてください。お願いします

0232デフォルトの名無しさんNGNG
sscanf()を使えないでstrtok()使う馬鹿。
0233デフォルトの名無しさんNGNG
>>231
どうでもいいが、突っ込みどころだらけなプログラムだな。

float * thetaから判るように、thetaはfloat へのポインタである。
したがって、* theta = 180.0 * atan2(y, x) / 3.141592;の意味は
atan2()関数を引き数y と x で呼び出し、その結果をラジアンから度に変換して
呼び出し元で用意した場所に格納している。
#atan2()関数が何をしているかくらいは自分で調べろ。

プログラム作成の方は、main()の方は同じ要領だから省略。
変換関数は、r とtheta を求める代わりにx とy を求めればいい。
それぞれ、r * cos(theta[rad]), r * sin(theta[rad])で求められる。
0234デフォルトの名無しさんNGNG
言語:C言語 環境:CUI OS:WindowsXP Pro
ソート:基本選択法を使用

キーボードから「番号、氏名」を複数入力する。
入力した各データは、一旦それぞれに配列に格納して、学籍番号をキーに昇順にソートする。
そして、ソートしたデータのそれぞれをカンマで区切ったレコードにして
csv形式のファイルへ出力するプログラムを考えてます。
どなたか宜しくお願いしますm(_ _)m
0235デフォルトの名無しさんNGNG
>>234
「配列」じゃないとダメなんでしょうか? ツリーに追加していくほうが楽なんですが。
0236234NGNG
>>235
すみませんが「配列」でお願いします。
0237デフォルトの名無しさんNGNG
>>156 やってみた。バブルソートだけど、いいかなあ・・・
Pop *Sort(Pop *top){
Pop dummy_top;//ダミーの先頭を作る
dummy_top.pop = 0;
dummy_top.NextPtr = top;

Pop *p_search = dummy_top.NextPtr;//検索対象
Pop *p_replace = &dummy_top;//置き換え対象(比較対象)の一つ前
while(p_search != NULL){
while(p_replace->NextPtr != p_search){
if(p_replace->NextPtr->pop > p_search->pop){
//置き換える
Pop *search_next = p_search->NextPtr;
Pop *replace_next = p_replace->NextPtr;
Pop *replace_next_next = p_replace->NextPtr->NextPtr;
p_search->NextPtr = replace_next;
p_replace->NextPtr->NextPtr = search_next;//p_replace->NextPtrより先に置き換えること
p_replace->NextPtr = replace_next_next;
//最初に戻して繰り返し
p_search = dummy_top.NextPtr;
p_replace = &dummy_top;
break;
}
p_replace = p_replace->NextPtr;
}
p_search = p_search->NextPtr;
p_replace = &dummy_top;
}
return dummy_top.NextPtr;
}
0238721NGNG
3点を通る円のプログラミングを作りたいのですが、
どのように式を作ったらよいかどなたか教えてください。
・分かってる点、始点(X1,Y1)中点(X2、Y2)終点(X3,Y3)です。
・(X-X0)^2+(Y-Y0)^2=r^2の式を使って連立方程式を立て中心(X0,Y0)と半径rを求めたいです。
0239デフォルトの名無しさんNGNG
そこまでわかってるんなら
3つの点代入して、その連立方程式の解を求めればいいんじゃないのか
0240238NGNG
>>239
そうなんですが、プログラムに直す時にどのようにしたら良いか分からなくて…
0241デフォルトの名無しさんNGNG
>>237
ソートできてませんでした…。なんでだろう?
0242デフォルトの名無しさんNGNG
そういえばそうだな…

円の方程式を
x^2+y^2+lx+my+n=0
という形で表して(円の方程式をばらしただけ、数�Uの教科書参照)
ばらした式に3つの点代入して3元連立1次方程式を解いてlとmとnを求めて
元の式(x-a)^2+.....と係数比較すれば強引に求まるかも

しかし検索したら解法のアルゴリズムとかありそうだなあ…
0243235NGNG
>>234
できたけどファイルがちょっと大きかった。ここに貼るのは難しい。
しかも今ちょっと忙しい(本業:システムエン死に屋)
捨てアドでも晒してくれたら今日・明日中にでも送りますが。
それまでにだれかがソース貼ってくれるかもしれませんがw
0244デフォルトの名無しさんNGNG
>>237
すみません、私のミスでした。
ていねいなソースありがとうございました。
0245238NGNG
>>242
アドバイスありがとうございます。
もう一度挑戦してみます。
0246デフォルトの名無しさんNGNG
中点てのはなのよ?
(x1,y1)(x3,y3)の中点では、異なる2点を与えたのと同値で
円は一意に定まらない
0247デフォルトの名無しさんNGNG
>>246
ポカーン
0248デフォルトの名無しさんNGNG
用語の使い方がおかしい
0249238NGNG
>>246
中点に特に意味は無いです。
区別をつけたつもりが変な区別のつけ方になってしまいました。
0250デフォルトの名無しさんNGNG
>>247は数学のできないプログラマー
0251242NGNG
ということでやってみた
#include <stdio.h>
#include <math.h>
int main()
{
int i,j,k; double cx,cy,r;     double x[3],y[3];
double pivot; double a[3][4]; double erase;
printf("始点?:"); scanf("%lf,%lf", &x[0], &y[0]);
printf("中点?:"); scanf("%lf,%lf", &x[1], &y[1]);
printf("終点?:"); scanf("%lf,%lf", &x[2], &y[2]);
for(i=0; i<3; i++) {
 a[i][0] = x[i]; a[i][1] = y[i]; a[i][2] = 1.0; a[i][3] = -(x[i]*x[i] + y[i]*y[i]);
}
for(i=0; i<3; i++) {                   
  pivot = a[i][i];
  for(j=0; j<4; j++) {
    a[i][j] /= pivot;        
  }
  for(k=0; k<3; k++) {
    erase=a[k][i];                 
    for(j=i; j<4; j++){
      if(k != i) a[k][j] -= erase*a[i][j];
    }
  }
}
cx = a[0][3]/2; cy = a[1][3]/2;
r = sqrt((cx*cx) + (cy*cy) - a[2][3]);
printf("中心:(%lf, %lf)", cx, cy);
printf("半径:%lf", r);
return 0;
}
答えが整数になるような問題じゃないと解けないかも…
0252デフォルトの名無しさんNGNG
始点、中点、終点って3つの点ってことでいいよな
そもそも円だと始点と終点が同じ…
0253デフォルトの名無しさんNGNG
0除算チェック入れないと駄目だった…
0254デフォルトの名無しさんNGNG
中点の符号逆

あと始点のXが0だとだめだから
そのときは格納するときどこかと交換とか他色々
0255デフォルトの名無しさんNGNG
次の仕様を満足するプログラムを作成しなさい。

1.要素が50ある配列を二つ用意する。(とりあえずa[ ], b[ ]とする)
2.用意した配列a[ ]に数値をランダムに入れる
3.a[ ]の50個のデータのうち最小のものを求めて、b[0]に入れる
4.a[ ]の残りの49個のデータのうち最小のものを求めてb[1]に入れる
5.a[ ]の残りの48個のデータのうち最小のものを求めてb[2]に入れる
以下繰り返し。全部のデータがb[ ]に入ったらおしまい。
ど素人です。よろしくお願いします。
0256デフォルトの名無しさんNGNG
スレ違いでしたら、スイマセン。
N88BASICのプログラムをC言語に直せ。
という課題がでたのですが、一週間考えてもわかりません。
どうか教えてください。
0257デフォルトの名無しさんNGNG
Fractional Derivate
SCREEN2 : CONSOLE 0,25,0,0
KMAX=100:XMAX=300
RANDOMIZE
PI=3.14159*2:EK=PI/XMAX*.7
DIM ER(KMAX),EI(KMAX),F(XMAX)
FOR K=1 TO KMAX
GOSUB *GA : ER(K)=MO
GOSUB *GA : EI(K)=MO
NEXT K
*SA
CLS
INPUT "Fractional Derivate(1.0.-2.0)",D
A=5-2*D
FMAX=0 : FMIN=0
FOR K=1 TO KMAX : KA(K)=(EK*K)^(-A/2) : NEXT K
FOR X=0 TO XMAX
F(X)=0
FOR K=1 TO KMAX
KX=EK*K*X
F(X)=F(X)+KA(K)*(ER(K)*COS(KX)-EI(K)*SIN(KX))
NEXT K
IF FMAX<F(X) THEN FMAX=F(X)
IF FMIN>F(X) THEN FMIN=F(X)
NEXT X
RETURN
0258デフォルトの名無しさんNGNG
WINDOW (0,FMIN*1.2)-(XMAX,FMAX*1.2)
VIEW (0,200)-(XMAX,299)
FB=F(0)
FOR X=1 TO XMAX
LINE (X-1,FB)-(X,F(X))
FB=F(X)
NEXT X
GOTO *SA
*GA
MO=0
FOR GI=1 TO 10
MO=MO+RND-.5
NEXT GI
RETURN
0259デフォルトの名無しさんNGNG
256〜258までです。
どうかよろしくお願いします。
0260デフォルトの名無しさんNGNG
>>259
微妙にスレ違い。
で、Fractional Derivateってなんだ。
しかもLINEとかの描画処理が入ってるが、これはどうだろうな・・・。
こんな宿題出すやつの気が知れん。
OSはなんだ。Windowsか?
環境を明記しとけば、暇人が手伝ってくれるかもしれん。
0261234NGNG
>>243
本当にありがとうございます
捨てあどメ欄に書いておきます
0262デフォルトの名無しさんNGNG
C#の課題なのですが、DateTimeクラスでの、staticメンバとインスタンスメンバの違いは何か。
どう答えればいいかも
よく分からない小娘ですが、
宜しくお願いします。
0263デフォルトの名無しさんNGNG
まんこで釣ろうたって、そうはいかん
0264デフォルトの名無しさんNGNG
>>262
小娘なら小娘の武器を使え。
0265デフォルトの名無しさんNGNG
>>262
とりあえずおっぱいうp
0266デフォルトの名無しさんNGNG
>>262は大原ゆき
0267(・∀・)イイ!!NGNG
この喧騒の街で、一人ぼっちで
プログラミングする(・∀・)イイ!!
0268デフォルトの名無しさんNGNG
中途半端に小娘というキーワードの武器を使ったことで
さらに破壊的な武器を要求されてまつね

まぁこういう女を主張する香具師はロクに仕事できずに
給料平等にしろなどとのたまうんだろうがな
0269デフォルトの名無しさんNGNG
>>243
>>1
つーか、メルアド搾取が目的か?
0270デフォルトの名無しさんNGNG
>>262
臭いオシッコ飲ませろ。
0271(・∀・)イイ!!NGNG
プログラマ界に蔓延っている男尊女卑(・∀・)イイ!!
0272デフォルトの名無しさんNGNG
まあ問題はスレ違いってことだけなんだが…
メンバの違いとか言われてもなぁ…

クラスメンバはクラスで一つ
インスタンスメンバはインスタンスごとに一つ

とか?メソッドは違うけど。


つーかC#シラネ
0273169=173NGNG
>>214
失礼いたしますた
あまりビットとかバイトを理解してませんでした。
これではどうでしょうか?

指定されたファイルの指定された範囲のデーターをNOTで反転
例えば40ビット目から10ビットが1111001110だったら0000110001にして保存です。
0274デフォルトの名無しさんNGNG
>>271
何がイイんだかわかんねえよカスが!!
天の上にヒトを作らず、
天の下にヒトを作らず、
って言葉しらねえのかw?
だがな、天の下に実はヒトがいたんだよ!!
それが、ここにいる香具師ら、プログラマーなんだよWWWWWW
0275デフォルトの名無しさんNGNG
女プログラマーに言いたい

ひたすらコピペプログラミングしないで、きちんと清書下さい
なぜか動いてるから変えたくないとか言わないで下さい
殆どありえない場合だから構わないとか言わないで下さい
全然正しくない数式にいつまでもこだわらないで下さい
0276デフォルトの名無しさんNGNG
>>275
職にしてない者が言って悪いんだけど

そ れ っ て そ の 人 個 人 じ ゃ な い の ?


大半がそうならすまん
0277デフォルトの名無しさんNGNG
>きちんと清書下さい

pu
0278デフォルトの名無しさんNGNG
>>276
今のところ、俺の職場にあらわれては消えていった、そしていまいる
女プログラマーの共通項。その数10人以上
0279デフォルトの名無しさんNGNG
>>278
プログラマだから仕方ないじゃんw
0280259NGNG
環境はWindowsXPです。
非整数微積分をフーリエ変換を用いて表したものです。
フラクタルの授業の課題で出ました(T_T)
教官曰くC言語で簡単に書けるらしいのですが、全く掛けません。
0281デフォルトの名無しさんNGNG
>>275
確かにいるね
動いてるんだから他の部分変えたくないって人
ソース見たらごちゃごちゃしすぎて、行き当たりばったりでデバッグの繰り返しで継ぎ足していった感じ
そいつの直すのは根本的にむりぽ
0282デフォルトの名無しさんNGNG
>N88BASICのプログラムをC言語に直せ。

257と258の途中が抜けてるから無理
0283デフォルトの名無しさんNGNG
>>275
女じゃないけど、俺だvzo
0284259NGNG
>282 途中抜けてるんですか??
一応もらったプリントどおりにうつしてあるのですが^^;
0285デフォルトの名無しさんNGNG
>>281
女か?
0286デフォルトの名無しさんNGNG
課題
『標準入力からテキストファイルを読み込み、行を短い順に出力しなさい。
但し、行は最大 80 文字とし、 80 文字以上の行は先頭 80 文字だけの行として取扱い出力し、
空行は出力しないで下さい。
また、同じ長さの行は入力した順番に出しなさい。
レポートでは、実行例として、作成したソースプログラムをプログラムに入力した出力と、
http://www.bbn.com/index.html のホームページのソースを入力した結果を先頭 5 行、
最後の 5 行を示しなさい。

なお、取り扱える行数は実行時のコンピュータのメモリーのサイズのみに
依存しなければなりません。勝手な上限を設けてはいけません。』

CとC++のどちらでも構いません。よろしくお願いします。
0287デフォルトの名無しさんNGNG
>>285
男でも女でもいる。
でも、女の方が多いように感じる
職場に女がいなくて目につきやすいせいかわからんが
0288デフォルトの名無しさんNGNG
>>283
早く土方にでも転職しろや
0289282NGNG
:
NEXT X
RETURN

ここから

ここ

WINDOW (0,FMIN*1.2)-(XMAX,FMAX*1.2)
VIEW (0,200)-(XMAX,299)
:


returnの直後になぜ命令が?
0290デフォルトの名無しさんNGNG
BLEA女子高等部
http://www.blea.jp/j/index.html
0291デフォルトの名無しさんNGNG
>>288
肉体労働はいいよ。徹夜とかないからな

>>286
レポートでは、実行例として、作成したソースプログラムをプログラムに入力した出力と、
と
http://www.bbn.com/index.html のホームページのソースを入力した結果を先頭 5 行、
最後の 5 行を示しなさい。
って何か関係あんの?
0292259NGNG
>289 確かにそうです。すいません。
確認したところ257の最後のretuenはいらないみたいです。
でも何か間違っている気がします。ややこしくてすいません。
0293282NGNG
>何か間違っている気がします

*SA
 :
GOTO *SA


...ダメポ
0294デフォルトの名無しさんNGNG
END無い…
0295デフォルトの名無しさんNGNG
N88BASICなんてすっかり忘れてるなあ。。。
0296デフォルトの名無しさんNGNG
How many files (0-15)?
0297259NGNG
とりあえず教官にメールして聞いてみます。
どうも自分では、よくわかりません(T_T)鬱になります・・・
0298デフォルトの名無しさんNGNG
ここは?
http://www.vector.co.jp/soft/dos/prog/se008400.html?site=n
0299259NGNG
>298 いいサイトありがとうございます!
でも残念ながら使えません。。
コマンドプロンプトでも試したのですが、使えませんでした。
0300デフォルトの名無しさんNGNG
半日見ないと結構延びるねぇ、無駄に。

>>274
>天の上にヒトを作らず、
>天の下にヒトを作らず、
>って言葉しらねえのかw?
「天は人の上に人を作らず、人の下に人を作らず」って言葉なら知ってます。
0301デフォルトの名無しさんNGNG
どっちみち使えたって、そんな機械変換は見てすぐにばれる
0302デフォルトの名無しさんNGNG
>>259
そもそもコンパイラは?VC++?BCC?cygwin+XWindow+gcc?
それ次第で描画系コードが変わると思うんだけど。
0303デフォルトの名無しさんNGNG
>>286
#include <algorithm>
#include <iostream>
#include <list>
#include <string>
struct pred{
  bool operator()(const std::string& x, const std::string& y)
    {return x.length() < y.length();}
};
int main(){
  std::list<std::string> li;
  std::string line;
  while (std::getline(std::cin, line))
    if (!line.empty())
      li.push_back(line.length() > 80 ? line.substr(0, 80) : line);
  li.sort(pred());
  for (std::list<std::string>::const_iterator first = li.begin(), last = li.end(); first != last; ++first)
    std::cout << *first << std::endl;
}
0304デフォルトの名無しさんNGNG
for文でxをdt=0.01刻みで増やし、テキストファイルに落としたいのですが、
全部が必要ではなく(この場合MAX/dt=10000)、1、501、1001…
というように500刻みにするにはどうすればいいのですか?

double x;
double dt=0.01;
int MIN=0;
int MAX=100;
for(x<MIN;X<=MAX;X+=dt){
 if(xを500刻みで表示させたい。)
 printf("hogehoge");
 }
}
ifの中身を教えてください。お願いします。
0305デフォルトの名無しさんNGNG
dt変えれば
0306デフォルトの名無しさんNGNG
500で割った余りが1
0307デフォルトの名無しさんNGNG
double なのに?
0308304NGNG
>>305
区間(MIN<x<MAX)をできるだけ細かし、必要なだけ(500個とか300個等)
取り出したいのです。
0309デフォルトの名無しさんNGNG
キャストでも何でも好きなようにすりゃいいじゃん。
0310デフォルトの名無しさんNGNG
>>309
考えが浅いですね
0311デフォルトの名無しさんNGNG
>304

ループ用のixとdtはintで。
あらためてdoubleのxを使え。
0312デフォルトの名無しさんNGNG
>>310
そうですね
0313デフォルトの名無しさんNGNG
入力された文字の中にハイフンが入っていたらハイフン以降の文字列を表示
するというプログラムを作成しているのですが
char mozi[100];
gets(mozi);
char *haihun = strchr(mozi, '-');
int len;
if(NULL != haihun){  // ***
len = strlen(haihun);  // ***
}else{  // ***
len = 0;  // ***
}  // ***
printf "一個目のハイフン以降の文字数は%d文字です", len;
cygwin上では正常にコンパイル出来て動くのですがRedHat7.3(gcc-2.96-113)
上ではparse errorが出てしまいます。
***の部分をlen = strlen(haihun);の1行にすればコンパイルは通り動作するものの、
入力文字列にハイフンが含まれていないとNULLをstrlenするためかコアダンプしてしまいます。
見ての通りぴよぴよですが解決をご教授下さいませ。
0314デフォルトの名無しさんNGNG
「氏名」「国語の点数」「数学の点数」「国語数学の合計点」
をメンバに持った構造体を定義し、vectorを用いて成績表を作成せよ。
10人分入力し、最後に合計点の高い順に整列させ一覧を表示する事とする。

環境はC++のコンソールです。お願いします。
0315デフォルトの名無しさんNGNG
>>313
C++としてコンパイルしてるのかな?
Cだとシンタックスエラーになるはずなんだが。
それにprintfに括弧がついてないけど。

ソースをコピペしてみて。
0316デフォルトの名無しさんNGNG
>>313
Cなら変数の宣言は前のほうにもってくるほうがいいと思うけど。

char mozi[100];
char *haihun;
int len;

gets(mozi);
haihun = strchr(mozi, '-'); 以下略
0317デフォルトの名無しさんNGNG
>>303
ありがとうございます。
0318デフォルトの名無しさんNGNG
>>273
>>214ではないが、まだ仕様がわからない。

対象のファイルは、バイナリ?テキスト?
バイナリであれば、どこからどこまでを1つの数字と見ていいのか?

「1、2、3」という「数値の」並びがファイルにあるとしたら、どう変更すればいいのか?
2進数だと、「00000001、00000010、00000011」
0319259NGNG
>302 コンパイラの種類というのがよくわからないのですが、
コンパイルする時は gcc ファイル名 -O ファイル名 です。
初心者で申し訳ありません。できる方どうかよろしくお願いしますm(_ _)m
0320デフォルトの名無しさんNGNG
>>314
10人分の入力はどうやってやるの?
入力機能を作るの?
0321デフォルトの名無しさんNGNG
unsigned char a = 0xF2; //反転させたいビット列

unsigned char HANTEN(unsigned char a)
unsigned char b = 0x01;
unsigned char work =0, out =0;
for(int i=0; i<8; i++){
work = a & b;
work << (7 - i);
out = out | work;
b << 1;
}
return out;
}

下位から1bitずつ取り出してその分シフト、orで足し算、と。
取り出したビットがゼロだったら飛ばしてもいいかも
0322デフォルトの名無しさんNGNG
申し訳ない、321は誤爆デス
0323314NGNG
>>320
すいません。できればscanfとかcinなどで、
一人目の氏名→一人目の国語の点数→一人目の数学の点数
という感じで順番に手入力し、314の構造体に入れ、順次vectorに追加していく、、、
これを10人分繰り返す、という感じでお願いします。
原始的というか、初歩的な感じで結構です。よろしくお願いします。
0324デフォルトの名無しさんNGNG
*SAの終了がRETURNで、*SAからRETURNまでは最初はスキップされるから、
*SAまでの初期化のあとに実行されるのは
WINDOW (0,FMIN*1.2)-(XMAX,FMAX*1.2)
から。
なのか?
それにしてもなんでGOTO*SAなんだ?
0325デフォルトの名無しさんNGNG
ttp://bungee.j.dendai.ac.jp/prog2/exe/08/
課題B教えて!
0326デフォルトの名無しさんNGNG
>教官曰くC言語で簡単に書けるらしいのですが、全く掛けません。
↑
この教官バカ。学校変えた方がいい。
0327デフォルトの名無しさんNGNG
馬鹿大学か
0328デフォルトの名無しさんNGNG
http://bungee.j.dendai.ac.jp/
・・・orz
0329デフォルトの名無しさんNGNG
>>328
ファラタ
0330デフォルトの名無しさんNGNG
今時の学校教育は VMware でつか
ttp://bungee.j.dendai.ac.jp/prog2/prep/login_logout.html
0331259NGNG
そのバカ教官からの返信メールですが、
そのプログラムは多少間違えてるけど、そこは推測してC言語に直すように
だそうです。。
嫌になります。とりあえず今から学校に行ってあがいてきます・・・
0332デフォルトの名無しさんNGNG
>>325
http://bungee.j.dendai.ac.jp/prog2/consulting/index.html#teaching
ここ嫁
0333デフォルトの名無しさんNGNG
>>331
そのサンプルはBASICで書いた時の例でしかなくて、
実際には別の問題文かなにかがあるんじゃないのか?
だったら、その問題文の方をここにうpしろ。
0334デフォルトの名無しさんNGNG
おまえら、まんこにはやさしいねぇ・・・・・・
0335デフォルトの名無しさんNGNG
>>331
バカ教官が昔書いたプログラムを
自分でCに置き換え出来ないので
学生にやらせようという魂胆だろうと
エスパーしてみる。

0336デフォルトの名無しさんNGNG
http://bungee.j.dendai.ac.jp/prog2/etc/errata.html

char x[100];
fgets(x, sizeof(x), stdin); ← 修正箇所
x[strlen(x)-1] = '\0'; ← 修正箇所

なにやってんだこれは?w
0337デフォルトの名無しさんNGNG
改行コード消してんでしょ、多分
0338デフォルトの名無しさんNGNG
>>325
ぶっちゃけカコイイと思ったの反対の賛成なのだ
0339デフォルトの名無しさんNGNG
>>314
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
struct student{
std::string name;
int japanese;
int english;
int total;
};
struct pred{bool operator()(const student& x, const student& y){return x.total > y.total;}};
int main(){
std::vector<student> table;
for (int i = 0; i < 10; ++i){
student temp;
std::cout << i + 1 << "番目の名前は?:";
std::cin >> temp.name;
std::cout << i + 1 << "番目の日本語は?:";
std::cin >> temp.japanese;
std::cout << i + 1 << "番目の英語は?:";
std::cin >> temp.english;
temp.total = temp.japanese + temp.english;
table.push_back(temp);
}
std::sort(table.begin(), table.end(), pred());
for (std::vector<student>::const_iterator first = table.begin(), last = table.end(); first != last; ++first)
std::cout << first->name << ' ' << first->japanese << ' ' << first->english << ' ' << first->total << std::endl;
return 0;
}
0340デフォルトの名無しさんNGNG
> char x[100];
> fgets(x, sizeof(x), stdin); ← 修正箇所
> x[strlen(x)-1] = '\0'; ← 修正箇所

fgets()って必ず最後に'\0'いれてくれんだっけ?
strlen()が正しく動かない時はないのけ?
0341デフォルトの名無しさんNGNG
fgetsが正常に動作してれば確実に'\0'は入る
0342デフォルトの名無しさんNGNG
char *fgets(char *s, int size, FILE *stream);
fgets() は size よりも1文字以上少ない文字を stream から読み込み、 s で示されるバッファに書き込む。
読み込みは EOF または改行文字を読み込んだ後終わる。
改行文字は読まれるとバッファに書き込まれる。
'\0' 文字がバッファの中の最後の文字の後に1文字書き込まれる。
0343デフォルトの名無しさんNGNG
>339

「日本語」ってあーた(w

>「国語の点数」「数学の点数」「国語数学の合計点」
微妙に問題と違ってますけど。
残念!
0344339NGNG
悪かったな、どうせ俺は日本人だよ。国語と言えば日本語しか
思いつかないようなやつだよ。
0345(・∀・)good!!NGNG
I'm just a Japanese.(・∀・)good!!
0346デフォルトの名無しさんNGNG
>344

ってゆーか、数学嫌いなんだろ(w
0347314NGNG
>>344
STL使った事なかったんですが助かりました。
ありがとうございました。

ところでvectorって普通の構造体配列のように
たとえばhoge[2].japanese=60;みたく
あとから簡単に特定の要素番号とメンバを指定して値を入れなおすのって
できないんでしょうか。
0348デフォルトの名無しさんNGNG
>>347
できるに決まってるやん。出来なかったら糞だし誰も使わないよ。
0349314NGNG
あ、普通にできました。イテレーターがどうとかでそんなものを使わないと
できないのかと思ってました。
0350デフォルトの名無しさんNGNG
ttp://bungee.j.dendai.ac.jp/prog2/exe/08/
課題B教えて!
0351デフォルトの名無しさんNGNG
ttp://bungee.j.dendai.ac.jp/prog2/exe/08/
課題B教えて!
おながいすます!
0352デフォルトの名無しさんNGNG
>>325 >>350-351
http://bungee.j.dendai.ac.jp/prog2/consulting/index.html#teaching
ここ嫁
0353デフォルトの名無しさんNGNG
ttp://bungee.j.dendai.ac.jp/prog2/exe/08/
うるせえ!
はや教えろやキモオタ!!

0354デフォルトの名無しさんNGNG
常識のない人間がいるようですね。
0355デフォルトの名無しさんNGNG
ttp://bungee.j.dendai.ac.jp/prog2/exe/08/
早くしろ!
間にあわねー
0356デフォルトの名無しさんNGNG
>>355
提出期限は11月29日だろ?
まだまだじゃねーか。
0357デフォルトの名無しさんNGNG
>>355
> 本課題の提出期限は、祭日を挟むので再来週の11月29日(月)午後8:00 とする。

まだまだ余裕じゃん。
0358デフォルトの名無しさんNGNG
ttp://bungee.j.dendai.ac.jp/prog2/exe/08/
おれはtex打つのが苦手なんだよ!
0359デフォルトの名無しさんNGNG
本人が書き込んでるんだろうか
0360デフォルトの名無しさんNGNG
んなわけねえだろ
0361デフォルトの名無しさんNGNG
ttp://bungee.j.dendai.ac.jp/prog2/exe/08/
どっちだっていいじゃねーか!
はや教えろ
0362デフォルトの名無しさんNGNG
本人はどこへ行ったんだろう
0363デフォルトの名無しさんNGNG
できた。

#include <stdio.h>
#include <stdlib.h>
#define MAX 100
(こぴぺがたるいので以下略)

以上。
0364その1NGNG
#include <stdio.h>
#include <stdlib.h>
#define MAX 100

typedef struct {
    int number[MAX]; /* 各桁の数字 */
    int figure; /* 桁数 */
} MPI;

// 関数のプロトタイプ宣言
MPI *getInteger(int);
int compareInteger(MPI *, MPI *);

int main() {
    MPI *a, *b;
    int result;

    // aの入力
    printf("aの値: ");
    a = getInteger(MAX);
    if ( !a )
        return -1;

    // bの入力
    printf("bの値: ");
    b = getInteger(MAX);
    if ( !b )
        return -1;
0365その2NGNG

    // aとbの比較
    result = compareInteger(a, b);

    // 結果の出力
    if ( result > 0 ) {
        printf("aの方が大きい\n");
    } else if ( result < 0 ) {
        printf("bの方が大きい\n");
    } else {
        printf("aとbは等しい\n");
    }
    free(a); a = NULL;
    free(b); b = NULL;
    return 0;
}
0366その3NGNG

    a = (MPI *)malloc(sizeof(MPI));
    if(!a)return NULL;

    // 標準入力 からmax+1個の文字を読み込む
    fgets(ch, max+2, stdin);

    // 受けとった文字を先頭から調べて、数字以外のときはエラーとする
    for ( i = 0; i < max; i++ )
        if ( '0' <= ch[i] && ch[i] <= '9' ) {
            continue;
        } else if ( ch[i] == '\n' ) {
            break;
        } else {
            printf("数字以外が入力されました\n");
            free(a);
            return NULL;
        }
0367その4NGNG

    // max+1の長さ文字列を受け取ったとき、改行で終わってないときはエラーとする
    if ( i == max ) {
        if ( '0' <= ch[i] && ch[i] <= '9' ) {
            printf("入力が長すぎます\n");
        free(a);
            return NULL;
        } else if ( ch[max] != '\n' ) {
            printf("数字以外が入力されました\n");
            free(a);
            return NULL;
        }
    }

    // 各桁の文字を数に置き換えて逆順に配列に格納し、数を表現する
    a->figure = i;
    for ( i = 0; i < a->figure; i++ )
        a->number[i] = ch[a->figure - i -1] - '0';

    // 0から数字が始まっているときは、桁数を減らす
    for ( i = a->figure - 1; i > 0; i-- ) {
        if (a->number[i] == 0) {
            a->figure--;
        } else {
            break;
        }
    }

    return a;
}
0368その5NGNG

int compareInteger(MPI *a, MPI *b) {
    int i;

    if ( a->figure < b->figure ) return -1;
    if ( a->figure > b->figure ) return 1;

    for ( i = a->figure -1; i >= 0; i--) {
        if ( a->number[i] < b->number[i] ) return -1;
        else if ( a->number[i] > b->number[i] ) return 1;
        else {
            continue;
        }
    }

    return 0;
}
0369デフォルトの名無しさんNGNG
325 350 351はおいらですが、他違いますです
0370デフォルトの名無しさんNGNG
ageてる時点でんなの誰でも気づいてるっちゅーの
0371デフォルトの名無しさんNGNG
ポインターの宿題でクラス内関数です。
C++でVB6使ってます。

プログラム内容は銀行の入金と出金を個別にファイルから入力しそれをポインタを使ってメモリに保存していくものです。
他の関数(入金と出金)を呼び出す必要があると思いますがそれは省略してくれてOKです。

この関数の役割はそのポインタと配列を使ってメモリ内にストア
していくものです。説明不足でしたら申し訳ありませんがよろしくおねがいします。
void CCheckbook::InsertTransaction(char type,float amount)
{
//InsertTransaction will insert a pointer to a newly
//created Transaction into an unsorted list (array) of pointers to Transactions.

//Dynamically create a new Transaction and store its pointer in the
//transactions array at the correct index.

//Populate the new Transaction with the passed in type and amount.

//Increment a member variable to get ready for the next insert.
}
0372デフォルトの名無しさんNGNG
質問の仕方すら分からないような低脳は素直に単位落としといた方が
お前のためにも周りの為にもなる。
0373デフォルトの名無しさんNGNG
だって友達いないし、今回だけ人助けだと思って助けておくれよ
周りは友達のコピーしまくりらしいけど、俺はそんな友達いないだんよ
単位落としたくないよ・・・
0374デフォルトの名無しさんNGNG
辞めればいいじゃん
0375デフォルトの名無しさんNGNG
ファイル名も分からんし、クラスのメンバも分からん。
その状態で俺が作った所で頓珍漢で無駄だらけのプログラムになる事必至。

だから作らん。
>>373
コピーされてる大元は自分で作った奴だろ?
オマエも自分で作れ。
0376デフォルトの名無しさんNGNG
>>355見て思ったんだが、構造体の名前を全て大文字で書くのは如何な物か?
0377デフォルトの名無しさんNGNG
俺もtypedefするときは全部大文字で書くよ
0378デフォルトの名無しさんNGNG
>>377
マジで?そっちのが一般的なの?
0379デフォルトの名無しさんNGNG
[1] 授業単元:IT入門
[2] 問題文:n×n行列Aが与えられたとき逆行列A^-1を計算するプログラムを作成しなさい。
[3] 環境
 [3.1] OS:リナックス
 [3.2] コンパイラ(バージョン):gcc
 [3.3] 言語:C
[4] 期限:11月26日

お願いします
0380デフォルトの名無しさんNGNG
俺も大文字
0381371NGNG
クラスです。
ファイルには「D, 234.25」「W, 25.13」といった感じで表現されており、
「D」の場合そのあとの数を入金し、「W」のときに出金します。
そこで挿入した数値を上記の「void InsertTransaction(char,float);」にて
ポインタで処理するわけです。

class CCheckbook
{
public:
CCheckbook(ofstream &);
~CCheckbook();
CCheckbook( const CCheckbook& otherCheckbook);

void Deposit(float); //入金の関数
void Withdrawal(float); //出金の関数
void ReadTransactions(ifstream &);
void InsertTransaction(char,float); //この関数
float GetBalance() const;
void PrintTransactions() const;
void PrintDeposits() const;
void PrintWithdrawals() const;
bool IsFull() const;
void SortTransactions();

private:
Transaction * transactions[MAX_TRANS];
int numOfTransactions;
float balance;
ofstream & outfile;
};
0382デフォルトの名無しさんNGNG
>>379
Lapack使え。
0383デフォルトの名無しさんNGNG
逆行列の計算って宿題でやるレベルなの?
0384デフォルトの名無しさんNGNG
>>376
漏れは一文字目のみ大文字かな。
全部大文字はマクロ定義ぐらい。
0385デフォルトの名無しさんNGNG
>>380
うそーん・・・
>>384
だよな!!俺もだ。
ちょっと安心した。これからもこれで行く。
0386デフォルトの名無しさんNGNG
#include<stdio.h>
#include<math.h>
#define M 0.0001
double f1(double x)
{
       return(exp(x)-1.0/x);
}
double f2(double x)
{
       return(exp(x)+1.0/pow(x,2));
}
int main(void)
{
       double x1=1.0,x2;
       do{
          x2=x1;
          x1-=(f1(x1)/f2(x1));
       }while(fabs(x2-x1)<M);
       printf("x=%f\n",x1);
       return(0);
}

ニュートン・ラフソン法でexp(x)-(1..0/x)を解く問題なのですが
なぜか1回しかループしません。だから答えが出ないんです。
教えてくんでゴメンナサイ、教えてください。
0387デフォルトの名無しさんNGNG
>>381
ポインタとか言ってるけど引数にポインタねーじゃねーか。
グローバルか?変数名わかんねーよ。
それとファイル名もわかんねーよ。
0388デフォルトの名無しさんNGNG
>>378
一般的かはしらん。
とりあえず、MSのPlatform SDKでは大文字になってる。

他のソースの構造体も見てみる
0389デフォルトの名無しさんNGNG
>>386
while ループを勉強するといいと思う
0390デフォルトの名無しさんNGNG
>>386
0391デフォルトの名無しさんNGNG
>>385
安心しろ、漏れもだ
0392デフォルトの名無しさんNGNG
>>386
whileは条件式が真の時にループする(偽になったら止まる)
本当は閾値以下になったらループを止めたいんだろうから
fabs(x2-x1) > M を式とすべき
あとどうでもいいけど、
数値計算やるならfabsとか使わないほうがいい
0393デフォルトの名無しさんNGNG
難しいことはわからんが、Mの横の比較演算子が逆なんちゃうかと…直感レス
0394デフォルトの名無しさんNGNG
>>392
ニュートン・ラフソン法って何?
って聞いていい?
0395デフォルトの名無しさんNGNG
>>386
int main(void){
double x1,x2;
x1=1.0;
x2=x1-f1(x1)/f2(x1);
while(fabs(x1-x2)>M){
x1=x2;
x2=x1-f1(x1)/f2(x1);
}
return(0);
}
ほいよ
0396デフォルトの名無しさんNGNG
>>392
宿題程度なんだし、わざわざ関数マクロ作らないでもヨカロ
0397デフォルトの名無しさんNGNG
>>392
> あとどうでもいいけど、
> 数値計算やるならfabsとか使わないほうがいい

横から失礼。
これはどうしてですか?
0398デフォルトの名無しさんNGNG
ニュートン法といっしょ
0399デフォルトの名無しさんNGNG
>>397
遅くなるからでしょ?

細かい事言ったら[ ]とか->とかも止めた方がいいと思う。
最適化オプションつければ関係無いけど、
コンパイラの方にもバグあるからねぇ。

数値計算限定の話じゃないかな。
0400デフォルトの名無しさんNGNG
abs( )系は二乗して平方根とってるから
0401386NGNG
どうも有難うございます。
嬉しくて涙が出そうです。
私、馬鹿なんで細かい事は分からないんですけど理解できるようがんばります。
0402デフォルトの名無しさんNGNG
>>400
まじですかそれ。しらんかった。
ほんまかどうか調べてみよう。。。
0403デフォルトの名無しさんNGNG
>>400
符号ビットをクリアするだけだと思っていたんだけど。
0404デフォルトの名無しさんNGNG
嘘に決まってるだろ
0405デフォルトの名無しさんNGNG
>>404
がー、ほんきにしちゃったよ。
0406デフォルトの名無しさんNGNG
abs() は符号ビットをクリアしているだけだね (VC6 で)。

int Func1(void)
{
    return abs(-1);
}

7:    int Func1(void)
8:    {
00401000   or          eax,0FFFFFFFFh
00401003   cdq
00401004   xor         eax,edx
00401006   sub         eax,edx
9:        return abs(-1);
10:   }
00401008   ret
0407デフォルトの名無しさんNGNG
fabs() は fabs 命令になるだけだね (VC6 で)。

double Func2(void)
{
    return fabs(-1.0);
}

12:   double Func2(void)
13:   {
00401010   fld         qword ptr [__real@8@bfff8000000000000000 (004070c0)]
00401016   fabs
14:       return fabs(-1.0);
15:   }
00401018   ret
0408デフォルトの名無しさんNGNG
だったら、どうして fabs() を使ったらあかんの?
誰か本当のこと教えてください。m(_ _)m
0409デフォルトの名無しさんNGNG
CPUにバグがあるから
0410デフォルトの名無しさんNGNG
>>388
MSが基準と思うな
大文字小文字はマクロ・関数・変数・クラス(構造体)など区別すべき

一般的、と謳うのは避けておくが
全て大文字:マクロ
クラス(構造体):単語の頭文字は大文字、その他小文字
は大抵お決まり
関数・変数はわりと好みが分かれるが、全て大文字はまずないだろう
0411デフォルトの名無しさんNGNG
>>409
またまた〜。ほんまですか?
0412392NGNG
あー、ごめん
fabs()は遅いってあたまがあったんだけど…
もうしわけない 知ったかぶりでした
0413デフォルトの名無しさんNGNG
>>410
一つ例挙げただけなのに「基準と思うな」って言われても困る。

typedef struct (A){
} (B);

(B)はstruct (A)に置き換えられるようなもんだから、
って理由で全部大文字で書いてる。俺は。

ちなみに、(A)の所は全部大文字ではない。
0414デフォルトの名無しさんNGNG
>>412
遅いのはdoubleとかfloatをintにキャストする時じゃなかった?
0415デフォルトの名無しさんNGNG
>>414
VC6 では __ftol() 関数が呼び出されるね。
たしかに遅くなりそう。

__ftol:
004010A0   push        ebp
004010A1   mov         ebp,esp
004010A3   add         esp,0FFFFFFF4h
004010A6   wait
004010A7   fnstcw      word ptr [ebp-2]
004010AA   wait
004010AB   mov         ax,word ptr [ebp-2]
004010AF   or          ah,0Ch
004010B2   mov         word ptr [ebp-4],ax
004010B6   fldcw       word ptr [ebp-4]
004010B9   fistp       qword ptr [ebp-0Ch]
004010BC   fldcw       word ptr [ebp-2]
004010BF   mov         eax,dword ptr [ebp-0Ch]
004010C2   mov         edx,dword ptr [ebp-8]
004010C5   leave
004010C6   ret
0416デフォルトの名無しさんNGNG
>>413
その他との区別をどうしてるか知らんが
くれぐれも他人に渡すソースは可読性の低いものにするなよ?
0417デフォルトの名無しさんNGNG
>>416
君のしてる区別方法を見せて貰いたい。
0418313NGNG
315さん、316 さんありがとうございました。
予想されたとおり、cgwinではC++、Linux上ではCでコンパイルしておりました。
コンパイルしている言語が違うことに微塵も気づく気配が無いほどぴよぴよでした。
本買って勉強してきます。
0419デフォルトの名無しさんNGNG
俺は416じゃないが、
typedef struct (A) {
} (B);

は、例えばHogeなら
(A) : Hoge_
(B) : Hoge
てなように内部実装ぽく書いてる
0420デフォルトの名無しさんNGNG
>>418
とりあえず拡張子かえれば?
0421デフォルトの名無しさんNGNG
>>257
ソースが正しいと仮定すると、
*SA
は只のラベルだから
NEXT K
に続いて
CLS
が実行される。
そして、
RETURN
で戻り先がなくてアボーン。
0422デフォルトの名無しさんNGNG
>>421
ネタだったらしいよ
0423デフォルトの名無しさんNGNG
>>286
ここできいてることを教授に報告しておいたよ
0424デフォルトの名無しさんNGNG
>>417
君の反応からして今まで読みやすいソースを意識してなかった香具師に見える
指摘されて逆切れ、みたいな

違ったら悪いが
0425デフォルトの名無しさんNGNG
プログラマー軍団って、何かいいね。
強そうで。
0426(・∀・)イイ!!NGNG
プログラマー軍団が解決(・∀・)イイ!!
全然コード書いてないのに、ここに居座って優越感に浸る(・∀・)イイ!!
0427259NGNG
>421 おっしゃるとおりです。
色々試してみましたが、上手くうごきません。
問題は非整数ブラウン運動の例です。諦めそうです。。
0428デフォルトの名無しさんNGNG
>>427
期限いつまでだっけ?
0429259NGNG
24日までです(T_T)連休がつぶれそうです。。。
0430デフォルトの名無しさんNGNG
Win95時代に、時勢に逆らってMS-DOS&マシン語にしがみついていた
つわもの集団。
新日本プログラミングを知ってる人はいるのか?
0431デフォルトの名無しさんNGNG
新日本プロレスリングなら知ってる
0432デフォルトの名無しさんNGNG
時代は大阪プロレスです
0433デフォルトの名無しさんNGNG
>>429
>421以前に、kaって配列が使われているのに宣言されていないからエラーになると思われ。
元のプログラムが未完成品なのか、全文伝わっていないのか。
どっちみち、0から書いたほうが早そうな。
0434デフォルトの名無しさんNGNG
「VisualBasicゲームプログラミングの応用50例」の人?
0435デフォルトの名無しさんNGNG
>全文伝わっていないのか

はげしくどうい
0436デフォルトの名無しさんNGNG
>>429
試しにやってみた
http://49uper.com:8080/html/img-s/23984.zip

ネタにちかい…
忠実に再現することを念頭におきますた
一応動く…
0437234NGNG
>>235
忙しい中本当にありがとうございます。
0438デフォルトの名無しさんNGNG
>>430
>新日本プログラミングを知ってる人はいるのか?

俺にはPCマガジンの燃える闘魂、マシン語秘伝の書の中の人
日高総帥の文章は個性的なので、かなり印象に残ってるなぁ…
0439デフォルトの名無しさんNGNG
>>436
漏れは ga() はこれだけでいいと思った

int ga()
{
  return ((rand() % 11) - 5);
}
0440259NGNG
>436さん,439さん
本当にありがとうございます。今すぐ試すことができないのですが、残念ですが。
急いで試しに行きたいと思います。
本当に本当にありがとうございます!!!
0441デフォルトの名無しさんNGNG
というかあれだとrand()を先にdoubleにキャストしないと駄目じゃん…
0442デフォルトの名無しさんNGNG
正しいソースがあるならテストランできるんだけどな。
#さっきPC-9801DAの電源入れたらMS-DOS版N88Basicがちゃんと動いた。
尤も、Webに繋ぐためにはPC(Win端末)とシリアル(RS-232c)で転送しないとならないけど。
0443デフォルトの名無しさんNGNG
うちにもDAあるんだがHDDに溜まってる過去のデータを
転送しようとおもっても9600bpsじゃ時間掛かりすぎてorz
0444デフォルトの名無しさんNGNG
エミュで何とかしよう、と思ったら、ROM-BASICしか使えないorz
0445デフォルトの名無しさんNGNG
3点を通る円を作りたいのですが、
どのようにをプログラムを作ったらよいかどなたか教えてください。
・分かってる点、始点(X1,Y1)中点(X2、Y2)終点(X3,Y3)です。
円弧は円のみではなく始点から始まって終点まで描画する円弧も作成できるようにしたいです。
・(X-X0)^2+(Y-Y0)^2=r^2の式を使って連立方程式を立て中心(X0,Y0)と半径rを求めたいです。

0446デフォルトの名無しさんNGNG
>>445
3点がわかっているのだから解は一意に決まるんじゃないの?
手計算で連立方程式も簡単にとけるでしょ。
それとも連立方程式をプログラムで解かないといけないの?
0447デフォルトの名無しさんNGNG
238==445?
0448デフォルトの名無しさんNGNG
<<446
三点の値は自由に変えられるようにしたいです。

<<447
はい。またアドバイスがいただけたらと…
0449デフォルトの名無しさんNGNG
もう何回も答えは出てるだろが
0450デフォルトの名無しさんNGNG
>>448
だから、三点の座標を(x1,y1),(x2,y2),(x3,y3)として連立方程式を解けばいいじゃないか。
君、この程度の数式もとけないの?
0451デフォルトの名無しさんNGNG
>>448
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=6778&forum=3&start=8&10
0452デフォルトの名無しさんNGNG
>>451 ありがとうございます。
0453デフォルトの名無しさんNGNG
>>259
オリジナルのBASICプログラムは無駄なコードだらけなので整理した。
/*
  Fractional Derivate
*/

#include  <windows.h>

#include  <stdio.h>
#include  <stdlib.h>
#include  <time.h>
#include  <math.h>

#define  KMAX  100
#define  XMAX  300

#define  MAXBUF  256
#define  PI  3.14159265358979323846

double  ga()
{
  double  r = 0.0;
  int  i;

  for(i = 0; i < 10; i++){
    r += ((double)rand() / RAND_MAX) - 0.5;
  }

  return  r;
}
0454デフォルトの名無しさんNGNG
int  main(void)
{
  double  ek = PI * 2.0 * 0.7 / XMAX;
  double  a = 2.5 - 1.0;
  double  fmax = 0.0;
  double  fmin = 0.0;
  double  f[XMAX];
  int  x, k;

  srand((unsigned)time(NULL));

  for(x = 0; x < XMAX; x++){
    f[x] = 0.0;
    for(k = 0; k < KMAX; k++){
      double  rk = k + 1.0;
      double  kx = ek * rk * x;
      f[x] += pow((ek * rk), -a) * (ga() * cos(kx) - ga() * sin(kx));
    }
    if(fmax < f[x])
      fmax = f[x];
    if(fmin > f[x])
      fmin = f[x];
  }
0455デフォルトの名無しさんNGNG
  {
  int  x0 = 100;
  int  y0 = 200;
  double  w = 200.0 / (fmax - fmin);

  HWND  hWnd = NULL;
  HDC  hDC = GetDC(hWnd);
  RECT  r = {100, 100, 400, 300};
  HBRUSH  hbr = (HBRUSH)GetStockObject(GRAY_BRUSH);
  HPEN  hpen = (HPEN)GetStockObject(BLACK_PEN);
  SelectObject(hDC, hpen);

  FillRect(hDC, &r, hbr);

  MoveToEx(hDC, x0 + 0, y0 + 0, NULL);
  for(x = 0; x < XMAX; x++){
    char  s[256];
    sprintf(s, "%24.18f, %24.18f", f[x], f[x] * yw);
    TextOut(hDC, 500, 20 * x, s, strlen(s));
    LineTo(hDC, x0 + x + 1, y0 + (int)(f[x] * yw));
  }

  ReleaseDC(hWnd, hDC);
  }

  return  0;
}

まあ、かなり手抜きなんだが、 >>436 よりはマトモに動く。
0456デフォルトの名無しさんNGNG
double w = 200.0 / (fmax - fmin);
↓
double yw = 200.0 / (fmax - fmin);

直してくれ。スマソ
0457235NGNG
もう見てないかもしれませんが

>>437
説明を見落としてました
前に送ったのはクイックソートでした
もういっぺん送ります


あふぉな漏れですみませんorz
吊ってきます・・・
0458デフォルトの名無しさんNGNG
c++で以下の条件でのプログラムを書く問題です。よろしくお願いします。
○ クラス名:
- bank_account
○ データメンバ:
- name (char 配列,名前)
- personal_code (int 型,暗証番号)
- balance (int 型,残金)
○ メンバ関数:
- init_account(char *name0, int code0, int pay0) (void 型)
口座の初期化を行う.名前,暗証番号,最初の入金を入力する.
- pay_in(int pay) (void 型)
口座に入金する.
- withdraw(int draw) (void 型)
口座からお金を引き出す.ただし暗証番号を入力させて,正しい場合のみ引き出す.
- show_balance() (void 型)
残高照会.名前と残高を表示する.残高がマイナスの場合は加えて”赤字です.」と表示す
る.
- is_correct_code(int code) (bool 型)
暗証番号を調べる.正しければtrue を返し,間違っていればfalse を返す.
※ 必要なら口座の初期化を行うコンストラクタも作成すること.
○ main 関数
下記の流れで処理を行う.
1. 名前,暗証番号,最初の入金を入力し,bank_account クラスの初期化を行う.
2. while ループに入る.
次のように表示して,番号を入力する.
終了の番号(0)が入力されるまでループを繰り返す.
cout << "番号を入力してください." << endl;
cout << "(1:入金,2:引き出し,3:残高照会,0:終了):";
3. (ループの中で)switch 文で入力された番号をもとに処理を分岐させ,それぞれの処理を行う.
ただし,お金を引き出す場合は暗証番号の入力を求めて,暗証番号が正しい場合のみ
引き出すこと.
0459デフォルトの名無しさんNGNG
そこまでわかっていて何故書けないんだろう…
0460458NGNG
>>459
愚か者ですまんです。
お察しください。
0461デフォルトの名無しさんNGNG
#include <iostream>
using namespace std;
class bank_account {
private:
    char *name; int personal_code; int balance;
public:
    ~bank_account(){};
    void init_account(char *name0, int code0, int pay0);
    void pay_in(int pay);
    void withdraw(int draw);
    void show_balance();
    bool is_correct_code(int code);
};
void bank_account::init_account(char *name0, int code0, int pay0) {
    name = name0; personal_code = code0; balance = pay0;
}
void bank_account::pay_in(int pay) {
    balance += pay;
}
void bank_account::withdraw(int draw) {
    balance -= draw;
}
void bank_account::show_balance() {
    cout << "名前:" << name << endl;
    cout << "残高:" << balance << endl;
    if(balance < 0) cout << "赤字です" << endl;
}
bool bank_account::is_correct_code(int code) {
    if(personal_code == code) return true;
    return false;
}
0462続きNGNG
int main()
{
  int number; int pay,draw,code;
  bank_account ba;
  ba.init_account("暇人", 459, 1000);

  while(1) {
    cout << "番号を入力してください." << endl; cout << "(1:入金,2:引き出し,3:残高照会,0:終了):";
    cin >> number;
    switch(number) {
          case 1:
        cout << "金額?:"; cin >> pay;
        ba.pay_in(pay);
        break;
      case 2:
     cout << "暗証番号?:"; cin >> code;
     if(ba.is_correct_code(code)) {
       cout << "OK" << endl; cout << "金額?:"; cin >> draw;
       ba.withdraw(draw);
     } else { cout << "Error" << endl; }
     break;
      case 3:
        ba.show_balance();
     break;
      case 0:
     return 0;
    } 
  }
}
0463C言語/コンパイラ:gccNGNG
ノートから構成されるリスト構造を用いて
名前と電話番号を入力して名前が文字コード順になるように名前と電話番号を
出力するプログラムなのですが、肝心DisplayList以外の関数が出来ません。
どうかよろしくお願いします。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct _node {
  char name[20];
  char phone[12];
  struct _node *next;
}Node;
Node *CreateNode(Node*),*InsertNode(Node*,Node*);
void DisplayList(Node*),FreeList(Node*);
int main(void)
{
  Node *p=NULL,q;
    while(1){
      printf("名前:"); scanf("%s",q.name);
      if(strcmp(q.name,"end")==0) break;
        printf("電話番号"); scanf("%s",q.phone);
        p=InsertNode(p,CreateNode(&q));
      }
      DisplayList(p);
      FreeList(p);
      return;
}
Node CreateNode(Node*){}//ノードの作成(ヒープ領域の確保及び値の設定)
Node *InsertNode(Node*,Node*){}//ノードの挿入
void DisplayList(Node*){}
void FreeList(Node*){}//リスト全体のヒープ領域の開放
0464デフォルトの名無しさんNGNG
>>463
Node* CreateNode(Node* src){
Node* ret = (Node*)malloc(sizeof(Node));
memcpy(ret, src, sizeof(Node));ret->next = NULL;
return ret;
}
Node* InsertNode(Node* dest, Node* src){
Node* temp;
if (dest == NULL){dest = (Node*)malloc(sizeof(Node));memcpy(dest, src, sizeof(Node));}
else if (dest->next == NULL){dest->next = (Node*)malloc(sizeof(Node));memcpy(dest->next, src, sizeof(Node));}
else if (!(strcmp(dest->next->name, src->name) < 0)){temp = (Node*)malloc(sizeof(Node));memcpy(temp, src, sizeof(Node));temp->next = dest->next;dest->next = temp;}
else /* strcmp(dest->next->name, src->name) < 0 */InsertNode(dest->next, src);
return dest;
}
void DisplayList(Node* root){Node* cur = root;while (cur != NULL){printf("name:%20s phone:%12s\n", cur->name, cur->phone);cur = cur->next;}}
void FreeList(Node* ptr){if (ptr->next != NULL) FreeList(ptr->next);free(ptr);}
0465463NGNG
>>464
ありがとうございました。とっても助かりました。
がんばります。
0466デフォルトの名無しさんNGNG
ノートから構成されるリスト構造を用いて
ノートから構成されるリスト構造を用いて
ノートから構成されるリスト構造を用いて
0467デフォルトの名無しさんNGNG
[head] - [ノート1] - [ノート2] - [ノート3] - [NULL]
0468デフォルトの名無しさんNGNG
短縮

Node* InsertNode(Node* dest, Node* src){
if (dest == NULL){dest = src;}
else if (dest->next == NULL){dest->next = src;}
else if (!(strcmp(dest->next->name, src->name) < 0)){src->next = dest->next;dest->next = src;}
else InsertNode(dest->next, src);
return dest;
}

間違ってたらスマソ
0469デフォルトの名無しさんNGNG
大学ノートか?バインダーか?
0470デフォルトの名無しさんNGNG
ノードの間違い


だと釣られてみるテスト
0471デフォルトの名無しさんNGNG
デスノート万歳!
0472デフォルトの名無しさんNGNG
あれ面白いか?くだらない。
0473デフォルトの名無しさんNGNG
DEATH NOTEって書いた大学ノート持った女子見かけたよ。


某県立高校にて。
0474464NGNG
>>468
そっちが正しい。
0475デフォルトの名無しさんNGNG
1.キーボードから入力された10真数を、2真数として出力するプログラムをつくりなさい。
2進数への変換は、商が0になるまで10進数を2で割り、余りを逆の順番で並べる方法を
用いる。ただし、入力は正の整数であって、最大値は16383(すべてが1である14桁の2進数)
とする。

2.キーボードから入力した文字列の中の、英大文字、英小文字、数字、その他(記号など)の
個数を出力するプログラムを、ポインタを使ってつくりなさい。

3.キーボードから和暦(英文字に続く数字)を入力したとき、西暦年を出力するプログラムを
プログラムを作りなさい。ただし、明治はmまたはM、大正はtまたはT、
昭和はs、またはS、平成はhまたはHとし、数字は必ず2けたで入力するものとする。
たとえば、平成7年の場合は、H07またはH07と入力すること。

どなたかお願いしますm(__)m
0476デフォルトの名無しさんNGNG
自分で一切やろうとしないで全部ここにやらせようという考えかw
0477デフォルトの名無しさんNGNG
ここってそういうスレじゃないんですかm(__)m
0478デフォルトの名無しさんNGNG
>>477
自分でやって駄目だったらって位置付けだと思う。
それってC言語の初歩の初歩じゃん。
自分でやった方がいいと思うし、自分で出来るレベルの問題だよ。
0479goto推奨委員会 ◆oZFvlbPXjs NGNG
>>475
1.解いたよ

#include <stdio.h>
void main(void){
int i, j, k;
int kazu;
char ss[20];
scanf("%d", kazu);
i=0;
j=0;
label0:
if(kazu==0)goto label1;
if(kazu&1){ss[i]='0';}else{ss[i]='1';}
kazu = kazu - (kazu/2);
j++;
goto label0;
label1:
label2:
if(j==-1)goto label3;
putchar(ss[i]);
j = j-1;goto label2;
}label3:
}
0480goto推奨委員会 ◆oZFvlbPXjs NGNG
やべ、下のほうにある
putchar(ss[i]);
は、
putchar(ss[j]);
でお願い。

問題解かしてもらってる立場の分際で
バグ作っちゃったりしてほんとにごめんなさい。
0481デフォルトの名無しさんNGNG
>>480
あなた問題欲しいの?
ならf2cをVC6.0で使えるようにして、ついでに公開してよ。
0482デフォルトの名無しさんNGNG
この課題、難しすぎて解けません!!
どなたか難問に挑戦してくださいますか?
課題:標準入力からテキストファイルを読み込み、 行を短い順に出力しなさい。 但し、行は最大 80 文字とし、 80 文字以上の行は先頭 80 文字だけの行として取扱い 出力し、空行は出力しないで下さい。
また、同じ長さの行は入力した順番に出しなさい。
レポートでは、実行例として、作成したソースプログラムをプログラムに入力 した出力と、ttp://www.bbn.com/index.html のホームページのソースを入力した結果を先頭 5 行、最後の 5 行を示しなさい。
なお、取り扱える行数は実行時のコンピュータのメモリーのサイズのみに依存 しなければなりません。 勝手な上限を設けてはいけません。
0483goto推奨委員会 ◆oZFvlbPXjs NGNG
>>475さん
問2もできました。
どうぞ

void main(void){
int i;
char *p;
char ss[80];
i=0;
scanf("%s", ss);
p=ss;
label0:
if(*p==0)goto label1;
i++;p++;
goto label0;
label1:
printf("%d個文字があったよ\n", i);}
0484デフォルトの名無しさんNGNG
何回もおんなじ物投下すんなぼけ
0485482NGNG
実行例

入力
あいうえお
あい
あいう

出力
あい
あいう
あいうえお
0486goto推奨委員会 ◆oZFvlbPXjs NGNG
>>481

int main(void)
{
label0:
goto label0;
/*ここまでこれるかは知らんけど*/
return 0;
}
0487482NGNG
ヒント
C++ で行の取得をするには std::istream のメンバ関数である getline メソッ ドを使います。 これは getline(文字配列のポインタ, 文字数, 区切り文字)で呼びます。
ここで、区切り文字が来る前に文字数-1 文字だけ読み込んでしまった時、 std::ios:failbit が ON になってしまいます。
この場合 clear() メソッドでこのビットを OFF にする必要があります。 但し、この clear() メソッドは std::ios:eofbit も OFF にしてしまうので、 注意して使う必要があります。
以下は標準入力から各行を高々 80 文字だけ読み込み出力するプログラムです。
0488482NGNG

#include <iostream>
using std::cin;
using std::cout;
using std::endl;
main(){
char buffer[81];
while(!cin.eof()){
cin.getline(buffer,sizeof(buffer));
cout << buffer << endl;
while((!cin.eof())&&cin.fail()){
cin.clear();
cin.ignore(80,'\n');
}
}
}
これを元にお願いします。


0489goto推奨委員会 ◆oZFvlbPXjs NGNG
goto推奨委員会に入りたい君は名前欄に
goto推奨委員会#goto
と入力。
0490デフォルトの名無しさんNGNG
int main()
{
  goto main;
  return 0;
}

for VC++
0491デフォルトの名無しさんNGNG
>>475
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=265
0492デフォルトの名無しさんNGNG
>>490
?なにこれ?
0493482NGNG
>>491さん
問題といてもらったのは嬉しいんですが・・・
m、s、t、h、Hの時にうまくいきません。
もう少しがんばってください。
あと、もうちょっと簡単に解いてください
0494259NGNG
>453さん
返信がおくれてすいません。
プログラム本当にありがとうございます。
今回色々な人に助けられて、無事に課題を終えることができました。
皆様本当にありがとうございますm(_ _)m
0495デフォルトの名無しさんNGNG
>>482
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=266
0496デフォルトの名無しさんNGNG
構造体の配列について質問です。
構造体の配列を使って以下のように出力するとします

出席番号 名前 点数1 ・・・ 点数N 平均点 評価

メンバには上の全てをくわえ、平均点は点数1〜Nで計算、評価は平均点で考えるとします。
このとき平均点は0を入れて初期化が適当ですが、評価のところには何を入れればよいのでしょうか。
どなたかご教授願います。
0497デフォルトの名無しさんNGNG
「評価は表示等に使われる前に必ず平均点から算出されている」
が保証されているなら、何を入れていてもいい気がする。

もし未評価状態でも表示したいなら、「未評価」な状態を一個定義してそれを設定する
0498496NGNG
今はこんな感じになっています。後は評価が出力されれば課題終了です。
#include<stdio.h>
struct data{int no;
char name[50];
int tensu[2];
double avg;
char gj[5];};
void main(void)
{int i;
char h[5];
struct data ch[]={{101,"名無しさん",{42,12},0,h[0]},
{403,"名無し君",{6,5},0,h[1]},
{404,"名無しちゃん",{60,23},0,h[2]},};
for(i=0;i<3;i++){ch[i].avg=(float)(ch[i].tensu[0]+ch[i].tensu[1])/2;}
printf("番号   氏名    教科1   教科2    平均点  評価\n");
for(i=0;i<4;i++){if(ch[i].avg<=100&&81<=ch[i].avg){h[i]='A';}
              else if(ch[i].avg<=80&&61<=ch[i].avg){h[i]='B';}
              else if(ch[i].avg<=60&&41<=ch[i].avg){h[i]='C';}
else{h[i]='D';}
printf("%d     %s  %d  %d  %d  %.1f  %c\n",ch[i].no,ch[i].name,ch[i].tensu[0],ch[i].tensu[1],ch[i].avg,gaku[i].gj);}
}
0499303NGNG
>>482
俺のは無視か(-_-#)
0500デフォルトの名無しさんNGNG
こちら側も選ぶ権利はある
0501デフォルトの名無しさんNGNG
ワラタ
0502デフォルトの名無しさんNGNG
後からチョロチョロと情報小出しにしておいて文句言うなよ。
>>1より
・後になって問題につけたしをするのはやめましょう。
 解いてもらっている方に失礼になってしまいます。
0503デフォルトの名無しさんNGNG
質問。

後になって解答につけたしをするのはOKですか?
0504デフォルトの名無しさんNGNG
>>503
答えてもらえる確率が下がるだけです.
0505デフォルトの名無しさんNGNG
なんで解答側が答えて"もらう"んだろう....
0506デフォルトの名無しさんNGNG
質問者がわのことだろ、何いってんだ。
0507デフォルトの名無しさんNGNG
何だ、質問者が解答に対して何か付け加えると勘違いしたのか。
正直スマンカッタ
0508デフォルトの名無しさんNGNG
初心者です。
index10.txt、index20.txt、hello30.txt、hogehoge.txtが生成されないの
はなぜですか?お願いします。
#include <iostream.h>

int main() {
int i;
for (i <= 0; i <= 5; i++){
switch ( i ){
case 1:
freopen("index10.txt", "w", stdout);
printf("Hello, World!");
fclose(stdout);
break;
case 2:
freopen("index20.txt", "w", stdout);
printf("Sage, World!");
fclose(stdout);
break;
case 3:
freopen("hello30.txt", "w", stdout);
printf("Hoge, World!");
fclose(stdout);
break;
default:
freopen("hogehoge.txt", "w", stdout);
printf("mogemoge, World!");
fclose(stdout);
break;
}
}
}
0509デフォルトの名無しさんNGNG
>>508
初心者です。ではなくて
ネタです。だよな?
0510デフォルトの名無しさんNGNG
stdout
0511デフォルトの名無しさんNGNG
freopen, fclose, printfを使っておきながらiostream.hとは何事か。
0512マイク ◆yrBrqfF1Ew NGNG
.hは過去の遺物だ。
0513デフォルトの名無しさんNGNG
イオ → イオラ → イオストリーム
0514デフォルトの名無しさんNGNG
タワラ
0515デフォルトの名無しさんNGNG
ポインターの利点ってアドレスにある値を直接操作できるってことでええんですかね?
配列の時にP+1とかって利用できるのが利点なのは後付けなきがするのですが。
0516デフォルトの名無しさんNGNG
オイ→オラオラ→シュトロハイム
0517デフォルトの名無しさんNGNG
>>515
それであってると思うよ。でも、
配列の機能がポインタの機能の後付みたいな物でないか?
0518デフォルトの名無しさんNGNG
すみません
前回こちらに来ましたが、説明不足で答えて頂けなかったので
cpp全体をファイルをうぷしてまいりました

しかし!英語での出題となっております
読める方、、いるのかどうかわかりませんが、よろしくおねがいいたします
拡張子をcppに変更してお使いくださいまし

ttp://f37.aaa.livedoor.jp/~kisiseal/upseal/img/090.lzh

入力用ファイル

ttp://f37.aaa.livedoor.jp/~kisiseal/upseal/img/091.lzh
0519デフォルトの名無しさんNGNG
>>517
サンクス
やっぱり値操作がメインですよね
二行目は多分同じことを言ってるかも?
0520gakuseiNGNG
http://www.iis.u-tokyo.ac.jp/~susaki/c/func1.html
ここなんですけど、事情があって授業を長期間休んでしまったせいで
全く分かりません。
もし宜しければ何方かお願いしますm(_ _)m
問題は1〜5番です

別のスレにも出現していますが勘弁してください^^;
単位が本当にヤバクテ(x_x)
0521デフォルトの名無しさんNGNG
>>518
開けね
つーか>読める方、、いるのかどうかわかりませんが なめすぎ
今のご時世、英会話とまで行かなくともせめて読めなきゃやってられんぞ

>>520
ほとんどが、正常に動作するか確認せよ。と書かれているが…
0522デフォルトの名無しさんNGNG
>520
マルチヤメレ
いろんなスレの人に迷惑がかかるだろがヴォケ

1はそのまま実行するだけ。
2は****の部分をheightにして実行。
3も2と同様に。
4は最初の****のところにheightを、次の****のところにheight,weight,bmi,sweightをいれる。
5は実行するだけ。


…もしかして釣りか?
0523518NGNG
http://f37.aaa.livedoor.jp/~kisiseal/upseal/upload.php

ここの90番91番です
お手数かけてもうしわけありません。

>>521
了解です;
もっと英語勉強しまする

よろしくおねがいしますm(_ _)m
0524デフォルトの名無しさんNGNG
>>520
と、とうだいせいdうぇうか?
0525gakuseiNGNG
>>522
有難うございますm(_ _)m
ネタじゃないです^^;
0526デフォルトの名無しさんNGNG
>>522の補足
5はscanfの行を while( scanf(略) != EOF ){ に変更して最後にも } をつける
0527gakuseiNGNG
有難うございます^^
感謝しますm(_ _)m
0528522NGNG
>526
補足サンクスコ
0529デフォルトの名無しさんNGNG
520 名前:gakusei[] 投稿日:04/11/22 10:01:29
http://www.iis.u-tokyo.ac.jp/~susaki/c/func1.html
ここなんですけど、事情があって授業を長期間休んでしまったせいで
全く分かりません。
もし宜しければ何方かお願いしますm(_ _)m
問題は1〜5番です

別のスレにも出現していますが勘弁してください^^;
単位が本当にヤバクテ(x_x)
0530デフォルトの名無しさんNGNG
またまんこの丸投げか
0531デフォルトの名無しさんNGNG
520は怖くて試せなかった。きっとデ・・・
0532デフォルトの名無しさんNGNG
>518
これホントに宿題か?
0533デフォルトの名無しさんNGNG
>526
普通にwhile(1){ … }でいいと思うんだが
0534518NGNG
宿題ですよー。
いくつかのソースは入力済みです。

InsertTransaction関数だけでもなんとか教えて頂けませんでしょうか・・・
0535デフォルトの名無しさんNGNG
バカ東大生
0536デフォルトの名無しさんNGNG
しーーっ!
0537デフォルトの名無しさんNGNG
東大生で女で入院か・・・・・・ネタで(ry
0538デフォルトの名無しさんNGNG
>>533
問題文は Ctrl+C ではなくCtrl+D を指定してるんだぞ?
0539デフォルトの名無しさんNGNG
バッファがあふれても知らんけど…。
int main(void) {
    double height, weight, bmi, sweight;
    char buf[256];
    while (printf("身長(m)と体重(kg)を入力してください "), fgets(buf, sizeof(buf), stdin)) {
      if (sscanf(buf, "%lf%lf", &height, &weight) != 2)
          continue;
      /* BMIの計算 */
      bmi = bmi_cal(height, weight);
      /* 標準体重の計算 */
      sweight = std_weight(height);
      /* 肥満度の判定 */
      message(height, weight, bmi, sweight);
  }
  return 0;
}
0540デフォルトの名無しさんNGNG
C言語についての課題です。
「50単語程度からなる英文(複数のセンテンスでも可)をファイルから読み込み、その文章中に出現する単語とその頻度を画面表示するプログラムを作成すること。」です。
実行結果が以下のようになるようにお願いします。
ファイルの内容例
Put your hand on a hot stove for a minute, and it seems like an hour.
Sit with a pretty girl for an hour, and it seems like a minute.
That's relativity.
実行結果
Put[1] your[1]hand[1]
on[1]a[4]stove[1]
for[1]minute[2] and[2]
it[2]seems[2] like[2]
an[2]hour[2]Sit[1]
with[1]pretty[1] girl[1]
for[1]That’s[1]relativity[1]
0541デフォルトの名無しさんNGNG
>>540
That と that は同一として扱うのか?
0542デフォルトの名無しさんNGNG
>>540
hotが消えたりforが二回数えられたり、難しすぎて漏れにはわかんないや。
0543デフォルトの名無しさんNGNG
>>541
 別みたいです。
>>542
 すいません。hotが消えてるのと、forを2回数えてるのはミスです^^;
0544デフォルトの名無しさんNGNG
C++言語の課題です
D=v^2sin2θ+Aw(vsinθ)^2
上の式において、D,v,A,wは定数として値を与えられる。このときのθを求める問題です
よろしくお願いします
0545デフォルトの名無しさんNGNG
宿題です。やってみましたが、どうもうまくいきません。誰か教えてください。

以下のような動作をするプログラムを、ビット演算子利用して作成しなさい。
まずキーボードからアルファベット1文字読み込む。
ただし、アルファベット以外の文字が入力された場合は、アルファベットが入力されるまで入力を繰り返す。
そのようにしてキーボードから入力されたアルファベットが大文字なら小文字へ、小文字なら大文字へ変換し、
表示するプログラムを作成しなさい。ただし、変換する部分の処理には必ずビット演算子を使用すること。

注意)
・必ず、入力された文字がアルファベットであるかどうかを判断して、アルファベットが1文字入力されるまで、入力を繰り返すこと。

・C言語には大文字に変換する標準関数toupperや小文字に変換する標準関数が用意されているが、それらを使用してはならない。
0546545NGNG
C言語の課題です。よろしくお願いします。
0547デフォルトの名無しさんNGNG
環境依存ながら手抜くなら 0x20 でビット差とるか、引き算もしくは足し算で
全ての環境でうまいことやりたいのならテーブルで書くしかない
0548デフォルトの名無しさんNGNG
課題 1-1
次の条件を満たす関数 dispArray() を作りなさい。

入力は整数型のポインタ
入力されたポインタに対して、順に格納されている正の整数を 10 個ずつ表示する。
入力に -1 が入っていたら終了する
例えば整数型の配列 a[] が 1 から 15 まで順に入っていて、最後に -1 が入っている時、dispArray(a) は次のような出力をする。

1 2 3 4 5 6 7 8 9 10
11 12 13 14 15


課題 1-2
次の条件を満たす関数 rotate() を作りなさい。

入力は整数型のポインタ
入力データはポインタから順に正の整数が並び、最後に -1 の値で終了する
この関数は入力されたポインタに対して、最初の正の整数値を一番後ろ (-1 の手前)に移動し、残りのデータは一つずつ前にずらす。
例えば 1, 2, 3, -1 という配列の先頭番地を rotate() に与えると 2, 3, 1, -1 となります。
0549デフォルトの名無しさんNGNG
課題 1-3
課題 1-1, 1-2 で作成した dispArray(), rotate() に対して次のプログラムを動かし結果を報告しなさい。

#include <stdio.h>
dispArray(int *p);
rotate(int *p);
#define N 99
main(){
int *a[5];
int b[]={-1};
int c[]={1,-1};
int d[]={1,2,3,-1};
int e[N+1];
int i,j;
for(i=0;i<N;i++){
e[i]=i;
}
e[N]=-1;
a[0]=b; a[1]=c; a[2]=d; a[3]=e; a[4]=NULL;
for(i=0;a[i]!=NULL;i++){
dispArray(a[i]);
for(j=0;j</* 3 桁*/; j++){
rotate(a[i]);
}
dispArray(a[i]);
}
}


プログラム音痴です。。。
せめて、課題2のヒントだけでも欲しいです。。・゚・(ノД`)・゚・。
0550デフォルトの名無しさんNGNG
>>5 のテンプレに従ってないものは無視します
0551デフォルトの名無しさんNGNG
>>545
ASCIIコード限定なら・・・

#include <stdio.h>
#include <ctype.h>

int main()
{
int c;

do{
c = getchar();
}while(!isalpha(c));

if(islower(c))
c = c ^ 0x20;
else if(isupper(c))
c = c | 0x20;

putchar(c);

return 0;
}
0552デフォルトの名無しさんNGNG
スレ汚しごめんなさい・・・

やっぱ他力本願は駄目ってことなんだろうと思うので
自力でがんばる事にします。


気を悪くされたかた、失礼しました。。。
0553デフォルトの名無しさんNGNG
>>552
このスレで珍しく見込みがありそうな質問者ハッケン
ガンガレ
0554デフォルトの名無しさんNGNG
がんばってみます!

ソースが書き終わったら
添削だけお願いしようかと思うので
その時はまたよろしくお願いします。
0555545NGNG
>551
ありがとうございました。すごく参考になりました。m(-_-)m
0556デフォルトの名無しさんNGNG
おいおい>>555よ、はやまるな。
>>551の場合分けは必要ないぞ。
c = c^0x20でビットは反転される。
0557デフォルトの名無しさんNGNG
549 == 552
かもしれないのでヒントを
rotateに渡す添え字間違ってる…
0558デフォルトの名無しさんNGNG
>>556
たぶん islower isupper isalpha も使っちゃいけないんだと E.S.P. してみる。
0559デフォルトの名無しさんNGNG
>558
実はそれ習ってなくてよくわかりません・・・
0560545NGNG
559は私です。名前入れるの忘れてました。
0561デフォルトの名無しさんNGNG
>>545
#include <stdio.h>

typedef enum { false, true } bool;

bool isAlpha(int c)
{ return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z'); }

char implicit_cast(int c)
{ return c; }

int main(void)
{
    int c;

    do {
        c = getchar();
    } while (!isAlpha(c));

    printf("%c", implicit_cast(c ^ 0x20));

    return 0;
}
0562545NGNG
>561
ありがとうございました。おかげさまで何とか完成することができました。
次にやるときは自力でできるようにがんばりたいと思います。お世話になりました。
0563デフォルトの名無しさんNGNG
enumは分かるのか・・
0564545NGNG
>563
enumはわかりませんでした。561さんのを参考にして、
自分の分かるやつを見ながらいろいろやっていたら、何とか作れました。
重ね重ねありがとうございました。
0565デフォルトの名無しさんNGNG
これがうまく動きませんです・・・
よろしこおながいします

#include <zaisan>

int main(void)
{
  person 俺, akemi;

  int zaisan(3000000);

  kekkon(俺, akemi);

  for(;;) {
    zaisan -= akemi;

    if (zaisan <= 0)
      heartbreak;
  }
  free(俺);

  return 田舎;
}
//--------------------構成: 俺 - Win32 Debug--------------------
//コンパイル中...
//俺.cpp
//俺.cpp : fatal error C1083: インクルード ファイルがオープンできません。'zaisan': No such file or directory
//cl.exe の実行エラー
//
//俺.obj - エラー 1、警告 0
0566デフォルトの名無しさんNGNG
free(>>565);
0567デフォルトの名無しさんNGNG
>>565
BonusSDKをインストールしてみたら?
0568デフォルトの名無しさんNGNG
>>565
/* zaisan.h        */
#include <stdio.h>
typedef int person;
#define inaka 0
#define jisatu -1
#define free(x) { printf("実家に帰ろう…\n"); (x) += 100000;}
#define heartbreak { printf("破局\n"); break; }
void kekkon(person &m, person &f) {
 m = 1000; f = 1000000; printf("結婚\n");
}

#include "zaisan.h"
#include <stdio.h>

int main(void)
{
  person ore,akemi;  int zaisan = 3000000; int day = 0; int ps;
  kekkon(ore, akemi);
  for(;;) {
    zaisan -= akemi;
    zaisan += ore;
    printf("%d日目\n",day);
    day++;

    if (zaisan <= 0)
      heartbreak;
  }
  free(ore);     
  return inaka;
}
0569デフォルトの名無しさんNGNG
ワロタw
0570デフォルトの名無しさんNGNG
C++導入しようぜ

#define MIKON 0
#define KIKON 1

class person{
private:
    char name[32];
    unsigned int nenshu;
    unsigned int married;
    int zaisan;
public:
    person(char* n, int z) { strcpy(name, n); zaisan = z; }
    ~person(void) { std::cout << "さようなら";}
    void kekkon() { married = KIKON; }
    void rikon(unsigned int isharyou);
    void getjob(unsined int s) { nenshu = s; }
    void mushoku() { nenshu = 0; }
    void zaisanhendou(int zh) { zaisan += zh; }    
}

void person::rikon(unsigned int isharyou){
    if(married==1){
        married = MIKON;
        zaisan -= isharyou;
}
0571デフォルトの名無しさんNGNG
明美が高すぎる件について
0572デフォルトの名無しさんNGNG
女は結局金金カネカネだからな。。。
0573デフォルトの名無しさんNGNG
女は時間と金がかかる
Girls require time and money(女 = 時間 x 金)
時は金なり
Time is money(時間 = 金)
⇒女 = 金 x 金
0574デフォルトの名無しさんNGNG
^2じゃ効かねーよ
0575saNGNG
この問題を解いてもらえませんか?標準入力からテキストファイルを読み込み、
行を短い順に出力しなさい。 但し、行は最大 80 文字とし、 80 文字以上の
行は先頭 80 文字だけの行として取扱い 出力し、空行は出力しないで下さい。
また、同じ長さの行は入力した順番に出しなさい。
なお、取り扱える行数は実行時のコンピュータのメモリーのサイズのみに依存
しなければなりません。 勝手な上限を設けてはいけません。
0576デフォルトの名無しさんNGNG
なんやえらい宿題たまってるなあ。
暇やからどれかやってみてもええけど、どれがまだなんかわからんわ。
それともテンプレ無視はまとめて強制退去処分(>>550サンショー)になるんかいな。

ここの常駐者やないけど、ちょっと言わしてもらいま。
勉強の助けになるんならやってもええけど、
解答出しても、それ見て勉強するなんてありえへんやつばっかりちゃうかいな。
ろくに解答も実行結果も確認せんと、そのまま提出してるだけちゃうかと思うわ。
>>553→>>552の意見はもっともやな。
そもそもテンプレ(>>5)しっかり読んで、細かいこともしっかり書かなあかんで。
やる気ないのバレバレやと、だれも宿題やってくれへんでー。

なんや感じ悪いこと書いてスレに水差したみたで、えらいすんまへん。
0577デフォルトの名無しさんNGNG
>>576
このスレは宿題に答える隔離スレ
件のテンプレもスレタイどうこうで暴れてたバカが作った物
0578576NGNG
>>577
さよですか。質問テンプレの内容は便利そうに見えたんやけど、
外野の補欠でっさかい、いらんことは言わんときますわ。すんまへん。
0579デフォルトの名無しさんNGNG
質問テンプレどうこうより、変に省略せず全文を書いて欲しいのと、
長いソースは>>1のアップローダ使って欲しい。
0580デフォルトの名無しさんNGNG
>>575
>>482
>>286
ttp://pc5.2ch.net/test/read.cgi/tech/1097932699/677
0581saNGNG
>>580
どういうことですか?
0582デフォルトの名無しさんNGNG
c言語。初心者です。

プログラム実行中、常にcsvファイルへのアクセスがあります。
csvファイルは
氏名(半角カナ),住所(Shift_JIS),電話1(半角数字),電話2,メアド1(半角英数記号),メアド2
で、保証されているのは氏名のみ。1行の長さは任意。
maxは1000行程度。

アクセスの種類は検索、更新。
更新時は該当行への検索結果を表示後、更新という処理の流れなので
i/oを削減するために、csvファイルに対する検索用の簡単なindexテーブルを
RAMに保有することにしました。

indexテーブルの目的は、更新対象のcsvファイル内の位置を特定するためと、
検索時にはファイルへのアクセスはせず、検索結果としてテーブルの氏名のみ表示。
ややこしいハッシュテーブル等は使用しません。

indexテーブル、プログラム実行時の初回作成と、
csvファイル更新時のタイミング。テーブルに保有するのは
「氏名」と「csvファイル内での位置」
としたとき、「csvファイル内での位置」は単純に行位置を保有するor
ftell等でその行の先頭のオフセットを取得する
のどちらがスマート&高速?

行位置だと更新時に目的行までfreadで読む。
オフセットだと一発アクセス可能?

0583デフォルトの名無しさんNGNG
>581
過去ログ嫁
0584saNGNG
どうやったら見れるんですか?
0585デフォルトの名無しさんNGNG
>582
高々1000行、全部メモリでやれ
0586デフォルトの名無しさんNGNG
×indexテーブル、プログラム実行時の初回作成と、
○indexテーブルはプログラム実行時の初回作成と、
0587saNGNG
>>583
初心者なんで教えてください。
0588デフォルトの名無しさんNGNG
float n[5]に適当な数値が入っているとして、
これを一定の刻みに整頓するプログラムを作成せよ。

例:「1.3, 1.6, 2.8, 1.0, 0.1」という数列を
0.5刻みで整頓させ「1.5, 1.5, 3.0, 1.0, 0.0」とする。

Cのコンソールで5つの数値と区切り幅を入力させる感じでお願いします。
区切りに吸着しさえすればよいです。
0589デフォルトの名無しさんNGNG
587 名前: sa [[email protected]] 投稿日: 04/11/23 14:39:55
>>583
初心者なんで教えてください

アフォか
0590デフォルトの名無しさんNGNG
>>589
なんてこと言うんですか!
私は初心者ですよ?!
初心者は大事にしないとけませんにょ!
0591デフォルトの名無しさんNGNG
>>590
こちらへどうぞ

PC初心者
http://pc6.2ch.net/pcqa/
0592デフォルトの名無しさんNGNG
>>588
#include <stdio.h>
#define N 5
int main()
{
float n[N], d;
int i, k;

for (i=0; i<N; i++) {
printf("n[%d]=",i);
scanf("%f", &n[i]);
}
printf("d=");
scanf("%f", &d);

for (i=0; i<N; i++) {
k = (int)(n[i]/d);
if ((int)(n[i]/d*10)%10 >= 5) k++;
printf("%f ",d*k);
}
return 0;
}
0593デフォルトの名無しさんNGNG
初心者には単位はあげられません
0594gakuseiNGNG
>>539
有難うございましたm(_ _)m
0595デフォルトの名無しさんNGNG
課題
『標準入力からテキストファイルを読み込み、行を短い順に出力しなさい。
但し、行は最大 80 文字とし、 80 文字以上の行は先頭 80 文字だけの行として取扱い出力し、
空行は出力しないで下さい。
また、同じ長さの行は入力した順番に出しなさい。
レポートでは、実行例として、作成したソースプログラムをプログラムに入力した出力と、
http://www.bbn.com/index.html のホームページのソースを入力した結果を先頭 5 行、
最後の 5 行を示しなさい。

なお、取り扱える行数は実行時のコンピュータのメモリーのサイズのみに
依存しなければなりません。勝手な上限を設けてはいけません。』

CとC++のどちらでも構いません。よろしくお願いします。
0596デフォルトの名無しさんNGNG
課題
『標準入力からテキストファイルを読み込み、行を短い順に出力しなさい。
但し、行は最大 80 文字とし、 80 文字以上の行は先頭 80 文字だけの行として取扱い出力し、
空行は出力しないで下さい。
また、同じ長さの行は入力した順番に出しなさい。
レポートでは、実行例として、作成したソースプログラムをプログラムに入力した出力と、
http://www.bbn.com/index.html のホームページのソースを入力した結果を先頭 5 行、
最後の 5 行を示しなさい。

なお、取り扱える行数は実行時のコンピュータのメモリーのサイズのみに
依存しなければなりません。勝手な上限を設けてはいけません。』

CとC++のどちらでも構いません。よろしくお願いします。
0597デフォルトの名無しさんNGNG
課題
『標準入力からテキストファイルを読み込み、行を短い順に出力しなさい。
但し、行は最大 80 文字とし、 80 文字以上の行は先頭 80 文字だけの行として取扱い出力し、
空行は出力しないで下さい。
また、同じ長さの行は入力した順番に出しなさい。
レポートでは、実行例として、作成したソースプログラムをプログラムに入力した出力と、
http://www.bbn.com/index.html のホームページのソースを入力した結果を先頭 5 行、
最後の 5 行を示しなさい。

なお、取り扱える行数は実行時のコンピュータのメモリーのサイズのみに
依存しなければなりません。勝手な上限を設けてはいけません。』

CとC++のどちらでも構いません。よろしくお願いします。
0598デフォルトの名無しさんNGNG
課題
『標準入力からテキストファイルを読み込み、行を短い順に出力しなさい。
但し、行は最大 80 文字とし、 80 文字以上の行は先頭 80 文字だけの行として取扱い出力し、
空行は出力しないで下さい。
また、同じ長さの行は入力した順番に出しなさい。
レポートでは、実行例として、作成したソースプログラムをプログラムに入力した出力と、
http://www.bbn.com/index.html のホームページのソースを入力した結果を先頭 5 行、
最後の 5 行を示しなさい。

なお、取り扱える行数は実行時のコンピュータのメモリーのサイズのみに
依存しなければなりません。勝手な上限を設けてはいけません。』

CとC++のどちらでも構いません。よろしくお願いします。
0599デフォルトの名無しさんNGNG
#include<stdio.h>
int main()
{
int n,i,sum;
/*キーボードから整数nを読み込み8,10,16進数で表示する*/
/*1からnまでの総和を求める*/
scanf("%d",&n);
printf("%6o\n",n);/*6文字幅で8進数として表示*/
printf("%6d\n",n);/*6文字幅で10進数として表示*/
printf("%6x\n",n);/*6文字幅で16進数として表示*/
for (i = 1, sum = 0; i <= n; i++){
sum+=1;
}
printf("1 - %-3d, sum = %6d\n", n, sum); /*総和を表示*/
return 0;
}

CのプログラムをC++で書き換えるというのが問題です。
#include <iostream>
using namespace std;
int main()
{
くらいまでしか分かりません・・。よろしくお願いします。
0600デフォルトの名無しさんNGNG
課題
『標準入力からテキストファイルを読み込み、行を短い順に出力しなさい。
但し、行は最大 80 文字とし、 80 文字以上の行は先頭 80 文字だけの行として取扱い出力し、
空行は出力しないで下さい。
また、同じ長さの行は入力した順番に出しなさい。
レポートでは、実行例として、作成したソースプログラムをプログラムに入力した出力と、
http://www.bbn.com/index.html のホームページのソースを入力した結果を先頭 5 行、
最後の 5 行を示しなさい。

なお、取り扱える行数は実行時のコンピュータのメモリーのサイズのみに
依存しなければなりません。勝手な上限を設けてはいけません。』

CとC++のどちらでも構いません。よろしくお願いします。
0601デフォルトの名無しさんNGNG
課題
入力ファイル(テキストファイル)の中の文字、空白、タブ(水平)
改行数を調べて結果を表示するプログラムを作れ。

エスケープシーケンス(\n 改行)?を利用するみたいなんですが
よくわかりません。あと、テキストをプログラムに入力する際の
リダイレクトの使い方がよくわかりません。
言語はCです。よろしくお願いします。
0602デフォルトの名無しさんNGNG
帰ってくれ
0603デフォルトの名無しさんNGNG
課題
『標準入力からテキストファイルを読み込み、行を短い順に出力しなさい。
但し、行は最大 80 文字とし、 80 文字以上の行は先頭 80 文字だけの行として取扱い出力し、
空行は出力しないで下さい。
また、同じ長さの行は入力した順番に出しなさい。
レポートでは、実行例として、作成したソースプログラムをプログラムに入力した出力と、
http://www.bbn.com/index.html のホームページのソースを入力した結果を先頭 5 行、
最後の 5 行を示しなさい。

なお、取り扱える行数は実行時のコンピュータのメモリーのサイズのみに
依存しなければなりません。勝手な上限を設けてはいけません。』

CとC++のどちらでも構いません。よろしくお願いします。

できれば、夜の7時までにお願いします。その後遊びに行きたいので。
0604デフォルトの名無しさんNGNG
課題
『標準入力からテキストファイルを読み込み、行を短い順に出力しなさい。
但し、行は最大 80 文字とし、 80 文字以上の行は先頭 80 文字だけの行として取扱い出力し、
空行は出力しないで下さい。
また、同じ長さの行は入力した順番に出しなさい。
レポートでは、実行例として、作成したソースプログラムをプログラムに入力した出力と、
http://www.bbn.com/index.html のホームページのソースを入力した結果を先頭 5 行、
最後の 5 行を示しなさい。

なお、取り扱える行数は実行時のコンピュータのメモリーのサイズのみに
依存しなければなりません。勝手な上限を設けてはいけません。』

CとC++のどちらでも構いません。よろしくお願いします。

できれば、夜の7時までにお願いします。その後遊びに行きたいので。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0605デフォルトの名無しさんNGNG
ばか
0606デフォルトの名無しさんNGNG
課題
『標準入力からテキストファイルを読み込み、行を短い順に出力しなさい。
但し、行は最大 80 文字とし、 80 文字以上の行は先頭 80 文字だけの行として取扱い出力し、
空行は出力しないで下さい。
また、同じ長さの行は入力した順番に出しなさい。
レポートでは、実行例として、作成したソースプログラムをプログラムに入力した出力と、
http://www.bbn.com/index.html のホームページのソースを入力した結果を先頭 5 行、
最後の 5 行を示しなさい。

なお、取り扱える行数は実行時のコンピュータのメモリーのサイズのみに
依存しなければなりません。勝手な上限を設けてはいけません。』

CとC++のどちらでも構いません。よろしくお願いします。

できれば、夜の7時までにお願いします。その後遊びに行きたいので。
0607デフォルトの名無しさんNGNG
質問者はトリップつけろよー
0608デフォルトの名無しさんNGNG
バカ!バカ!まんこ!!
0609デフォルトの名無しさんNGNG
課題
『標準入力からテキストファイルを読み込み、行を短い順に出力しなさい。
但し、行は最大 80 文字とし、 80 文字以上の行は先頭 80 文字だけの行として取扱い出力し、
空行は出力しないで下さい。
また、同じ長さの行は入力した順番に出しなさい。
レポートでは、実行例として、作成したソースプログラムをプログラムに入力した出力と、
http://www.bbn.com/index.html のホームページのソースを入力した結果を先頭 5 行、
最後の 5 行を示しなさい。

なお、取り扱える行数は実行時のコンピュータのメモリーのサイズのみに
依存しなければなりません。勝手な上限を設けてはいけません。』

お前ら早く答え教えろよ!いい加減に教えないと頃すぞ!!
0610デフォルトの名無しさんNGNG
サイン波やコサイン波を用いて、
ルビンの壷
ttp://www.geocities.co.jp/HeartLand-Himawari/6563/rubin.gif
を書きたいのですが、この曲線を出す数式ってわかりますか?
(黒い部分は空白にして、白い部分を*で埋めます)

いまはここまでしかできません。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=134&fi=no
0611デフォルトの名無しさんNGNG
declaration of `R' as multidimensional array must have
bounds for all dimensions except the first

0612デフォルトの名無しさんNGNG
declaration of `R' as multidimensional array must have
bounds for all dimensions except the first

というエラーメッセージが出ました。これって
どういうことですか?教えてください。
0613デフォルトの名無しさんNGNG
declaration of `R' as multidimensional array must have
bounds for all dimensions except the firstって事です。
0614デフォルトの名無しさんNGNG
declaration of `R' as multidimensional array
が
must have bounds for all dimensions except the first
って事です。
0615デフォルトの名無しさんNGNG
a[][N]はいいけどa[][]はだめって事だろ。
0616デフォルトの名無しさんNGNG
文字列long_stringを宣言し、キーボードから入力した短い文字列が
long_string内に現れているかを判定するプログラムなんですが以下の
プログラムでは最も先頭の要素しか探索できません。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=135
複数回出現する場合にはその全てを表示するようにしたいのですが。
ご教授お願いします。
0617デフォルトの名無しさんNGNG
関西学園さんこんにちは
0618599NGNG
どなたかお願い・・
0619デフォルトの名無しさんNGNG
>>599,618
はいよ。
#include <iostream>
#include <stdio.h>

using namespace std;
int main()
{
int n,i,sum;
/*キーボードから整数nを読み込み8,10,16進数で表示する*/
/*1からnまでの総和を求める*/
scanf("%d",&n);
printf("%6o\n",n);/*6文字幅で8進数として表示*/
printf("%6d\n",n);/*6文字幅で10進数として表示*/
printf("%6x\n",n);/*6文字幅で16進数として表示*/
for (i = 1, sum = 0; i <= n; i++) sum++;
printf("1 - %-3d, sum = %6d\n", n, sum); /*総和を表示*/
return 0;
}
0620デフォルトの名無しさんNGNG
>>599
C++でもその元のソースは問題なく使えると思うのだが、何を持ってC++に書き換えたと判断するんだ?
#出力の整形にprintf()系を使うなということなのかな?
だとしたら私はパスだ。
0621デフォルトの名無しさんNGNG
>>619
馬鹿野郎


- for (i = 1, sum = 0; i <= n; i++) sum++;
- printf("1 - %-3d, sum = %6d\n", n, sum); /*総和を表示*/
+ printf("1 - %-3d, sum = %6d\n", n, n * (n + 1) / 2); /*総和を表示*/

だろ。
0622デフォルトの名無しさんNGNG
課題
『標準入力からテキストファイルを読み込み、行を短い順に出力しなさい。
但し、行は最大 80 文字とし、 80 文字以上の行は先頭 80 文字だけの行として取扱い出力し、
空行は出力しないで下さい。
また、同じ長さの行は入力した順番に出しなさい。
レポートでは、実行例として、作成したソースプログラムをプログラムに入力した出力と、
http://www.bbn.com/index.html のホームページのソースを入力した結果を先頭 5 行、
最後の 5 行を示しなさい。

なお、取り扱える行数は実行時のコンピュータのメモリーのサイズのみに
依存しなければなりません。勝手な上限を設けてはいけません。』

CとC++のどちらでも構いません。よろしくお願いします。

夜の7時までにお願いします。今コンパ中なんで、帰ったらできてるようにな。
0623デフォルトの名無しさんNGNG
#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
    int n,i,sum;
    cin >> n;
    cout << setw(6) << oct << n << endl;
    cout << setw(6) << dec << n << endl;
    cout << setw(6) << hex << n << endl;
    for(i=1, sum=0; i<=n; i++) {
        sum += 1;
    }

    cout << dec << "1 - " << setw(3) << left << n << ", sum =" << setw(6) << right << sum << endl;
    return 0;
}

使いづらい…
setwは直後のものしか反映されなかったはず
0624デフォルトの名無しさんNGNG
質問です。

基本クラスAから導出されたクラスB,Cがあります。それぞれがファイルなどへの書き込みと
読み出し命令を持っています。

class A{
A()
virtual bool Save();
virtual bool Load();
};
class B : public A{
B();
virtual bool Save();
virtual bool Load();
};
class C : public A{
C();
virtual bool Save();
virtual bool Load();
};
0625624NGNG
ここで、基本クラスの保存の場合は
A*DimPoint[10];
//この10個のポインタには保存する前には何かのデータがあるはずです。
DimPoint[0]->Save();
DimPoint[1]->Save();
・
・
DimPoint[9]->Save();
とするだけですが、読み込みの場合、DimPoint[]がNULLであることが多いので、
DimPoint[0]=new B; //あるいはnew C
DimPoint[0]->Load();
などとしなければならず、これから読み込むデータ型によってnewする
クラスを切り替える必要があり、オブジェクト指向的ではありません。
もっとスマートな方法はないでしょうか?
これは、画面に図形を描画するときなど、図形データの保存はスマートなの
ですが、読み込みが汚くなります。
0626デフォルトの名無しさんNGNG
>624

それこそOOPで解決してる問題な希ガス
0627デフォルトの名無しさんNGNG
>>625
そこでFactoryMethodですよ。
0628599NGNG
>>623
すごいです。ありがとうございました。
0629デフォルトの名無しさんNGNG
AbstractFactoryだろ?
0630デフォルトの名無しさんNGNG
>>616
パッと見ただけだが、それはC99で書かねばならないのか?
0631デフォルトの名無しさんNGNG
>>540
この問題がスルーされてるんで、誰か挑戦してください。
0632デフォルトの名無しさんNGNG
FactoryMethodでいいんじゃない
0633デフォルトの名無しさんNGNG
>>631
半年前も見たぞ。腐れ産業大かどっかの宿題だった
0634616NGNG
どなたかお願いします
0635610NGNG
>>610
なんですけど、やっぱりDNAの螺旋にします。
サイン波(コサイン波)の数式って、文字で表すとどういう風になるのでしょうか?
0636デフォルトの名無しさんNGNG
>>633
 申し訳ないですけど、答えを載せてもらえませんか?
0637デフォルトの名無しさんNGNG
そーいや、>>540の例文ってアインシュタインがどっかのパーティーで無知なオバサンに
相対性理論は何かを説明してくれって頼まれた時の返事だっけな。
0638デフォルトの名無しさんNGNG
>>635
そりゃsin(x)
0639デフォルトの名無しさんNGNG
AbstractFactoryはFactoryMethodより一段階抽象化が深く、>>625のような
単純な階層ではなくてもっと複合的な継承がなされている場合に有効。

但し組み合わせに制限があると設計が硬直化するので、FactoryMethodより
も柔軟性に欠けるし変更が面倒くさい。
0640デフォルトの名無しさんNGNG
>>616
配列って定数でしかサイズ指定できないだろ
どうやって動かしたんだ?
0641デフォルトの名無しさんNGNG
>>640
C99では許可されている
0642デフォルトの名無しさんNGNG
VC7だと通らない…
0643デフォルトの名無しさんNGNG
C99に対応してないコンパイラで通らなくてもおかしくありません
0644デフォルトの名無しさんNGNG
>>633
過去ログを調べてみたんですが、それらしきものは見当たらなかったんですが・・・・。
どなたかわかる方いましたらお願いします。
0645デフォルトの名無しさんNGNG
>>616
int show_flag = 0;
while (long_string2[m] != '\0')
{
  if(long_string2[m] == key[n]) {
    while(long_string2[m] == key[n]) {
      m++;
      n++;
    }
    if(key[n] == '\0') {
            show_flag = 1;
      printf( "%d文字目から%d文字目までに出現している。\n", m - n + 1, m );
    }
  } else {
    m++;
    n = 0;
  }
}
if(show_flag ==0) printf( "含まれていない。\n" );
0646デフォルトの名無しさんNGNG
質問
char buf[80];
short num;
fgets(buf,sizeof(buf)-1,stdin);
num=(short)atoi(buf);
の fgets関数とatoi関数の使用法をおしえてください
0647デフォルトの名無しさんNGNG
manpage-fgets
manpage-atoi
でぐぐれ。以上
0648デフォルトの名無しさんNGNG
>>646
コンパイラのマニュアルを読みなさい。
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/fgets.3.html
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/atoi.3.html
0649デフォルトの名無しさんNGNG
printfの下にm--;とn=0;を追加
0650デフォルトの名無しさんNGNG
int m = 0;
int n = 0;
int show_flag = 0;
while ( long_string2[ m ] != '\0'){
 n = 0;
 if ( long_string2[ m ] != key[ n ] )
  ++m;
 else
 {
  do{
   ++m;
   ++n;
  }while ( long_string2[ m ]!='\0' && key[ n ]!='\0' && long_string2[ m ]==key[ n ] );
  if ( key[ n ] == '\0' ){
   printf( "%d文字目から%d文字目までに出現している。", m - n + 1, m );
   show_flag = 1;
  }
 }
}
if(show_flag)
 printf( "含まれていない。\n" );


あんまし違わないね...
0651デフォルトの名無しさんNGNG
>あんまし違わないね...

っつーか微妙にまちがっとる
>if(show_flag)
> printf( "含まれていない。\n" );
0652デフォルトの名無しさんNGNG
言語C 環境CUI

課題でテキストエディタを作ることになりましたが、どういう風に書いたらいいか悩んでます。
プログラムの動作例は以下のように考えています。

 ・キーボードから文章を入力する。
 ・「99」を押したら入力終了。
 ・その後、出力ファイル名を指定して.txt形式に出力する。

とりあえず入力する文字は100文字程度で、考えています。    
どなたか、よろしくお願いしますm(_ _)m。
0653デフォルトの名無しさんNGNG
>>650
ブッシュ逝ってヨシ
0654デフォルトの名無しさんNGNG
>>540
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=267
リストは463のパクリ
0655デフォルトの名無しさんNGNG
>>654
コンパイル時のエラーは出なかったんですけど、実行されませんでした。
どうやれば実行結果が得られるのか、詳しく教えていただきたいです。
お願いします。
0656デフォルトの名無しさんNGNG
>>655
コマンドライン引数
0657デフォルトの名無しさんNGNG
>>655
ヤフーで検索してみましたけど、いまいちよくわかりませんでした。
0658616NGNG
>>645
>>649
ありがとうございました
0659610NGNG
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=134&fi=no
の
return((int)((sin(pai/2.0+((double)y)/6.0)+1.0)*13.0));
ってなにを計算してるんでしょうか?
0660デフォルトの名無しさんNGNG
最近は円周率が2.14になっているのか…
0661デフォルトの名無しさんNGNG
すいません、手に負えないのでお願いします。

�@ ラプラス方程式を解くプログラムを作れ。
�A �@を用いて長方形領域 0≦x≦2、0≦y≦1の上でラプラス方程式を解け、
  ただし境界条件(周上の関数値)はデータとして読み込むものとする。
�B 適当なxおよびyの値の組{(x1,y1),(x2,y2),...,(xm,ym)}(例えば,y=ax^3+bx^2+cx+d+ノイズ)
  に対してべき多項式モデルf=Xcを当てはめた結果をグラフ表示せよ。なお、べき次数n
  およびデータ点数mを様々に変化させよ。
0662デフォルトの名無しさんNGNG
>>661
手に負えません。
0663デフォルトの名無しさんNGNG
すいません、手に負えないのでお願いします。

�@ ラプラス方程式を解くプログラムを作れ。
�A �@を用いて長方形領域 0≦x≦2、0≦y≦1の上でラプラス方程式を解け、
  ただし境界条件(周上の関数値)はデータとして読み込むものとする。
�B 適当なxおよびyの値の組{(x1,y1),(x2,y2),...,(xm,ym)}(例えば,y=ax^3+bx^2+cx+d+ノイズ)
  に対してべき多項式モデルf=Xcを当てはめた結果をグラフ表示せよ。なお、べき次数n
  およびデータ点数mを様々に変化させよ。

手に負える人だけ解答して下さい。>>662はすっこんでろ!!!!
0664610NGNG
>>660
そこは図形の形を変えるためにいじったところです
0665661NGNG
>663
俺じゃないが他にも同じ宿題で悩んでる人がいるのか。
0666デフォルトの名無しさんNGNG
Cの宿題です。
循環リスト(末尾ノードに先頭ノードを指すポインタを与えたもの)で、
a〜hのどのアルファベットからスタートしても、アルファベット順で1周するような順序
を実現してください。(例:cからなら、c,d,e,f,g,h,a,bの順)


0667デフォルトの名無しさんNGNG
C++の宿題なんですがよろしくお願いします。
問題1. 実数のキューおよびスタックのクラスを、配列および連結リストで作成せよ。
(整数でなく実数。それぞれを作成するので4つ)
問題2. 実数のスタックを用いて逆ポーランド式計算機を作れ。余裕があれば単語分割するクラス
(TokenReader)を改良してキューを利用した形にしてみよ。

よろしくお願いしますm(_ _)m
0668デフォルトの名無しさんNGNG
採点側もここらへんのスレはチェックしてるから
丸写しはしないようにね

丸写し見つけたら本当に理解しているか
それとなく試してみて
理解してなければできてないものとして減点するから

プログラミング演習を採点してるTAより
0669デフォルトの名無しさんNGNG
Cです。
次に示される関数を利用して、f2(2)を求めなさい。
f2(x) int x; {return(2*x*x+3*x-4);}
0670デフォルトの名無しさんNGNG
求めるも何もf2(2)で求まるわけだが。
0671デフォルトの名無しさんNGNG
>>669
指導者は高齢か?
f2(x) int x; なんて書き方古いぞ
0672デフォルトの名無しさんNGNG
>>670
関数の使い方忘れたみたいで何度やってもエラー出るんです。
>>671
確か93年くらいの問題集からの問題だった気がします。
スマートな書き方でお願いします。
0673デフォルトの名無しさんNGNG
There are tons of web pages, google it for yourself, you lamer.
0674デフォルトの名無しさんNGNG
lamer->moronだと煽り率20%UP!!
0675デフォルトの名無しさんNGNG
>>672
#include <stdio.h>

int f2(int x)
{
  return( 2*x*x + 3*x - 4 );
}

int main()
{
 printf("%d", f2(2));

 return 0;
}
0676デフォルトの名無しさんNGNG
>>675
ありがとう。これで残りの問題も解けそう。
0677デフォルトの名無しさんNGNG
>>610 == >>635 == >>664
「フーリエ変換」でぐぐりなさい。
0678デフォルトの名無しさんNGNG
質問です。
『二つの円O1,O2それぞれの半径をr1,r2(可変)とする。r1-r2の領域
を黒く塗りつぶすプログラムを作りなさい。ただし、全体領域を100行
100列であるものとする。』
という内容ですが、C言語で教えていただけないでしょうか。どうか
お願いします。
0679デフォルトの名無しさんNGNG
>>678
腹ごなしに書いてみた。全体領域の定義がよくわからないからそこれへんは適当に直してくれ。
#include <stdio.h>
#include <stdlib.h>
#define SCREEN_W 100
#define SCREEN_H 100

int check_black( double x, double y, double r1, double r2)
{
 const double f = x * x + y * y;
 return (r1 >= r2) ? ((r1 * r1) >= f) && (f >= (r2 * r2))
         : ((r2 * r2) >= f) && (f >= (r1 * r1));
}
0680デフォルトの名無しさんNGNG
*記号を使ってDOS窓に斜めに線を描きたいのですが、まったくわかりません。
0681679NGNG
続き。

int main( void)
{
 const double r1 = 20, r2 = 40; /* 半径はこちら */
 const int xhalf = SCREEN_W / 2, yhalf = SCREEN_H / 2;
 int x, y;

 if( (r1 < 0) || (r2 < 0) || (SCREEN_W < 0) || (SCREEN_H < 0) ) {
  printf( "error: parameters (r1,r2,SCREEN_W,SCREEN_H) must be positive.\n");
  exit( EXIT_FAILURE);
 }

 for( y = yhalf; y >= -yhalf; --y ) {
  for( x = xhalf; x >= -xhalf; --x ) {
   printf( "%c ", check_black( (double)x, (double)y, r1, r2) ? '*' : '-');
  }
  printf( "\n");
 }

 return EXIT_SUCCESS;
}
0682デフォルトの名無しさんNGNG
>>680
#include <stdio.h>
int main(void)
{
int i, j;
for(i = 0; i < 20; i++) {
for(j = 0; j < i; j++) printf(" ");
printf("*\n");
}
return 0;
}
0683678NGNG
>>679
考えてくれてありがとうございます。
return (r1 >= r2) ? ((r1 * r1) >= f) && (f >= (r2 * r2))
         : ((r2 * r2) >= f) && (f >= (r1 * r1));
この行でエラーが大量に出るのですが、?がまずいのでしょうか?
0684デフォルトの名無しさんNGNG
>>682
ありがとうございます。
0685652NGNG
すみませんどなたかた>>652を
お願いします。
0686デフォルトの名無しさんNGNG
>>685
> 「99」を押したら入力終了。
の意味が分からない
9 を2回押したらすぐに終了?
99でその行が終わっていて改行したら終了?

0687デフォルトの名無しさんNGNG
>>683
エラーの内容は?
0688デフォルトの名無しさんNGNG
>>687

error C2061: 構文エラー : シンタックスエラーを起こしました。>>683の脳では理解できません。

だろw
0689デフォルトの名無しさんNGNG
ワロタ
0690652NGNG
>>686
下手な説明で申し訳ございません。
文章を入力し終わり、Enterキーを押し改行してから
9を2回押し、Enterキーを押してから終了ということです。
0691デフォルトの名無しさんNGNG
類の要員函數を静的にせずに呼び返し函數の引数として
与えるにはどうしたらいいの?
0692デフォルトの名無しさんNGNG
ふざけた質問分だな
メンバ関数のポインタ、とかで調べろ
0693691NGNG
>>692

「要員函數の指示子」でググったところ
何もヒットしませんでした

何が悪いんでしょう?
0694デフォルトの名無しさんNGNG
お前の頭
0695デフォルトの名無しさんNGNG
>>686 入力サイズは決め打ちです
#include <stdio.h>
#include <string.h>
#define M 1000
#define N 256
#define FILE_NAME_SIZE 256
int main(void)
{
char buf[M][N], file[FILE_NAME_SIZE];
FILE* fp;
int i, j;
for (i = 0; i < M; i++) {
fgets(buf[i], N, stdin);
if (strcmp("99\n", buf[i]) == 0) { break; }
}
fgets(file, FILE_NAME_SIZE, stdin);
file[strlen(file) - 1] = '\0';
fp = fopen(file, "w");
for (j = 0; j < i; j++) { fprintf(fp, "%s", buf[j]); }
fclose(fp);
return 0;
}
0696695NGNG
s/>>686/>>690/
0697652=690NGNG
>>695
どうもありがとうございます。
0698678NGNG
>>687
C:\Program Files\Microsoft Visual Studio\MyProjects\en\en.cpp(15) : error C2018: 文字 '0x81' は認識できません。
C:\Program Files\Microsoft Visual Studio\MyProjects\en\en.cpp(15) : error C2018: 文字 '0x40' は認識できません。
このエラーが数行にまたがって大量に出るのですがどのようにしたら
いいでしょうか?
0699デフォルトの名無しさんNGNG
認識できない文字を消せばいい
つ−か、マルチバイトの空白を消せ
0700デフォルトの名無しさんNGNG
>>698
コピペしただろ。
0701678NGNG
>>699-700
すいません、情けないエラーでした。。
一つだけお聞きしたいのですが、
(r1 >= r2) ? ((r1 * r1) >= f) && (f >= (r2 * r2))
         : ((r2 * r2) >= f) && (f >= (r1 * r1));
の部分だけ説明願えませんか?
0702デフォルトの名無しさんNGNG
よくわかってないのが単純にコピペしないように
かつレスを見やすくするために
2バイト空白まぜるのは常
0703デフォルトの名無しさんNGNG
それは、以前はtab文字が使えなかったから
0704デフォルトの名無しさんNGNG
>>701
円の方程式x^2+y^2=r^2を使って円O1,O2の範囲内かどうか調べてるだけ。
f=x^2+y^2 とおいて r^2 以上なら円の外部分 以下なら内部分ってことで。
0705678NGNG
>>701
了解しました。どうもありがとうございました。
0706todokuro NGNG
i need some cool c programs for my presentation tomorrow.
if any one can help me, please give me some idea or program
that i can get good grade.
i can read japanese but cant write.
onegaishimasu
0707デフォルトの名無しさんNGNG
>>706
その発表で求められてるレベルが分からないので何とも言えない。
0708デフォルトの名無しさんNGNG
>>706
int strlen(const char* s)
{
 int i=0;
 while(s[i])i++;
 return i;
}
0709デフォルトの名無しさんNGNG
>>706
int main()
{
 printf("Hello World!\n");
}

This is a super program.
0710todokuroNGNG



ha
0711デフォルトの名無しさんNGNG
hi
0712デフォルトの名無しさんNGNG
>>706
int strcmp(char*l,char*r){return*l==*r?(*l?0:strcmp(++l,++r)):(*l>*r)*2-1;}
0713デフォルトの名無しさんNGNG
>>706
正方向で符号化するハフマンなんかいいと思う
0714todokuroNGNG
thank you people. i'll try my best.
i just quit this shit and will go outside to buy ganja.
bye-bye thank you all!
0715todokuroNGNG
oh i got last question. Is it able to make same
intresting game program by c?
Last time i saw the matrix movie program that was typed by c
0716706NGNG
>>713さま
そのようにしてみようとおもいます。
ありがとうございました。
0717デフォルトの名無しさんNGNG
>>666
これが聞きたいんかいな
{
    struct list
    {
        struct list *next;
        char data[1024 * 1024 * 1024];
    };
    struct list *head;
    struct list **chain;
    int index;

    chain = &head;
    for (index = 0; index < 1024; index++)
    {
        *chain = (struct list *)malloc(sizeof(struct list));
        if (*chain == NULL)
        {
            // error processing
            exit(1024);
        }
        chain = &((*chain)->next);
    }
    *chain = head;
}
細かいとこは自分で書きなはれ。
0718パスカルNGNG
スレ違いなんすけど、誰かこの問題できますか??
ちなみにパスカル言語っす。

This program will require the student to build a singly-linked list.
The definitions to be used are:

TYPE
LISTPTR = ^LIST;
LIST = RECORD
KEY:CHAR;
LINK:LISTPTR
END;

0719パスカルNGNG
The records to be linked will be placed into ascending order based
on the KEY field and duplicates are not allowed. If the insertion
of a duplicate is attempted, a message should be output to the
printer indicating the value of the KEY that was provided and the
fact that it was a duplicate and insertion was disallowed. After
the entire list has been built, it shoud be output ot the pirnter.

The program will be executed three times; the following data will
be used;

QWERTYUIOPASDFGHJKLZXCVBNM
PLANYOURWORKANDWORKYOURPLAN
0720デフォルトの名無しさんNGNG
>>540
この問題なんですけど、構造体を使わずに、ポインタと配列で作っていただけませんか?
どなたか挑戦お願いします。
0721デフォルトの名無しさんNGNG
二日間何やってたんだよ
0722デフォルトの名無しさんNGNG
>>718-719
スレタイが見えんのか?
0723デフォルトの名無しさんNGNG
>>667
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1064150088&res=268&fi=no
TokenReaderについて何も情報を提示していないから問題2はしていない。
0724デフォルトの名無しさんNGNG
今時Pascalなんかやらせる学校は辞めていいよ
0725デフォルトの名無しさんNGNG
>>724
でた、低学歴!
0726デフォルトの名無しさんNGNG
こんな問題なんですけど
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=140
教えて下され
0727667NGNG
>>723
実数スタックと実数キューのサンプルテンプレートと実行結果のサンプル及び逆ポーランド式計算機(TokenReader含む)の
サンプルテンプレートが追って出されたので張っておきます。申し訳ありません。
実数スタックhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=137
実数キューhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=138
計算機http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=139
上2つはこのサンプルテンプレから配列の場合と連結リストの場合に合わせて書き換えなければならない・・・です。

後になって問題につけたしをするのはやめましょう、と注意書きがあるのにすいません。
どうかお願いします。ちなみにC++です。

問題1. 実数のキューおよびスタックのクラスを、配列および連結リストで作成せよ。
(整数でなく実数。それぞれを作成するので4つ)
問題2. 実数のスタックを用いて逆ポーランド式計算機を作れ。余裕があれば単語分割するクラス
(TokenReader)を改良してキューを利用した形にしてみよ。
0728デフォルトの名無しさんNGNG
fgets()というか EOFがらみの質問ですが、

if( fgets(buf,MAXLEN,stdin) ) {
printf("==%s==\n",buf);
}

これを実行し、キーボードから abc<RET> と入力すると(<RET>は改行)
==abc
==
と出力されます。これは理解出来る。次に abc<CTRL-D><CTRL-D> と入力すると
==abc==
と出力されます。なぜ <CTRL-D>が2個必要なのか、という質問なのですが。
ちなみに、abc<CTRL-D>de<RET> と入力すると
==abcde
==
と出力されます。
文字列を何も入力せずいきなり <CTRL-D>をたたくとなにも出力されません
( if( fgets() ) が false になる)。この場合は <CTRL-D> 1個で済みます。
(Linux での話です。DOS だと <CTRL-Z> が2回必要なのでしょうか。確認していません)
0729デフォルトの名無しさんNGNG
>>728
Ctrl+Dが行頭でしか有効じゃないからじゃねぇの?
0730728NGNG
>Ctrl+Dが行頭でしか有効じゃないからじゃねぇの?

行頭かどうかが重要、というのはご指摘の通りのようです。
行頭以外の CTRL-D がどう扱われているのか、なんか複雑なのですが、
動作から推測するに
(1)行頭の CTRL-D は EOF と解釈される
(2)いったん文字入力を始めると"行の途中" という状態になる。
(3)行の途中 状態を終了するのは RETだけ
  (CTRL-M とか CTRL-J とか。stty の状態によるでしょうが)。
(4)行の途中の CTRL-D は無視される。ただし直後に CTRL-D が続くと EOF になる。
こういうこと??

CTRL-D 1個で常に EOF にしたいとすれば、fgets() はだめで fgetc() を使うしかない?
0731デフォルトの名無しさんNGNG
>なぜ <CTRL-D>が2個必要なのか
1個で大丈夫では?

char *fgets(char *s, int size, FILE *stream);
fgets() は成功すると s を返し、ファイルの終り(あるいはエラー)の場合 NULL を返す。

何文字かに続けてCTRL-Dなら、NULLにならないのは当然だろ?
0732从*・ 。.・)<超限帰納法! ◆SayuminPM. NGNG
Ctrl-D の扱いは端末のお話になってくるので UNIX の本とか読んでみたり.
0733デフォルトの名無しさんNGNG
feof使ってもダメ?
0734デフォルトの名無しさんNGNG
ごめん、見なかったことにして
0735デフォルトの名無しさんNGNG
main()の中にあるodeint(y, N, MIN, MAX, eps, dist, 0.0, f, rkqs);
は積分をする関数で、積分区間MIN(#define MIN 0.0)からMAX(#define MAX 10.0)
までの途中計算を出力せずに、MAXの時の値を返す関数です。
これを途中計算も出力するようにするにはどうすればいいのですか?

http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=141&fi=no
0736お願いしますNGNG
#include<iostream>
using namespace std;
class vector{
private:
double x;
double y;
public:
vector(){x=0.0;y=0.0;}
vector(double a,double b){x=a;y=b;}
vector add(vector p,vector q);
void print(void);
double getx(void){return x;}
double gety(void){return y;}
};
void vector::print(void){
cout<<"(x,y)=("<<x<<","<<y<<")"<<endl;
}
vector vector::add(vector p,vector q){
vector temp(0,0);
temp.x=(p.x)+(q.x);
temp.y=(p.y)+(q.y);
return temp;
}
ヘッダファイルをこう書いて・・・
0737728NGNG
>何文字かに続けてCTRL-Dなら、NULLにならないのは当然だろ?

はい。man fgets によれば、fgets() が NULL を返すのは、エラーか、
一文字も読まずにEOFになった場合。文字を読んだ後 EOF になっても NULL を
返さないのはマニュアルどおりです。質問は、EOF にするのになぜ Ctrl-D が
2回要るか、ということでした。

>Ctrl-D の扱いは端末のお話になってくるので UNIX の本とか読んでみたり.

本を読んだわけではありませんが、ネットで少し調べると、どうも端末のバッファリングが
関係しているようでした。

abc と入力したあと、ctrl-D や RET を押す前なら、backspace で修正等が出来る。
ctrl-D を押すと、現在のバッファの内容が送られ、バッファは空になる。
バッファが空の時に ctrl-D を押すと、EOF になる。
バッファが空なのは、行頭か、ctrl-D を押した直後。
どうもこういうことらしいです。(私の理解が正しければ)
0738736(続NGNG
#include<iostream>
#include"basic2.h"

int main()
{
vector p=vector(1.0,0.0);
vector q=vector(0.0,1.0);

p.print();
q.print();
cout<<add(p,q)<<endl;

return 0;
}

.cppファイルをこう記述して、コンパイルしたのですが、
「.cpp 11: 未定義の関数 'add' を呼び出した」
と、出ます。いったい何がだめなのでしょうか?
0739デフォルトの名無しさんNGNG
Cと直接の関係がないのですが・・・

いま、Cで数値計算のプログラムを作り、WinXpのコマンドプロンプトから実行しています。
ところが繰り返し回数を大きく設定しすぎてしまったため、
今表示されている結果を保持したままプログラムを終了したいのですが

強制終了の方法を教えてもらえませんでしょうか・・・
0740デフォルトの名無しさんNGNG
>今表示されている結果を保持
キャプチャ&タスク終了
0741デフォルトの名無しさんNGNG
>>736
なんかめちゃくちゃだな…
それをやりたいなら
vector add(vector p, vector q)をフレンド関数にするか、
staticにしてvector::addで呼び出す

>>739
CTRL+Cすればプロンプトに戻るかもしれない。
戻らないで消えるかもしれない。
0742デフォルトの名無しさんNGNG
すんません。三行三列と三行二列の行列の積を求める書き方教えてください。
めんどくさかったら軽いヒントでもいいんで
ちなみに初期数値は与えられてます。forを使うみたいですがいまいち・・・

違うスレに間違って書いてしまったんで、ここに書き直します。マルチになってしまって申し訳ないです。
どうかお願いします。
0743デフォルトの名無しさんNGNG
>740それが面倒だったので・・・
>741ありがとうです、無事停止しました!助かりました
0744736NGNG
ありがとうございます、friend関数を使って、なんとかできました。

あと、他にも、pとqの加算の方法ってありますか(friend関数を使わずに)?
もうしわけありませんが、staticに関しては、当方まったくわかりません・・・
0745742NGNG
#include<stdio.h>

int main(void)
{
int A[3][3]={{2,5,10},{4,7,8},{8,2,3}};
int B[3][2]={{10,25},{20,15},{5,10}};
int C[3][2];

int i,j,k;

for(i = 0; i<3; i++){
for(j = 0; j<2; j++){
C[i][j] = 0;
for(k = 0; k<3; k++){
C[i][j] = C[i][j] + A[i][k] * B[k][j];
}
}
}

printf("%d\n",C[i][j]);

return 0;
}
0746从*・ 。.・)<一点コンパクト化! ◆SayuminPM. NGNG
>>737
canonical 入力のときは
EOF をタイプすると読み取りを待たされてるバイトをすぐに入力に渡す.
読み取りを待たされていないバイトが無いときは0を渡す.

だと思ったけど UNIX 系の人に聞いた方がいいよ
0747742NGNG
上のやつのどこを変えたらいいんでしょうか?
ここの人からすれば初歩だろうに、情けない
0748742NGNG
もう一時間半近くやってるんで誰か救いの手を差し伸べてください
0749デフォルトの名無しさんNGNG
>>736
EffectiveC++を一読することをお勧めしておく。
つーか、complexの実装でも見てみたら?

>>742
どう巧くいかないのか書いたらこちらも検討してみる気になるが。
0750デフォルトの名無しさんNGNG
>744
>あと、他にも、pとqの加算の方法ってありますか(friend関数を使わずに)?

あたりまえですが、メンバ関数 add を定義して
   p.add(q)
で p と q の和がえられるようにはできますよね。でも friend を使う方が普通では。
もちろん、add などという関数名ではなく、operator + を使うわけですが。
そうすれば r = p + q; などとかけます。さらに凝れば p += q; なんかも可能にする
ことが出来ます。
ベクトルクラスは、たいがいの C++ の解説本に例があると思いますよ。
0751デフォルトの名無しさんNGNG
って書いてたら変なもん見つけた。

>printf("%d\n",C[i][j]);

このとき、i と j はいくつでしょう。そしてC[i][j]は合法でしょうか。
0752デフォルトの名無しさんNGNG
/ a b \ / e \ / ae + bg \
\ c d / \ g / = \ ce + dg /

[質問]3行3列×3行2列って?

/ a b c \ / j k \ / \
| d e f | | l m | = | |
\ g h i / \ n o / \ /
0753742NGNG
>>749
まず計算結果が単なる整数で出てくる。
しかもどういう計算が行われた出たのかわからん数値が。
行列の形で表示できない。
forのところでも聞きたいのですが、うまくわからないとこを説明できないです。
模範解答があって初めて自分の間違いに気づきそうな気がします。
0754デフォルトの名無しさんNGNG
>>753
>>751
0755742NGNG
>>752
aj+bl+cn ak+bm+co
dj+el+fn dk+em+fo
gj+hl+in gk+hm+io
0756デフォルトの名無しさんNGNG
>>755
一件落着オメ。

さあ次いきましょ、次。
0757デフォルトの名無しさんNGNG
>>755
めんどくせぇから
C[0][0] = A[0][0] * B[0][0]+A[0][1]B[1][0]+A[0][2] * B[2][0];
C[0][1] = A[0][0] * B[0][1]+A[0][1]B[1][1]+A[0][2] * B[2][1];
C[1][0] = A[1][0] * B[0][0]+A[1][1]B[1][0]+A[1][2] * B[2][0];
C[1][1] = A[1][0] * B[0][1]+A[1][1]B[1][1]+A[1][2] * B[2][1];
C[2][0] = A[2][0] * B[0][0]+A[2][1]B[1][0]+A[2][2] * B[2][0];
C[2][1] = A[2][0] * B[0][1]+A[2][1]B[1][1]+A[2][2] * B[2][1];
とでもして、
printf("%d %d\n%d %d\n%d %d\n", C[0][0], C[0][1], C[1][1], C[2][0], C[2][1]);
とでもしておけ。
面倒なループなんて考えずに済むぞ。
0758デフォルトの名無しさんNGNG
いけね、sedで変換してたら真ん中の掛け算を'*'にするの忘れてたw
0759デフォルトの名無しさんNGNG
for(i = 0; i<3; i++){
for(j = 0; j<2; j++){
C[i][j] = 0;
for(k = 0; k<3; k++){
C[i][j] = C[i][j] + A[i][k] * B[k][j];
}
printf("%d\n",C[i][j]);
}
}

ってことなのでは?
0760742NGNG
いやこんな高校生でも知ってる計算式はいいんですよ。
forを使って繰り返し計算させるにはどうしたらいいのかを知りたいんです。
もし仮に100行200列とかなってもforで組めるなら時間かからないでしょ?
三行三列とかだから手打ちで各要素を計算してもいいけど要素が増えたらできないじゃないですか!
その組み方で間違いと思われる箇所を指摘して欲しいんです。
私の聞き方悪いですか?
0761742NGNG
さっきのは756さんにです。
759さん参考に頑張ってみます
0762デフォルトの名無しさんNGNG
>751をスルーしておいて随分偉そうだな。
0763デフォルトの名無しさんNGNG
hoge(double a, double b);
のbをfor(0<b<1000)のようにしたいのですが、どうすればいいのですか?
0764デフォルトの名無しさんNGNG
いや、>754もか。そんなことだから>757にからかわれるんだ。
0765デフォルトの名無しさんNGNG
刻み幅は?
0766デフォルトの名無しさんNGNG
while (1) {
 if (b <= 0.0 || b >= 1000.0) break;
 hoge(a, b);
 /* 必要なら、ここでbの値に何らかの操作を加える */
}

みたいな?
0767742NGNG
>>751
iとjはforによって変動する値すべてに当てはまるんじゃないんですか?
C++の授業まだ4回しか受けてないんで、自信ないです
0768デフォルトの名無しさんNGNG
あー、開き盲になってるのかな。>745に貼ったソースをよく見てみろ。
>751の指摘した行はループの外にあるのが見えてこないか?
0769763NGNG
>>刻み幅は?
bの刻み幅は10です。
0770742NGNG
>>768
printfの位置が{}の外に出てるということですか?
たぶんそう言いたいのだと思うけど、何でこの位置だとダメかはわからんです。
あと759さんのおかげで正しい値は出ました。しかし
170 225
220 285
135 260
というように行列式っぽく出力するにはどうしたらいいんでしょうか?
エスケープ記号?とかいうのは\nしかわからないのですが、この際に使える書き方あればお願いします
0771デフォルトの名無しさんNGNG
>768
for(b=0; b<=1000; b=b+10)
 hoge(a, b);
0772771NGNG
間違えた 769 アテネ
0773デフォルトの名無しさんNGNG
for(i = 0; i<3; i++){
for(j = 0; j<2; j++){
C[i][j] = 0;
for(k = 0; k<3; k++){
C[i][j] = C[i][j] + A[i][k] * B[k][j];
}
printf("%d ",C[i][j]);
}
printf("\n");
}
0774デフォルトの名無しさんNGNG
>>770
>何でこの位置だとダメかはわからんです。

これがわからないで単位をとろうというのは、なんぼなんでも無理。
素直に留年したら?
0775デフォルトの名無しさんNGNG
for文が分からなくてもgoto使えばループは書けるけど(以下省略します
0776742NGNG
>>773
C[i][j] = C[i][j] + A[i][k] * B[k][j];
}
printf("%d\f",C[i][j]);
}
printf("\n");
}
ってしたら
170 225
220 285
135 260
ってできました。
ありがとう

他の人もありがとでした。
0777デフォルトの名無しさんNGNG
\f って何だ?
0778デフォルトの名無しさんNGNG
>>777
改ページだったと思う。
0779デフォルトの名無しさんNGNG
>>776
マニアック杉
0780デフォルトの名無しさんNGNG
すいませんがどうか>>727の問題を解いてください。
よろしくお願いしますm(_ _)m
0781デフォルトの名無しさんNGNG
質問者は口の聞き方がひでーな
0782デフォルトの名無しさんNGNG
線形探索と二分探索のプログラムを作っていますがわかりません。
ここまで自力で作りましたが合っているかわかりません。
よろしくお願いします。
/*tansaku.c*/
#include <stdio.h>

#define ARRAYI1_MAX sizeof(array1)
#define ARRAYI2_MAX sizeof(array2)

int binary_search(int*,int,int);
int liner_search(int*,int,int);

void main(void)
{
int array1[]={2,3,5,8,12,20,32,52};
int araay2[]={22,34,65,66,12,33,43,5,1};
int result,key;
printf("探す文字を入力して下さい。\n");
sacnf("%d",&key);
result=liner_search(array1,ARRAI1_MAX,key);

     if(result<0)
       {printf("見つかりませんでした\n");}
else
      {printf("%d番目に見つかりました\n",result);}
}
0783782続きNGNG
//線形探索
int liner_search(int*array,int num_array,int key)
{

}

//二分探索
int binary_search(int*array,int num_array,int key)
{

}
0784デフォルトの名無しさんNGNG
>>782-783
そこまで書けるならなんで線形探索が書けないんだ?
二分探索はともかく。
0785デフォルトの名無しさんNGNG
質問する側の言葉遣いがひどいですね…
>>742。
はじめのレスからひどい聞き方。
>>747->>748としつこい。>>753とおバカな質問。>>760とずいぶん偉そう。
>>767>>770と開き直る。最後のレスの>>776もどうも…
こんな糞みたいな奴の質問にも答えてあげるこのスレの人はいい人過ぎ。
0786782NGNG
>>784
ここまでは分かるですけど・・・
//線形探索
int liner_search(int*array,int num_array,int key)
{
int i=0;
for(i=0;i<result;i++)
}
0787782NGNG
頼んでいる身分で言いにくいですけど、二分探索については解説も書いてもらえたら嬉しいです。
0788デフォルトの名無しさんNGNG
http://www.google.com/search?hl=ja&c2coff=1&q=%E7%B7%9A%E5%BD%A2%E6%8E%A2%E7%B4%A2&lr=
http://www.google.com/search?hl=ja&q=%E4%BA%8C%E5%88%86%E6%8E%A2%E7%B4%A2&lr=
GUDDO RAKKU!!
0789デフォルトの名無しさんNGNG
>>785
このスレに(・∀・)イイ!!人など一人もいませんよ。
本来、宿題の丸投げに答えること自体悪いこととされてるんだからね。
(・∀・)イイ!!も悪いもどうでもいいんですよ。
別に、みんな助けてあげようとかそういう気持ちでやってるわけじゃないんだから。
ただ自分が作りたいから作ってるんだからね。そりゃ言葉使い悪いやつに答えたく
ないやつもいるだろうが、答える奴を非難するのは的外れですね。
0790デフォルトの名無しさんNGNG
そんなにコード書きたかったらもっとやりがいのある物作ればいいのに・・・
0791デフォルトの名無しさんNGNG
お前は何を求めてこんなスレ覗いてるんだw
0792デフォルトの名無しさんNGNG
>>790
やりがいのある宿題をくれ
0793デフォルトの名無しさんNGNG
>>792
NumberPlace自動解答。簡単だYo!
0794(・∀・)イイ!!NGNG
答えたきゃ答えれば(・∀・)イイ!!
答えなくなければ答えなきゃ(・∀・)イイ!!
自分本位な理想主義者(・A・)イクナイ!!
0795デフォルトの名無しさんNGNG
>>792
f2cをVCで使えるようにしてくれ。

3次元の立体があって、表面が三角形の集合であらわされてる。
ファイルに全ての三角形の頂点座標と法線ベクトルが与えられてる。
法線の方向は、三角形の頂点を半時計周りに与えて求めてる。
この3次元の立体を、四面体or六面体or三角形の集合で表してくれ。
(要するに表面のみのメッシュを、内部までメッシュ化してくれ)

よろしくお願いします。
フリーで公開すれば、ある程度の需要は見込めるかもよ。
0796デフォルトの名無しさんNGNG
なんだ、この恩着せがましい阿呆は
0797デフォルトの名無しさんNGNG
>>792
DirectShowにて、音の高さを変えないで再生速度を
変えるフィルタを作ってください☆彡
0798デフォルトの名無しさんNGNG
>>791
質問者に回答する人を減らすため。
こんな低レベルな宿題を他人に丸投げなんてふざけすぎ。
0799(・∀・)イイ!!=常識人うぜーぞNGNG
(・∀・)イイ!!
てめーうるせーんだよ。お前、前スレの常識人だろ?
そんなもんはっきりいって一目瞭然。隠そうとしても無駄なんだよ。
お前の考え方を押し付けるのは止めろや。
俺は常識とかそういうの嫌いだからさ。
お前みたいな常識のない常識人は見てると腹が立つんだけど?
今後(・∀・)イイ!!とかほざきやがったら、まじでぼこすぞ?
0800デフォルトの名無しさんNGNG
>>798
無駄

基本的に、答えてる人は困ってる人を助けようと思ってやってるのではなく
ボケ防止、自己満足、好奇心などでやってるからむしろ解答者が餌をもらってる感じ


(・∀・)イイ!!
0801デフォルトの名無しさんNGNG
>>800
宿題を他人にやらせるのは良くない。ボケ防止を求めるなら、算数ドリルでもやっておけ。
自己満足?ずいぶんレベルの低い事で満足出来るんだなおい。
好奇心?ずいぶんレベルの低い物に好奇心持てるんだなおい。

ここに出てきてる宿題なんぞC/C++の文法を理解するための宿題だろ?
こんなもんで自己満足できたり、こんなもんに好奇心もてる奴は文法の本でも買うか、そういう初心者サイトでも見てろ。
0802デフォルトの名無しさんNGNG
どうした、自分の宿題がスルーされてトサカにきてんのか?
0803デフォルトの名無しさんNGNG
>>799
(・∀・)イイ!!は考え方の押し付けではなく、むしろ解放をしているのだと思うが。
>>789=(・∀・)イイ!!としての話だが。
それをわかっていないお前は相当なドキュソだと言える。
それに常識が嫌いと言ったり常識のない常識人が嫌いと言ったり
どうも、話に一貫性がないな。頼むからもう荒らすのは止めような。

>>785=>>790=>>795?=>>792?=>>799=>>800
かな?
0804デフォルトの名無しさんNGNG
>>801ずいぶん視野の狭い椰子ですね^^
0805デフォルトの名無しさんNGNG
なぜ宿題をやるのかって?そこに宿題があるからさ。
ただの暇つぶし。
0806803NGNG
まちがえ>>785=>>790=>>795?=>>792?=>>799=>>801
0807792NGNG
>>803
なんでそう妄想するかね。
俺はここ300レスぐらい何も書いてなかったよ。
0808デフォルトの名無しさんNGNG
>>802
俺の宿題?>>795の事?
あれはやりがいのある事やりたいって有志がいたから出した宿題だ。
そんなパッパッと終わるような簡単な宿題はやりがいがあるとは言わないだろ。
恐らく>>792さんは今プログラムの設計中かコーディング中だ。
0809803NGNG
まちがえ
>>785=>>790=>>795?=>>798?=>>799=>>801
0810デフォルトの名無しさんNGNG
>>803君がそれらが同一人物だと思った根拠が是非知りたい

ちなみに漏れは>>800&&!(785=>>790=>>795?=>>792?=>>799)
0811デフォルトの名無しさんNGNG
>>803
全然外れてるぞ。
>>790=>>795=>>801=俺
>>804
そうか。
常識外れの事をしてる奴等を邪魔して、
邪魔した奴はそれを理解出来なくて視野が狭い奴。

視野うんぬんを語る前にオマエは常識外れだ。
ボケ防止訓練の前にまず小学校の授業を受けさせてもらえ。
0812デフォルトの名無しさんNGNG
と、自称常識人が申しております
0813デフォルトの名無しさんNGNG
(・∀・)イイ!!さんよお?
ここまでスレが荒れたのはお前の責任だぞ?
どう落とし前つけてくれるんだプゲラ
達観したような顔しやがって、気にいらねえな。
結局これがお前の残した結果なんだよ。お前のやり方じゃ、
スレの治安は悪くなる一方なんだよ糞顔が!!!藁藁藁
0814デフォルトの名無しさんNGNG
過去やった宿題の回答の間違いに気づいた。
・・ま、過去は振り返らないことにしよう。
0815デフォルトの名無しさんNGNG
ネタはマ板でやってくれんかね。
0816デフォルトの名無しさんNGNG
お前らこのスレの初心者だな。
>>789 = >>794 = >>799は確かだぞw
0817デフォルトの名無しさんNGNG
つ[宿題]
0818816NGNG
一応根拠を言っとくと
まず、常識人はある程度もっともらしいことを、突然述べ始める。
で、最近いなくなったと思ったら、今度は(・∀・)イイ!!という名前で書きこむやつが最近出てきて
今回近い時間帯に>>789=>>794と二つの書きこみがあったので、まずこれを確信。
さらに、常識人は書いたあとに、必ず自分のレスにケチをつけたりするよくわからない自演をするのが
定番だった。俺のような論理的思考ができるやつにとっては、正直自明だった。
0819 (・∀・)NGNG
(・∀・)
0820デフォルトの名無しさんNGNG
また宿題切れて
スレが禁断症状におちいってるな・・・
0821デフォルトの名無しさんNGNG
>>814
よくあるよくある。
0822デフォルトの名無しさんNGNG
>>818
ネタふりした785とか801、811はどうなんだ?
0823デフォルトの名無しさんNGNG
#include <windows.h>がエラーになります。
コンパイラはgccなのですが、どうすればよろしいでしょうか??
0824デフォルトの名無しさんNGNG
-mwindows
0825デフォルトの名無しさんNGNG
宿題がないと左手がティムポを握ってしまいます。
どうにかしてください。
0826818NGNG
>>822
それはきっと全部おまいでしょう。
そのレス番はおまい本人だから、当然おまいは正解を初めから知っている。
その上で漏れを試して、漏れがまちがえたときに、それを打ち明けて
漏れをはめようとしている。
そうはいかない。漏れをあんまなめんじゃねーぜ?
0827デフォルトの名無しさんNGNG
俺の予想だと
>>818=(・∀・)イイ!!なんだが。
0828デフォルトの名無しさんNGNG
ネタ振り:ネタを提示する
0829723NGNG
>>780
俺のを参考にすれば簡単に出来るはず。
0830デフォルトの名無しさんNGNG
>>540
上記の問題なんですけど、学校で構造体を習っていないので使用してはいけないみたいなんです。
ポインタと配列を使って、どうにかして解いてもらえないでしょうか?
ほんとわからなくて困ってます。ここの掲示板だけが救いなので、お願いします。
0831823NGNG
>824 #include <windows.h>を#include <mwindows.h>または、#include <-mwindows.h>
に変更しても、no such file or directory になってしまいます。
0832デフォルトの名無しさんNGNG
>>831
MinGWを入れなおせ(-> http://mingw.org/ )
0833デフォルトの名無しさんNGNG
>>831
君プログラマに向いてないよ。
0834823NGNG
>832 初心者で本当にスイマセンが、
MinGWとは何でしょうか?サイトに行ったのですがわかりません。
0835785NGNG
俺のせいで荒れてる…orz
ネタフリしてごめんなさい。
0836デフォルトの名無しさんNGNG
>>834
ここに来る以前の問題だから教授/講師にでも聞いてくれ
0837デフォルトの名無しさんNGNG
>>835
何言ってる!!荒らしてたのはおまいだろ(・∀・)ニヤニヤ
0838785NGNG
いまさら何を言っても自作自演と思われるだろうな…
0839デフォルトの名無しさんNGNG
荒れて悪かったと思うなら、一言謝ってもう出てくるな。それが最善。
0840デフォルトの名無しさんNGNG
名無しで出てこれば出てきてもわからない罠
0841デフォルトの名無しさんNGNG
それが名無しのいいとこさ。コテならいつまでも過去の行動に粘着されるからな。
0842デフォルトの名無しさんNGNG
宿題といてくれれば電波だろうが、犯罪者だろうが
誰だっていいです。プンプン
0843デフォルトの名無しさんNGNG
間違うような素人でも良いんだろうか
0844デフォルトの名無しさんNGNG
間違っていても本人がわからずに適当にやって提出するよりはマシ、ということで
間違っていたところで文句を言われる筋合いは無い。
0845デフォルトの名無しさんNGNG
漏れはコードに常にウイルスをしこんでいまつ。
0846デフォルトの名無しさんNGNG
つか、玄人w の843が答えるなり指摘するなりすりゃいい
0847デフォルトの名無しさんNGNG
>>846
AならばBが成り立つとしたらAでないならばBでもない が成り立つ人?
ロジックがおかしいです。どうしましょう…
0848デフォルトの名無しさんNGNG
>>847
それでも9課の雑用ロボには使ってもらえるよ
0849デフォルトの名無しさんNGNG
>>846
ただの揚げ足取りですが...
0850デフォルトの名無しさんNGNG
次スレ

C老人がボケ防止にC/C++の宿題を解決します 35代目
0851デフォルトの名無しさんNGNG
A ∩ B が成り立つとしたら
Aでない ∪ Bでもない が成り立たないんです
0852デフォルトの名無しさんNGNG
There you go. You are always so right. It is all a big show. It is all about you.
↑の文章を打つと、↓のような実行結果が出てくるプログラムを作りなさい。
There[1]You[1]go[1]
you[2]are[1] always[1]
so[1]right[1]It[2]
is[2]all[2]a[1]
big[1]show[1]about[1]

難しいことはよくわからないので、ポインタを使っておねがいします。
0853デフォルトの名無しさんNGNG
              ,,;:-‐''"⌒ ̄";;;;;;;⌒ ̄"ヾ、
              ='-‐''"/,::´ /::::::::::::::::ヽ :::`ヾ
              ァ'´.,:´/.::::::/i:: :::::. :; :::丶 ::::::ヾ、
             / / ::/.:  { l ヽ_,,,_`、 .:`、ヽ:::::::ヽ`
              {::/ァ' .i..:/i.::{::{.ヾ~::i:ヾ丶::::::.::::i:::::::::}
          、_ノ'.{ .::::{-{‐{:;iヾ{ '"T ヾ il.|'.:::.::}::::::::ト、
              l.:il :lヽi'"ヽ`、ヽ .l,'゚i!'〉リi}::i:::::l:::ノ::ハヽ、_
麻衣子は        {:| i .} } {'゚}.   ┴-' i}:ノl::::}::i:::::. l`ー"
 お風呂入るから   {、.ヾ-i ー´、    〃 ノ:::ノ::ノ::}:: ::. }
  ちょっと待っててね   ノト " っ   、_,;-':.:'/:::::::l: : l
                {:l:::`i::..、   ._.,.;:イシ:::/::ノ   l、
                iんV´iノノ` ツi iリノツ-‐''"  :: : ヽ 、
             _,-.r‐i {,-ト .i_,,ノ-‐-―/ : : :::ノ :::::.  } `、
            ( l ./ /~   /     .ノ/:::::/:  ::::::: : :l
           (.._,,iツvV   .,'     ,'::{:::;:::::   :::::::: :::i
          `ー7/::::{. '"~/     {;;;li/::::l::::::  :::::::::::::{
            {:l(ァ'  ,, '      l::;;|l/:::{i::::: : ::: :::: ::::l
            リァ' .,  ´       /メ{ {l:::/ {:::l:. :  :  ::::|
           /, ´      ノ // l {iメ {:::|i:: :    :::l
          /./       /::'/:/  {:i:|イ{ i::l::  i    ::}
          i' ´      /::::::/::/    l .:|::::|:l:::l : l :   ::l
          {      , イ´  /::;/  .ィ´:| }::::l:i::::i:i:. .| : :.  ::l
            i、__,, ィ i::::l  /:,:::l //l::::l .}::::li:::::l l::::} i: i  :::l
0854デフォルトの名無しさんNGNG
>>852
You[1]
you[2]
これは大文字小文字は区別してそれぞれ数えるってことでいいよね?
「.」はどうなるの?
0855デフォルトの名無しさんNGNG
>>852
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char* from = "There you go. You are always so right. It is all a big show. It is all about you.\n";
char* to = "There[1]You[1]go[1]\nyou[2]are[1] always[1]\nso[1]right[1]It[2]\nis[2]all[2]a[1]\nbig[1]show[1]about[1]";

int main(void) {
 char* buf;
 buf = malloc(4096);
 printf("文章を入力してください。");
 fgets(buf, 4095, stdin);
 if (strcmp(buf, from)) {
  printf("出力: %s\n", to);
 } else {
  printf("出力:\n");
 }
 return 0;
}

動作確認はしてない。
0856855NGNG
あー、メモリ開放忘れてた。
- }
- return 0;
+ }
+ free(buf);
+ return 0;
0857855NGNG
間違い発見
- if (strcmp(buf, from)) {
+ if (!strcmp(buf, from)) {
0858デフォルトの名無しさんNGNG
char* to = "There[1]You[1]go[1]\nyou[2]are[1] always[1]\nso[1]right[1]It[2]\nis[2]all[2]a[1]\nbig[1]show[1]about[1]";
ここなんですけど、文章を打つだけで出てきた単語の回数が数えられるように改造してもらえんませんか?
0859デフォルトの名無しさんNGNG
>>854
 別でお願いします。
 「.」は飛ばして読み込むようにしてください。
0860デフォルトの名無しさんNGNG
>>829
問題1は参考にしてうまくできました。どうも有難う御座います。
問題2の単語分割するクラス(TokenReader)を改良してキューを利用した形にして求める
という問題がいまだわからないのですがどうすれば良いのかわかりません。
一応
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=142&fi=no
ここまで作成してのですが援護よろしくお願いします。
0861デフォルトの名無しさんNGNG
double MIN = 0.0;
double MAX = 10.0;
double dt = 0.01;
euler(MIN, MAX, dt) //積分結果の最後の値を返す
0から10.0まで積分計算をし、積分結果の最後の値を返す関数eulerがあるのですが、
途中の計算過程も出力するようにするにはどうすればいいのですか?
0862デフォルトの名無しさんNGNG
>>861
int i;
double slice = MAX / 100;
for (i = 1; i < 100; i++);
    euler(MIN, slice * i , dt);
euler(MIN, MAX, dt);
0863デフォルトの名無しさんNGNG
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1060403548&res=143
の
void output(double *a, int L,int n)
{
int i,j;

for(i=0;i<n;i++){
for(j=0;j<n+1;j++){
printf("%8.3lf",a[(i)*(L+1)+j]);
}
printf("\n");
}
printf("\n");
}
の部分で構文エラーが出てしまいます。
どこで間違えてるんでしょうか?
0864デフォルトの名無しさんNGNG
ipivot=gauss(*a,x,L,n,eps,isw);

a
0865482NGNG
>>852
[]に加算されるルールがわからないから誰も作ってくれないと思うよ
0866デフォルトの名無しさんNGNG
>>865
 同じ単語が2回出てきた場合は単語の後に[2]となり、一回しか出てこなかったら単語の後に[1]
 が付くようにお願いしたいです。
0867デフォルトの名無しさんNGNG
>>865
単語を分割してリンクリストに格納、ソートして隣同士コンペアすりゃ楽に出来るだろ。
さっさとやれ。
0868デフォルトの名無しさんNGNG
各マイクロ操作後のAの値をそれぞれ求めよ。
(1)初期状態 A=1101,B=0110
(2)初期状態 A=0110,B=1101
(3)初期状態 A=0110,B=0110

よろしくお願いします。
0869デフォルトの名無しさんNGNG
浮動小数をASCII文字列に変換する関数
int dtoc(double, int, char*)
と言う関数を作ってください。
引数
 double 変換する対象
 int   出力する小数点以下の文字数
 char* doubleをASCII文字列で、小数点以下の桁数はint指定
戻り値
 int   char*に格納された文字数

char*は'\0'終端で。
0870デフォルトの名無しさんNGNG
>>860
あと少しだ。おそらくその問題の意味は、
「init()で分割した単語を順にキューに格納し(enqueue()を使う)、
getToken()で順にその単語を出していく(peek()とdequeue()を使う)
ようにせよ」
と言うことであると思われる。まずすべきことは、実数のキューを
文字列のキューに書き換えること(これに際してデータは動的な
メモリの確保を行って文字列の長さに制限を加えない方がよいと
思われるが)、現在getToken()で逐次行っている処理をinit()で
すべて済ませてしまうことだ。
ガンガレ、終わればかなりの力になるぞ。
0871デフォルトの名無しさんNGNG
>>869
ASCII文字列とやらのフォーマットは?
そのメモリはどうやって確保する?(malloc?new?)
0872デフォルトの名無しさんNGNG
>>871
sprintf関数の代わりに使えればOKです。
0873デフォルトの名無しさんNGNG
>>865
ほれ。

int main()
{
system("awk '{for (i = 1; i <= NF; ++i) {print $i;}}'|sort|uniq -c|awk '{print $2\"[\"$1\"]\";}'");
return 0;
}
0874デフォルトの名無しさんNGNG
There you go.
You are always so right.
It is all a big show.
It is all about you.
↑の文章を打つと、↓のような実行結果が出てくるプログラムを作りなさい。
There[1]You[1]go[1]
you[2]are[1] always[1]
so[1]right[1]It[2]
is[2]all[2]a[1]
big[1]show[1]about[1]

You より you が後ろなのはなぜ?
0875デフォルトの名無しさんNGNG
俺も思ったけど深く考えない事に下
0876デフォルトの名無しさんNGNG
>>874>>875
順番的に、
There[1]→You[1]→go[1]→
you[2]→are[1]→always[1]→
so[1]→right[1]→It[2]→
is[2]all[2]a[1]→
big[1]show[1]about[1]
という感じです。わかりにくくてすいません。
0877デフォルトの名無しさんNGNG
つまり、出現順か。
0878874NGNG
だから、You より you が後ろなのはなぜかと聞いている。
youが先なら作れるが、Youが先だとすると作れない。
0879デフォルトの名無しさんNGNG
ほんとすいません。
There[1]→you[2]→go[1]→
You[1]→are[1]→always[1]→
so[1]→right[1]→It[2]→
is[2]all[2]a[1]→
big[1]show[1]about[1]
の順番でお願いします。
0880デフォルトの名無しさんNGNG
基準の一貫性へのこのこだわり、プログラマ軍団恐るべしと
言うところか。
0881デフォルトの名無しさんNGNG
C言語の配列で、ある条件にあう要素の個数を求めるにはどうすればいいですか?
例)x[]={3,5,6,4,1}のうち3より大きい要素は何個?みたいな。
0882デフォルトの名無しさんNGNG
>>881
数えればいいんですよ
0883デフォルトの名無しさんNGNG
もっと大きな数字とか別な条件とかになった場合のことで教えてください・・m(__)m
0884デフォルトの名無しさんNGNG
>>883
大きな数字を数えればいいんですよ
0885デフォルトの名無しさんNGNG
他どなたかいませんか〜??
0886デフォルトの名無しさんNGNG
コンピュータの中にエスパーでも飼わない限り、比較無しで篩い分けなんて無理だと分からないのかな
0887デフォルトの名無しさんNGNG
>>881
unsigned arrcnt(int n, int *arr, int (*pf)(int, int))
{
    unsigned ret = 0;
    int i;
    for (i = 0; i < n; ++i)
        if (pf(arr[i], 3)) ++ret;
    return ret;
}

int isover3(int x)
{
    return (x > 3)? 1: 0;
}

int main()
{
    :
    cnt = arrcnt(5, x, isover3);
    :
}
0888デフォルトの名無しさんNGNG
ちょっと間違えているが、察して。
0889デフォルトの名無しさんNGNG
いちおう直し床
- unsigned arrcnt(int n, int *arr, int (*pf)(int, int))
+ unsigned arrcnt(int n, int *arr, int (*pf)(int))
-         if (pf(arr[i], 3)) ++ret;
+         if (pf(arr[i])) ++ret;
0890デフォルトの名無しさんNGNG
 x[]={a,b,c,d,e}
c=0;
for(i=0;i<n;i++)
{
if(a[i] > 3)
{
c++;
}
}

printでcってのは?
0891デフォルトの名無しさんNGNG
x[i]やった
テキトーでスマソ
0892667NGNG
>>860
終わればかなりの力になるぞと言われ(`・ω・´)となったけれど
だんだん(´・ω・`)に・・・。“まずすべきこと”について大ヒントをください…。
0893デフォルトの名無しさんNGNG
>>860じゃなkて>>870だった…。欝だしのう
0894デフォルトの名無しさんNGNG
>>892
>まずすべきこと

寝ろ。こんな時間に頭の整理しろったって無理だろ。
0895デフォルトの名無しさんNGNG
ずうずうしいお願いですがぁ…
課題の解答教えてください!!
できればVCで作ってもらえるとありがたいです。
よろしくです。

課題概要↓
ttp://www2.tokyo-ct.ac.jp/~sugi/2004/3J/numa/chap5%20InterP.pdf
パスワード↓
3Jnuma
0896868NGNG
アキュムレータの問題なのですが、教えて頂けないでしょうか・・?
0897デフォルトの名無しさんNGNG
>>896
問題は全文掲載しましょう。

>>895
学校名丸出しで、pdf読むのに手間掛けさせてまでやらせるのか?
虫が良すぎ。
#でもきっと誰かやる。
0898デフォルトの名無しさんNGNG
>>895
ずうずうしすぎて笑った。
ニュートン法もラグランジェもやり方書いてあるじゃん。
式をプログラムに放り込むだけだろ。
0899868NGNG
>>897
すみません。
これは実験の最後の問題なんですが、
http://cage4418.fc2web.com/image.jpg
こんな感じで、他にOR,排他的論理和,(右シフト、左シフト)などがあるんですが
良かったら教えて頂けませんか?スレ違いすみません・・。
0900デフォルトの名無しさんNGNG
>>899
そのIMEの使い方はおかしい(笑)
0901デフォルトの名無しさんNGNG
なんかもうネタにしか思えないな…(笑
0902デフォルトの名無しさんNGNG
次スレ

老人がボケ防止にC/C++の宿題を解決します 35代目
http://pc5.2ch.net/test/read.cgi/tech/1065535118/
0903デフォルトの名無しさんNGNG
答える人減りそうな予感
0904デフォルトの名無しさんNGNG
>>895
さては・・・
不正アクセスさせて2chネラ逮捕させようって気だな
0905デフォルトの名無しさんNGNG
怖くてpw入力する気になれん
いくら>>895が許可したっつっても
管理者次第だしな・・・
0906デフォルトの名無しさんNGNG
>>899
こういうこと?

>(1)初期状態 A=1101,B=0110
>(2)初期状態 A=0110,B=1101
>(3)初期状態 A=0110,B=0110
  and  or xor shift r shift l
(1) 0100 1111 1011 0110 1010
(2) 0100 1111 1011 0011 1100
(3) 0110 0110 0000 0011 1100
0907デフォルトの名無しさんNGNG
>>904、>>905
東京高専の杉浦教官には垂れ込んだから大丈夫。
0908デフォルトの名無しさんNGNG
>>902の次スレはほんとの次スレ?
いろんな連中が入り乱れてる「次スレ」で、なんか意味わからんちん。
0909デフォルトの名無しさんNGNG
>>908
「次スレ」にそれ以上のものを求められても…
0910デフォルトの名無しさんNGNG
>>895、>>904、>>905、>>907
今みたらもう開けなくなっていた
0911デフォルトの名無しさんNGNG
マジレスすると、>>902は「次スレ」と言うスレタイのネタスレ。
0912899NGNG
>>906
ありがとうございマス
自分で単純にand,or,eor(xor?)だけやったんですが一緒でした。
右シフト、左シフト参考にさせてもらいます。ありがとうございました。
0913デフォルトの名無しさんNGNG
>>895探しが東京高専で行われると・・・
0914北斗づくしNGNG
スロットのプログラムを作りたいのですが、乱数の抽出方法がわかりません。
どなたかお教えください。
0915デフォルトの名無しさんNGNG
rand()
0916北斗づくしNGNG
初心者なので申し訳ありませんが、rand()の具体的な使い方と
具体例を教えてもらえませんか?
0917デフォルトの名無しさんNGNG
以下、乱数の品質だの剰余は駄目だのとお決まりネタが続きます。
0918デフォルトの名無しさんNGNG
死ね
0919デフォルトの名無しさんNGNG
>>916
乱数を使ってπの近似値を求める例(間違ってても知らない)
つか俺も初心者、ぐぐったら一杯でてくるだろうに…
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int i, n, count = 0;
double x, y;

scanf("%d",&n);
srand((unsigned)time(NULL));
for (i = 0; i<=n; i++)
{
x = (double)(rand() / (RAND_MAX + 1.0));
y = (double)(rand() / (RAND_MAX + 1.0));
if((x * x + y * y) < 1.0)
count++;
}
printf("π=%lf\n",((double) count)/((double) i)*4.0);
return 0;
}
0920デフォルトの名無しさんNGNG
足し算か引き算をコマンドライン引数で選択したいのですが、
やり方が分かりません。お願いします。
main(){
 foo(double x, double y);
  //足し算か引き算をコマンドライン引数で選択したい。
}
foo(double x, double y){
 AA = x + y;
 BB = x - y;
}
0921デフォルトの名無しさんNGNG
mainに引数つけろ
0922デフォルトの名無しさんNGNG
>>920
int main(int argc, char *argv[])
0923デフォルトの名無しさんNGNG
なんやろな。
詳しく読んでへんけど、>>879は>>654で答えが出たんちゃうの。
0924デフォルトの名無しさんNGNG
同じ学校の低脳が聞きに来たのか荒らしなのか
0925デフォルトの名無しさんNGNG
>>920
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char ** argv)
{
int num1, num2;
int result;
if (argc < 4) {
fprintf(stderr, "Usage: %s <num1> <num2> <operator>\n", argv[0]);
exit(EXIT_FAILURE);
}
num1 = atoi(argv[1]);
num2 = atoi(argv[2]);
switch (argv[3][0]) {
case '-':
result = sub(num1, num2);
break;
cae '+':
result = add(num1, num2);
break;
default:
fprintf(stderr, "Unknown operator.\n");
exit(EXIT_FAILURE);
break;
}
printf("%d\n", result);
return EXIT_SUCCESS;
}
0926デフォルトの名無しさんNGNG
あ、肝心なもん忘れた。
int sub(int num1, int num2)
{
return num1 - num2;
}
int add(int num1, int num2)
{
return num1 + num2;
}
0927デフォルトの名無しさんNGNG
cae '+':
0928デフォルトの名無しさんNGNG
勉強とバイトの両立はかなり大変だが、全く刺激のない生活はひからびていて嫌なんだ
私のバイトは、進学塾、予備校講師に家庭教師
この仕事は本当にやりがいがある。
生徒のために頑張っている、という意識が勉強との両立ができる状態に運んでいる。
そんな意識が無かったら、やっていないだろう。
本当に大変だ。睡眠時間も少ないし、体力、精神力勝負。
他人のために頑張る、というのは重い荷を背負うことなんだ。
中途半端じゃだめだ。生徒のために頑張ろう、という強い意識がなければ生徒の学力も伸びなやむだろう。
そんな強い意識があるからこそ、生徒も僕についていく。
その生徒の態度が私を支えているのだ。
0929デフォルトの名無しさんNGNG
すれ違い
0930784NGNG
>>786
分かってないし。
こんなカンジ。
動作確認してないので間違いがあってもしらん。

int liner_search(int*array, int num_array, int key)
{
 int i=0;
 for(i=0; i<num_array && array[i]!=key ;i++);
 return i==num_array ? -1 : i;
}
0931デフォルトの名無しさんNGNG
すみませんお願いします。

自分の名前をローマ字表記で文字型の配列として設定。
(例)char str[ ] {};
小文字は大文字として扱い、英大文字データを13文字分ずらしたデータに変換して(Aの時はN、Bの時はO)表示する。

言語はCです。
よろしくお願いします。
0932デフォルトの名無しさんNGNG
基底クラスでpublicで宣言されているメソッドを派生クラスでpublicにしたくない場合
どうすればよいのでしょうか。

環境:VC++.NET
0933デフォルトの名無しさんNGNG
private override
0934デフォルトの名無しさんNGNG
>>931
#include <stdio.h>
#include <string.h>

int main(void)
{
int i;
char str[] = {'n', 'u', 'l', 'l', 'p', 'o', '\0'};
printf("%s -> ", str);
for(i = 0; i < strlen(str); i++){
  str[i] += 13;
}
printf("%s\n", str);
return 0;
}
0935デフォルトの名無しさんNGNG
積分区間がMIN<x<MAXである積分の最後の値を返す関数
euler(MIN,MAX,dt)があり、xはdtずつ変化(x+=dt)する。
double MIN = 0.0;
double MAX = 100.0;
double dt = 0.01;
euler(MIN, MAX, dt) //積分結果の最後の値を返す
0から100.0まで積分計算をし、xの値が0番目、100番目、200番目…900番目、
1000番目というように積分区間の間の任意の値を表示するにはどうしたら
いいのですか? お願いします。
0936デフォルトの名無しさんNGNG
積分ループの中に任意の回数ループしたら変数に格納する部分を作って、それを表示すればよろし。
0937デフォルトの名無しさんNGNG
double型の指数部と仮数部がそれぞれ何ビットで
構成されているかを調べるプログラムを作りなさい。

という問題があるのですが、どうすればいいのか分かりません。
教えてください。
0938デフォルトの名無しさんNGNG
>>937
いい問題だなぁ。
はてさて、どう解こうか。
0939デフォルトの名無しさんNGNG
>>933

overrideはC#の構文でC++にはないのではないでしょうか?
0940デフォルトの名無しさんNGNG
>>937
DBL_MANT_DIG
DBL_MAX_EXP
DBL_MIN_EXP
あたりで。
0941デフォルトの名無しさんNGNG
>>934

ありがとうございます。
すみませんが#include <string.h>を使わないやり方で教えてもらえないでしょうか??
0942デフォルトの名無しさんNGNG
長さはstringインクルードしないと・・・・
0943デフォルトの名無しさんNGNG
>>942
おまい>>934か?
for (i = 0; str[i]; i++)
なり何なり普通は思いつくだろ
0944デフォルトの名無しさんNGNG
>>941

#include <stdio.h>

int main(void)
{
int i;
char str[] = {'n', 'u', 'l', 'l', 'p', 'o', '\0'};
printf("%s -> ", str);
for(i = 0; i < strlen(str); i++){
str[i] += 13;
}
printf("%s\n", str);
return 0;
}

0945デフォルトの名無しさんNGNG
>>939
class Hoge
{
public:
 void Foo();
};

class Bar : public Hoge
{
private:
 void Foo();
};
0946デフォルトの名無しさんNGNG
>>944
ガッ
0947デフォルトの名無しさんNGNG
小文字大文字としてないやん。
0948デフォルトの名無しさんNGNG
#include <stdio.h>

int main(void)
{
int i;
char str[] = {'n', 'u', 'l', 'l', 'p', 'o', '\0'};
printf("%s -> ", str);
for(i = 0; str[i]; i++){
str[i] += (str[i] & 0x20) ? -19 : 13;
}
printf("%s\n", str);
return 0;
}
0949デフォルトの名無しさんNGNG
float と double の値について標準入力から入力し、
その内部表現を
「符号, n * (2 ^ e)」
という形で表示するプログラムを作って下さい。
0950デフォルトの名無しさんNGNG
???
0951デフォルトの名無しさんNGNG
>>945
ありがとうございます。
同じように書いているのですが上手くいかず基底クラスのメソッドが
見えてしまいます。__gcのせいでしょうか。

__gc public class Hoge
{
public:
 void Foo();
};

__gc public class Bar : public Hoge
{
private:
 void Foo();
};
0952949NGNG
早く答えろオタク共
0953949NGNG
もういいよwww
おまえらみたいなクズに教えてもらおうと思った俺が馬鹿だったw
0954デフォルトの名無しさんNGNG
>>949
#include <stdio.h>
#include <math.h>
int main()
{
  double d;
  float f;
  int e;

  puts("double");
  scanf("%lf", &d);
  putchar(d >= 0 ? '+' : '-');
  d = frexp(fabs(d), &e);
  printf(", %g * (2 ^ %d)\n\n", d, e);

  puts("float");
  scanf("%f", &f);
  putchar(f >= 0 ? '+' : '-');
  f = frexpf(fabsf(f), &e);
  printf(", %g * (2 ^ %d)\n", f, e);
  return 0;
}
0955↑書いてから答えて損したと思ってる人NGNG
 &160;
0956デフォルトの名無しさんNGNG
乙
eって対数に出てくるやつかと思ったよ
0957デフォルトの名無しさんNGNG
>>949
frexp()使えばいいんじゃねーの?
0958949NGNG
>>952-953 は私じゃありません
実はこの問題の一つ前に
浮動小数点数(float, double)の2進内部表現を
4bit毎に区切って表示しなさい
という問題がありました。
それは出来たんですけど・・・
0959949NGNG
>>954 さんありがとうございます。
明日学校で試してみます。
0960デフォルトの名無しさんNGNG
>>958-959
frexp()使ってもいいのか?その実装方法についての問題じゃないのかな?
0961デフォルトの名無しさんNGNG
>784
int liner_search(int*array, int num_array, int key)
{
 int i,bk=array[num_array-1];
 array[num_array-1]=key;
 for(i=0; array[i]!=key;i++);
 array[num_array-1]=bk;
 return array[i]!=key ? -1 : i;
}
0962デフォルトの名無しさんNGNG
>>923

>540
ファイルの内容例
Put your hand on a hot stove for a minute, and it seems like an hour.
Sit with a pretty girl for an hour, and it seems like a minute.
That's relativity.
実行結果
Put[1] your[1]hand[1]
on[1]a[4]stove[1]
for[1]minute[2] and[2]
it[2]seems[2] like[2]
an[2]hour[2]Sit[1]
with[1]pretty[1] girl[1]
for[1]That’s[1]relativity[1]

>654 の実行結果
Put[1] your[1] hand[1]
on[1] a[4] hot[1]
stove[1] for[2] minute[2]
and[2] it[2] seems[2]
like[2] an[2] hour[2]
Sit[1] with[1] pretty[1]
girl[1] That's[1] relativity[1]

...微妙に違うなw (540の方が間違っとる希ガス)
0963デフォルトの名無しさんNGNG
X = -tanA / (B * cos(C + X/2))
(入力値:A、B、C  出力値:X  A,B,C,Xはラジアン値)
で、C言語でXの値を求めたいのですがー
cosの中にXがあるためソースがつくれません。
どなたかご親切な方分かりますでしょうか
0964デフォルトの名無しさんNGNG
>>944>>948

ありがとうございました。m(__)m
早速試してみます。
0965963NGNG
できれば今日中に
0966デフォルトの名無しさんNGNG
>>963
問題は全文掲載するよろし。
初期値を与えれば収束するなら、収束する様子を見ながら何度でも呼べばいいと思うが。
0967デフォルトの名無しさんNGNG
>>963
B * X * cos(X / 2 + C) + tan(A) = 0
この式から適当にグラフを描いてみたけど、解が無数に出来るね。
問題ではもっと条件があったんじゃないの?
0968デフォルトの名無しさんNGNG
>>963
移項すると、
X * cos(C + (X / 2)) = - tan(A) / B
となるから、
Y = - tan(A) / B (式1) ・・・ 一定
Y = X * cos(C + (X / 2)) (式2)
これらの交点を求めれば良い。
0969963NGNG
よくわからない
0970963NGNG
>>966
>>967
すみません条件抜けてました。
解は無数に出ると思いますが、
-Pi/2 <= X <= Pi/2
の範囲内の解で良いです。

>>968
やっぱグラフの交点を求めるしかないんでしょうかー
式のみでできれば行きたいのですがー。
0971デフォルトの名無しさんNGNG
http://www.autorace.or.jp/senshu/prof/frameset_kawa.html

本スマップのこいつでも見てろ
0972デフォルトの名無しさんNGNG
>本

スマップの本物?
0973デフォルトの名無しさんNGNG
元
0974デフォルトの名無しさんNGNG
あれ、名前変わった?森じゃなかったっけ
0975デフォルトの名無しさんNGNG
元SMAPって森かつゆきとかいう名前じゃなかったっけ?
0976デフォルトの名無しさんNGNG
>>970
よくわからんけど非線形方程式の解法で検索してみては
ってここ宿題スレだっけ…
0977デフォルトの名無しさんNGNG
こっちだろ。て言うかスレ違い。
http://www.autorace.or.jp/cgi-bin/senshu.cgi?race_p=kawa&sen_no=5808
0978デフォルトの名無しさんNGNG
>>974
多分、森且行のページを開いたがフレームを使っているためにアドレス欄のアドレスが変わらず、それをコピペしてしまったんだと思う。
http://www.autorace.or.jp/cgi-bin/senshu.cgi?race_p=kawa&sen_no=5808
0979デフォルトの名無しさんNGNG
そいつ、スタッフとか並べて蹴りとか暴力振るいまくってたんだろ?
なんか確かにそんな顔してるよ。
0980デフォルトの名無しさんNGNG
とりあえず落ち着いてマイヤヒー見ようぜ
http://csx.jp/%7Edamemushi/il/maiyahi.html
0981デフォルトの名無しさんNGNG
>>976
スレタイをよく見ろ。
0982デフォルトの名無しさんNGNG
10個の配列を用意し、過去10日分の最高気温のデータを設定します
この時、前日の最高気温からの変化量を算出して表示させるCプログラムを作成しなさい。
また、前日より気温が高くなったら+、低くなったら-、変化無しの場合は (空白)を表示するCプログラムを作成しなさい。
0983デフォルトの名無しさんNGNG
うほっ ただの数値演算
もう学期末だというのにこんな宿題ってどんなスケジュールなんだろう…
0984デフォルトの名無しさんNGNG
983
最近始めたばかりなもので…すみません。
0985デフォルトの名無しさんNGNG
>>963
検索してやってみたがあってるか不明
#include <stdio.h>
#include <math.h>
#define PI 3.1415921356
#define E 0.000001 // 収束半径?
int main()
{
    double A,B,C;
    const double MIN = -PI/2; const double MAX = PI/2;
    double a,x; double fx,fdx;
    printf("A,B,C?:");
    scanf("%lf,%lf,%lf",&A,&B,&C);
    // f(X) = Bcos(X/2+C)+tan(A) f'(X) = Bcos(X/2+C)-BXsin(X/2+C)/2
    a = MIN;
    while(a < MAX) {
        fx = B*cos(a/2+C)+tan(A);
        fdx = B*cos(a/2+C) - B*sin(a/2+C)/2;
        x = a - fx/fdx;
        if(fabs(x - a) < E) {
            a = x;
            break;
        } else {
            a = x;
        }
    }

    printf("解:%lf",a);

    return 0;
}
エクセル持ってないから試せないorz
0986デフォルトの名無しさんNGNG
> もう学期末だというのに
2学期制じゃないの?
0987デフォルトの名無しさんNGNG
>>985
> #define PI 3.1415921356
工エエェェ(´д`)ェェエエ工
0988デフォルトの名無しさんNGNG
宿題をお願いします。 言語はCです。
電卓を作るのですが、主な仕様は

・コマンドライン上から入力し四則演算結果を表示する。
・結果は次の元値として使用できる。
・浮動小数点は5桁までとし、6桁以上は四捨五入。
・表示最大桁数は12桁。
・1行の演算に演算式は一つ。

演算子の仕様
0〜9 演算に使用する数値
. 少数計算に用いる小数点
+ 加算を行う演算子
- 減算を行う演算子
* 積算を行う演算子
/ 除算を行う演算子
c、C 演算結果をクリア時に使用する文字

こんな宿題です。よろしくお願いします。
0989963NGNG
>>985

ありがとう御座いますーちょっと試してみます
Piは3.1415926535897932384626433
83279502884197169399375104820974944
ですねー
↑無駄に20年前覚えてまだ覚えてます。意味ねぇー
0990デフォルトの名無しさんNGNG
>>982 手抜きなので後は自分で適当にやってくれ
つーか、将来何を目指してるのか知らんがこのくらいは自力でやろうね
#include <stdio.h>
#include <stdlib.h>

#define ARRAY_NUM 10

int main( int argc, char *argv[] ){
int i, sub, kion[ ARRAY_NUM ] = { 0 };

for( i = 0; i < ARRAY_NUM; i++ ){
printf( "[%2d day] input:", i + 1 );
scanf( "%d", &kion[ i ] );
}

for( i = 1; i < ARRAY_NUM; i++ ){
sub = kion[ i ] - kion[ i - 1 ];
if( sub )
printf( "%d\n", sub );
else
printf( " \n" );
}

return EXIT_SUCCESS;
}
0991デフォルトの名無しさんNGNG
>>982
#include<stdio.h>

int main(void){

unsigned short i;
double tmp[10];
double diff;

for(i=0;i<10;i++){
scanf("%lf",tmp+i);
if(i>0){
diff=*(tmp+i)-*(tmp+i-1);
printf("%lf",diff);
if(diff>0){
printf("+\n");
}
else if(diff<0){
printf("-\n");
}
else {
printf(" \n");
}
}
return(0);
}
0992デフォルトの名無しさんNGNG
>>988
・結果の再利用の仕様は?
・浮動小数点数の何が5桁まで? 精度? 小数点以下の桁数?
・コマンドラインで行とは?
・少数計算とは?
・演算結果クリア時とは?
0993デフォルトの名無しさんNGNG
>>992
馬鹿ですか?
0994デフォルトの名無しさんNGNG
>>993
馬鹿ですが。
0995デフォルトの名無しさんNGNG
>>993
君がアホ。
992は的確なことを聞いてる。

> ・少数計算とは?

ここはちょっといじわるだけどな。
# 少数じゃなくて小数って書きたかったんだろうね。
0996デフォルトの名無しさんNGNG
>>995
馬鹿ですね。
0997デフォルトの名無しさんNGNG
>>996
プログラム書いたことない子は黙ってな。
0998デフォルトの名無しさんNGNG
適当にやって間違えても本人が困るだけだし
適当に解釈すれば良いんじゃない
0999デフォルトの名無しさんNGNG
電卓って言ってるじゃないか
それでわからないのは馬鹿だよ
1000デフォルトの名無しさんNGNG
http://pc5.2ch.net/test/read.cgi/tech/1036013915/
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。