ぼるじょあがC/C++の ..
[2ch|▼Menu]
369:homoじょあ ◆5OLf4yFnuM
07/07/11 23:00:46
(・3・) エェー ニュートン法って式いらんのかいNA

370:デフォルトの名無しさん
07/07/11 23:57:17
>>359お願いしますm(_ _)m

371:デフォルトの名無しさん
07/07/11 23:59:27
[1] 授業単元:情報処理
[2] 問題文(含コード&リンク): コンビニの売り上げ伝票ファイルを集計し、20歳代、30歳代それぞれの売り上げ総額を求める処理
のプログラムを作る。売り上げ伝票ファイルは以下のような形式で記録されるものとする。1行に1品目の売り上げ記録があり、第
1項目が商品コード、第2項目が単価、第3項目が数量、第4項目が客の性別、第5項目が客の年齢層。年齢層の値は19歳以下
なら1、20〜29歳なら2、30〜39歳なら3、40〜49歳なら4、50歳以上なら5である。性別は0が男、1が女を表す。商品コードが0の
または負のとき、それ以後のデータがないことを表すものとする。また、データが不正のときも記録はないものとする。
[3] 環境  
 [3.1] OS:Windows Visual stdio 2003
 [3.2] コンパイラ名とバージョン:bcc
 [3.3] 言語:C
[4] 期限:7月12日朝6時まで
[5] その他の制限:switch文を必ずいれて下さい。

他スレでスルーされてしまいました(´;ω;`)
助けて下さい。よろしくおねがいしますm(_ _)m



372:デフォルトの名無しさん
07/07/12 07:22:26
ぎりぎり杉

373:デフォルトの名無しさん
07/07/12 07:31:20
全くだ
やろうと思ったら6時過ぎてたよw

374:デフォルトの名無しさん
07/07/12 14:42:26
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:無期限
[5] その他の制限:なし
よろしくお願いします。


375:デフォルトの名無しさん
07/07/12 14:56:32
#include <stdio.h>
int main(void)
{
int i, n;
int min, sec;
int minsum = 0, secsum = 0;
printf("曲数を入力して下さい. --> ");
scanf("%d", &n);
for(i = 0; i < n; i++) {
printf("<%d 曲目>\n", i);
printf("何分ですか. --> ");
scanf("%d", &min);
printf("何秒ですか. --> ");
scanf("%d", &sec);
minsum += min;
secsum += sec;
}
printf("総時間%d 分%d 秒", minsum, secsum);
return 0;
}

376:デフォルトの名無しさん
07/07/12 15:01:24
>>375 いちいち突っ込むのもあれだけど、とりあえず(鼻からブーーのAA略) ブーーッ!

377:デフォルトの名無しさん
07/07/12 16:43:15
>>359お願いします。

378: ◆lIN/ESgxWw
07/07/12 17:01:58
[1]単元:プログラミング技術
[2]問題文:アップローダーのno.4600にアップしておきました

[3]環境
OS:リナックス
コンパイラ:gcc
言語:C
[4]期限:来週の水曜までに
 よろしくお願いします。

379:368
07/07/12 17:51:51
>>369 式いります。
do{
(式)
}while();
みたいな感じなのですが、私には理解できませんorz

380:デフォルトの名無しさん
07/07/12 18:22:25
>>359
c言語ブランク暦13年の俺様のテクニックをしかと見届けよ

#include<stdio.h>
char b8[9],b16[17];
void d2b8(int n){
for(int i=0;i<8;i++)b8[7-i]=(n&1)+'0',n/=2;b8[8]='\0';
}
void d2b16(int n){
for(int i=0;i<16;i++)b16[15-i]=(n&1)+'0',n/=2;b16[16]='\0';
}
int main(void){
int a,b,i;
while(1){
printf("a=");scanf("%ud",&a);
if(a<0||a>255){printf("8bit\n");continue;}
printf("b=");scanf("%ud",&b);if(b>=a){printf("b<a\n");continue;}
if(b!=1&&b!=2&&b!=4&&b!=8&&b!=16&&b!=32&&b!=64&&b!=128){printf("b=2^n\n");continue;}
d2b8(a);printf("a = %3d (%s)\n",a,b8);
d2b8(b);printf("b = %3d (%s)\n",b,b8);
d2b16(a+b);printf("c = %3d + %3d = %5d (%s)\n",a,b,a+b,b16);
d2b16(a-b);printf("d = %3d - %3d = %5d (%s)\n",a,b,a-b,b16);
d2b16(a*b);printf("e = %3d * %3d = %5d (%s)\n",a,b,a*b,b16);
d2b16(a/b);printf("f = %3d / %3d = %5d (%s)\n",a,b,a/b,b16);
}
//return 0;
}}

381:デフォルトの名無しさん
07/07/12 18:42:45
計算も2進でやらせたいんじゃないん?

382:デフォルトの名無しさん
07/07/12 20:36:53
引数にクラスを指定するのってどうやるの?
下のやり方だとだめだっだ。

TEST_CLASS Sizuoka;

int *p;
p = &Sizuoka;

func(p);



383:デフォルトの名無しさん
07/07/12 20:39:32
funcの型が書かれてないし
意味不明だよ^^

384:デフォルトの名無しさん
07/07/12 21:06:36
>>383
何で笑ってるのか教えてほしい。

385:デフォルトの名無しさん
07/07/12 21:15:14
^^はにこやかに意味がわからないよ〜って言ってるだけで
笑っているわけじゃない


386:デフォルトの名無しさん
07/07/13 10:24:49
すいません。>>359は2進で計算しますm(_ _)m

387:デフォルトの名無しさん
07/07/13 13:55:42
357お願いします

388:デフォルトの名無しさん
07/07/13 13:59:22
>>357

389:デフォルトの名無しさん
07/07/13 14:03:37
>>387
>>360にあるのに、気に入らないのか?

390:デフォルトの名無しさん
07/07/13 14:03:44
>>357
#include <stdio.h>
int myatoi(char *buf)
{
char *p = buf;
int n = 0;
while(*p != '\0') {
if(isdigit(*p)) { n *= 10; n += *p - '0'; p++; }
else return -1;
return n;
}
int main(void)
{
int n;
char buf[128];
scanf("%s", buf);
n = myatoi(buf);
printf("%d\n", n);
return 0;
}

391:デフォルトの名無しさん
07/07/13 14:08:06
>>390 #include <ctype.h> を忘れてた。

392:デフォルトの名無しさん
07/07/13 14:08:46
whileの閉じ括弧もわすれちょるよ

393:デフォルトの名無しさん
07/07/13 14:44:14
>>359お願いします。

394:デフォルトの名無しさん
07/07/13 15:35:31
すみません、>>378よろしくお願いします

395:デフォルトの名無しさん
07/07/13 15:37:33
>>394
リンク先書いとけって
手間省くな

396:デフォルトの名無しさん
07/07/13 16:00:56
>>395
URLリンク(kansai2channeler.hp.infoseek.co.jp)

397:デフォルトの名無しさん
07/07/13 18:56:28
>>390
実行結果が358にならないです。
おねがいします

398:デフォルトの名無しさん
07/07/13 19:02:24
>>396
bccだとcursesがないからできなかった

399:デフォルトの名無しさん
07/07/13 21:04:06
>>383
>>385
お前痛いな。

400: ◆lIN/ESgxWw
07/07/14 00:22:48
[1]単元:プログラミング
[2]問題文:URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3]環境
  コンパイラ:cc
OS:リナックス
  言語:C
[4]期限:7月19日
 よろしく頼みます。

401:デフォルトの名無しさん
07/07/14 00:42:49
[1] 授業単元:情報科学U
[2] 問題文(含コード&リンク):URLリンク(brain.is.kyushu-u.ac.jp) の課題11
[3] 環境
 [3.1] OS: Windows
 [3.2] 普段はcygwinつかっているのでgcc 3.4 だとおもいます。
 [3.3] 言語: Cです。
[4] 期限: 2007・07・16まで

よろしくおねがいします。

402:デフォルトの名無しさん
07/07/14 01:28:23
>400
ほとんど答えが書いてあるようなもんなのに、なんで自分でやらないかねぇ

403:デフォルトの名無しさん
07/07/14 02:38:58
>>401
int push(int data, int *sp, int *STK)
{
if (*sp == 0) return 0;
(*sp)--; *(STK + *sp) = data;
return 1;
}
int pop(int *dataP, int *sp, int *STK)
{
if (*sp == N) return 0;
*dataP = *(STK + *sp); (*sp)++;
return 1;
}
void dsp_stack(int top, int *a)
{
int i;for (i = top; i < N; i++) {
printf("%d:%3d\n",i, *(a + i));}
}


404:もり
07/07/14 10:34:36
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):次のプログラムは、式を入力すると計算結果を表示するプログラムであるが、
誤っている点があります。現在の内容を理解し、誤りを訂正してコメントをつけてください。
#include <stdio.h>   #include <stdlib.h>     #include <ctype.h>
char *p; char c[100];  int expression(void);   int term(void);
int number(void);    main(){ int ans;      while(1){
printf("Enter expression : ");  fgets(c,90,stdin);   p=&c;
if(*p == '\n')     break;      ans = expression();
printf("Answer:%d\n", ans); } }     int expression(){ int ans;
ans = term();       while(1){     if(*p == '+'){
ans = ans + term();       }else if(*p == '-'){
ans = ans - term(); }else    break; }
return(ans); }         int term(){
int ans,x;           ans = number();
while(1){           if(*p == '*'){
ans = ans * number();     }else if(*p == '/'){
x = number();         if(x == 0){
printf("Division by 0\n");   exit(1); }
ans = ans / x; }else      break; }
return(ans); }         int number(){
int i=0;            while (isdigit(*p)){
i=i*10+(*p++)-48;}       return(i); }
[3] 環境
 [3.1] OS: Windows [3.2] gcc 3.4 [3.3] 言語: C言語
 [4] 期限: 2007/7/17 改行が多すぎて、乗せられなかったためこんな形になりますた。すみません。宜しくお願いします。


405:デフォルトの名無しさん
07/07/15 09:18:02
うpろだ使えよww

406:デフォルトの名無しさん
07/07/15 14:09:09
>>404
スレリンク(tech板:868番)


407:デフォルトの名無しさん
07/07/15 15:44:54
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:無期限
[5] その他の制限:なし
よろしくお願いします。


408:デフォルトの名無しさん
07/07/15 15:50:40
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):  フィボナッチ数列の第n 番目(1 ≤ n ≤ 50)の数を出力するプログラムを作成しなさい.
[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:無期限
[5] その他の制限:なし
よろしくお願いします。

409:デフォルトの名無しさん
07/07/15 16:02:05
>>408
#include <stdio.h>

int main(void){

int i, max;
int tanka, kosuu, total = 0;
double tax_total = 0.0;

printf("商品数を入力してください. --> ");
scanf("%d", &max);

for(i=0; i<max; i++){
printf("<商品%d>\n", i+1);
printf("単価を入力してください. --> ");
scanf("%d", &tanka);
printf("個数を入力してください. --> ");
scanf("%d", &kosuu);

printf("** 単価×個数 ** ==> %d\n", tanka * kosuu);
total += tanka * kosuu;
printf("** 累積合計代金 ** ==> %d\n", total);
tax_total += total * 1.05;
printf("** 消費税込み累積合計代金** ==> %lf\n", tax_total);
}

return 0;
}

コンパイル通してないからどっかエラーでたら教えてね☆

410:デフォルトの名無しさん
07/07/15 16:04:09
#include <stdio.h>
typedef struct
{
int nValue;
int nNums;
int nPrice;
} DATA;
int main(void)
{
int n, i;
DATA *dt;
int nSmPrc = 0;
double dSmPrcTaxin = 0;
printf("商品数を入力して下さい --> "); scanf("%d", &n);
dt = (DATA *)malloc(sizeof(DATA) * n);
for(i=0; i<n; i++)
{
printf("<商品%d>\n単価を入力して下さい. --> ", i); scanf("%d", &dt[i].nValue);
printf("個数を入力して下さい. --> "); scanf("%d", &dt[i].nNums);
dt[i].nPrice = dt[i].nValue * dt[i].nNums;
nSmPrc += dt[i].nPrice;
dSmPrcTaxin = (double)nSmPrc * 1.05;
printf("** 単価×個数**       ==> %d\n", dt[i].nPrice);
printf("** 累積合計代金**      ==> %d\n", nSmPrc);
printf("** 消費税込み累積合計代金** ==> %g\n", dSmPrcTaxin);
}

return 0;
}


411:デフォルトの名無しさん
07/07/15 16:10:56
>>409
#include <stdio.h>

int main(void){
int i, n;
unsigned int fibonacci[50];

fibonacci[0] = fibonacci[1] = 1;

for(i=2; i<50; i++){
fibonacci[i] = fibonacci[i-1] + fibonacci[i-2];
}

printf("何番目を表示させたいか入力してください\n");
scanf("%d", &n);
printf("フィボナッチ数列の %d 番目は %d です\n", n, fibonacci[n-1]);

return 0;
}

こっちも通してないからエラーでたら教えてね☆

412:舞子
07/07/15 16:11:29
自宅でマイコン開発をはじめようと考えているものです。
(現在マイコンの知識はほとんどないです。)

そこで、マイコン開発に必要なハードウェア、アプリケーションを知りたいんですが、
お知恵をおかりできませんでしょうか?

ハードウェアとしてはできればUSBで接続で
マイコンにそのまま書き込めるようなものがあれば最適です。

USBとかって安くうってるのでしょうか?
自宅で行うのでできれば安く簡単にと考えてます。
(当然レベルの高い製品はできないと思いますが)

よろしくお願いいたします。

413:デフォルトの名無しさん
07/07/15 16:11:33
じゃあ俺も
#include <stdio.h>
int main(void)
{
int shouhinsuu,tanka,kosuu,daikin,ruiseki=0;
printf("商品数を入力して下さい --> ");scanf("%d",&shouhinsuu);
for(int i=1;i=<shouhinsuu;i++){
printf("<商品%d>\n単価を入力して下さい. --> ",i);scanf("%d",&tanka);
printf("個数を入力して下さい. --> ");scanf("%d",&kosuu);
printf("** 単価×個数**       ==> %d\n",daikin=tanka*kosuu);
printf("** 累積合計代金**      ==> %d\n",ruiseki+=daikin);
printf("** 消費税込み累積合計代金** ==> %.1f\n",ruiseki*1.05);
}
}

414:デフォルトの名無しさん
07/07/15 16:13:02
intじゃあふれない?

415:デフォルトの名無しさん
07/07/15 16:14:30
今やってみたらあふれた
泣いた

416:デフォルトの名無しさん
07/07/15 16:16:41
首吊って死んでくるねっ☆


417:デフォルトの名無しさん
07/07/15 16:21:09
わかるだろうが一応死ぬ前に
fibonacci を int から double 型に変更して printf のところを %0.lf ってしといてくれ…とだけ言っておく
俺はもうだめだ


418:デフォルトの名無しさん
07/07/17 12:15:18
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):任意の回数だけコンピュータを相手にじゃんけんをするプログラムを作成しなさい.
ただし,コンピュータは時間によって変わる乱数により実現すること.また,あいこの場合は回数のカウントには含めないこととする
[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:今日17時まで
[5] その他の制限:なし
できるだけ速くお願いします!!


419:デフォルトの名無しさん
07/07/17 12:23:08
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):正整数n を入力し,n× n の正方行列において,以下のような○と●のパターンを出力す
るプログラムを作成しなさい
n=1

n=2
●○
○○
n=3
○●○
●●○
○○○
n=4
●○●○
○○●○
●●●○
○○○○
n=5
○●○●○
●●○●○
○○○●○
●●●●○
○○○○○
[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:無期限
[5] その他の制限:なし
お願いします。

420:デフォルトの名無しさん
07/07/17 12:33:46
>>409

フィボナッチは配列イラナイwww
int宣言でゴミ箱を作ればいいw

馬鹿ジャンw>>411 ワロタw


421:デフォルトの名無しさん
07/07/17 12:36:12
1→1→2→3→5といくのだから

a=1;b=1;c==a+b;
forでループさせてcを出力すればいいw

馬鹿ジャンw>>411 出来るだけ軽くしろw無能乙w


422:デフォルトの名無しさん
07/07/17 12:40:08
>>418
その程度で質問ってなんなの?

423:デフォルトの名無しさん
07/07/17 12:46:32
遅レスだが
>>32
「やさしいC(高橋麻奈著)」を読みながら
コマンドプロンプトで出来るテトリス作成(俺の時は無知から初めて2週間で形にはなった)

424:デフォルトの名無しさん
07/07/17 12:56:21
>418
(・3・) きっと、Windwsへのgccのインストール方だYO

425:デフォルトの名無しさん
07/07/17 13:29:10
>419
#include <stdio.h>

int main(void)
{
int i, j, n;

printf("n=");
scanf("%d", &n);

for(i=n; i > 0; i--) {
if(i%2) for(j=0; j<=n-i; j++) printf("○");
else for(j=0; j<n-i; j++) printf("●");
for(j=0; j<i/2; j++) printf("●○");
putchar('\n');
}

return 0;
}


426:デフォルトの名無しさん
07/07/17 14:43:29
>>418
URLリンク(kansai2channeler.hp.infoseek.co.jp)

427:426
07/07/17 14:51:53
初歩的な間違いをしていた。
>>418
修正版
URLリンク(kansai2channeler.hp.infoseek.co.jp)

428:デフォルトの名無しさん
07/07/17 16:20:07
Cのプログラミングでタイピングゲームを作るんだけど
クリアするのにかかった時間ではなく、
「1分あたりに入力したキー数」を結果として表示させるにはどうしたらいいだろう?

試行のたびに1分以上タイピングゲームするのが嫌だから、
10秒毎に入力数を記憶して、その平均を6でかけてやろうと思ったんだけど
10秒毎っていうのにひっかかってる。
秒数カウントするのはsleep関数での方法しか知らないから、
タイピングゲームを滞らせることなく実行しながら秒数をカウントって
どうすればいいのか全くわからん。

ネットのC言語講座とかでも調べてみたけどわからない…
友達に、教えてって言われたんだけど私もわからず、てんてこまい。誰か助けてー

429:デフォルトの名無しさん
07/07/17 17:45:32
clock使えばいいんでないの?
timeで十分か

430:デフォルトの名無しさん
07/07/17 18:05:17
具体的にどうすれば……

int main(void)
{
FILE *fp;
int i,len,ch,j,mojisu=0,nyu=0,key,seida,speed;
char buf[256];
char level;
clock_t start,end;
double jikan;

fp = fopen("file.txt","r");
if(fp == NULL) {
printf("File Open Error");
return 0;
}

printf("以下の文字列をタイプしてください。\n");
start=clock();

431:デフォルトの名無しさん
07/07/17 18:07:11
while(fgets(buf,256,fp)!=NULL) {
len = strlen(buf);
buf[len-1] = '\0';
len = strlen(buf);
mojisu = mojisu + len;

for(i=0;i<len;i++) {
printf("%s \r",&buf[i]);
fflush(stdout);
while(1){
ch = getch();
nyu = nyu + 1;
if(ch==buf[i]) {
printf(" \b");
break;
}
}
}
}

end = clock();
fclose(fp);
jikan = (double)(end - start) / CLOCKS_PER_SEC;
seida = mojisu * 100 / nyu;
speed = key * 6;

432:デフォルトの名無しさん
07/07/17 18:09:04
if(seida >= 90) {
if(speed <= 25) {
level = 'A';
} else if(speed <= 40) {
level = 'B';
} else {
level = 'C';
}
} else if(seida >= 60) {
if(speed <= 25) {
level = 'B';
} else {
level = 'C';
}
} else {
level = 'C';
}

printf("\n%3.1lf秒かかりました。\n",jikan);
printf("正打率は%d%\n",seida);
printf("タイプスピードは%d\n",speed);
printf("あなたのレベルは%c\n",level);
return 0;
}

いまこんなかんじ。speedの大体の値がどうなるかまだわからないので、テキトーに25と40に設定してあります

433:デフォルトの名無しさん
07/07/18 00:28:51
[1] 授業単元:IT入門B1
[2] 問題文:繰り返し複素数(実部,虚部はそれぞれ整数型とする)を入力し,ユーザが最後に1 (1+i*0)を入れたら今まで入力した複素数の実部と虚部のペアをすべて出力し,さらに入力した複素数すべての積を出力するプログラムを作成せよ.
なお,ユーザが入力する回数に制限はないものとする.
stdio.hの他にstdlib.hをインクルードしておく必要がある.
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:c
[4] 期限:2007年7月30日
[5] その他の制限: 特になし
参考プログラムです→URLリンク(www-it.sci.waseda.ac.jp)

よろしくお願いします。


434:デフォルトの名無しさん
07/07/18 02:03:13
>>433
マルチポスト(複数のスレに同じレスをつけること)は駄目だ
あと君の場合は元のスレの過去レスを読め
マルチポストじゃないのなら スレリンク(tech板) の過去レス読め

435:デフォルトの名無しさん
07/07/23 09:50:34
[2] 問題文:
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:Linux 3.4
 [3.2] コンパイラ名とバージョン:gcc 3.4
 [3.3] 言語:c
[4] 期限:2007年7月30日
[5] その他の制限: 特になし
よろしくお願いします

436:デフォルトの名無しさん
07/07/23 16:09:55
訂正お願いします
URLリンク(kansai2channeler.hp.infoseek.co.jp)

437:デフォルトの名無しさん
07/07/23 16:22:34
>>436
どんな変数を使ったかは把握しておこうぜ?
とりあえず

while(length--)
*start++ = ch;

ってやればコンパイルは通る

438:デフォルトの名無しさん
07/07/23 16:42:00
なんか変な文字がでてきて・・・
下のような結果にならないんです
4 -89 0 1 5 43 ... 112 ← cmemset 使用前
0 0 0 0 0 0... 0 ← 0 で埋めたとき
88 88 88 88 88 88 ... 88 ← 88 で埋めたとき

439:デフォルトの名無しさん
07/07/23 17:00:02
>>438
どうみてもそうなるようには作られて無いからねww
表示は文字列じゃなくて数列なんでしょ?

440:デフォルトの名無しさん
07/07/23 17:26:30
数列だと思います
問題は435なんですが全然分からないんです

441:デフォルトの名無しさん
07/07/23 17:59:58
解けるようにできる問題ではないんですか?

442:デフォルトの名無しさん
07/07/23 18:08:48
#include <stdio.h>
#include<stdlib.h>

void cmemset(char *start, int value, int length);

int main(void)
{
int i, size = 10;
char *str;
//埋める前
str = (char *)malloc(sizeof(char) * size);
for(i=0; i<size; i++) printf("%3d ", (int)*(str+i));
putchar('\n');
//0で埋める
cmemset(str, 0, size);
for(i=0; i<size; i++) printf("%3d ", (int)*(str+i));
putchar('\n');
//88で埋める
cmemset(str, 88, size);
for(i=0; i<size; i++) printf("%3d ", (int)*(str+i));
putchar('\n');

return 0;
}

void cmemset(char *start, int value, int length)
{
while(length--) *start++ = (char)value;
return;
}


443:デフォルトの名無しさん
07/07/23 18:11:29
ありがとうございます!

444: ◆DpMW3bRjps
07/07/23 19:11:48
1] 授業単元: プログラミング実習
[2] 問題文(含コード&リンク): 任意の文字列を入力し、その文字列の中に任意の文字がいくつはいっているかを出力する
プログラム
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限: 2007年7月24日17:00まで
[5] その他の制限: こないだ初めて文字列の入力を習いました、初心者です!
よろしく
お願いします


445:デフォルトの名無しさん
07/07/23 19:33:23
int CountChar(char *str, char ch)
{
int num = 0;
do {
if(*str == ch) num++;
} while(*str++);
return num;
}

入力は適当に作ってくれ

446: ◆UoNQqijD4I
07/07/23 20:26:11
>>444ですが、配列を使ってお願いします。
無理いってすみませんが…(;;)

447:デフォルトの名無しさん
07/07/24 15:28:06
あっちの宿題スレにレスあったで

448:デフォルトの名無しさん
07/07/24 16:03:21
[1] 授業単元:C言語 応用
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:Windows xp
 [3.2] コンパイラ名とバージョン:YS2005
 [3.3] 言語:C
[4] 期限:2007/07/25 12:00
[5] その他の制限:なし

使用する関数(getstring)等も一緒に書いたため
見づらいかもしれませんがよろしくお願いいたします。

449:デフォルトの名無しさん
07/07/24 16:34:08
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):”rand1000.dat”というデータの個数nとその個数分の整数データが保存されているファイルがある
URLリンク(kansai2channeler.hp.infoseek.co.jp)


このデータをファイルから読み込み

挿入ソート
基数ソート
ヒープソート
クイックソート
マージソート

によってソートできるよう各プログラムを作成せよ

データ数が100,000個のときでも対応できるようメモリを確保しておいてください。

[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: 7月28日
[5] その他の制限:出来る限り単純なアルゴリズムで作ってください。合計5つのプログラムを作成してください。

大変な問題で申し訳ありませんがどなたか詳しい方よろしくお願いいたします

450:デフォルトの名無しさん
07/07/24 18:40:39
>>449
挿入ソート
URLリンク(kansai2channeler.hp.infoseek.co.jp)

451:デフォルトの名無しさん
07/07/24 18:48:08
>>449 ちょい変更、挿入ソートのみ
URLリンク(kansai2channeler.hp.infoseek.co.jp)

452:デフォルトの名無しさん
07/07/24 19:32:23
>>450-451

ありがとうございます。助かります。

残りのもできればお願い致します


453:デフォルトの名無しさん
07/07/24 19:44:09
>>449 クイック
URLリンク(kansai2channeler.hp.infoseek.co.jp)

454:デフォルトの名無しさん
07/07/24 19:50:40
URLリンク(www1.cts.ne.jp)
このサイトからソースをパクッてw

455:デフォルトの名無しさん
07/07/24 20:04:37
>>449 
URLリンク(www1.cts.ne.jp)

基数ソート 、ヒープソート、マージソートはなんか面倒くさいから俺はパスw

456:デフォルトの名無しさん
07/07/24 20:18:36
>>449
いつもC++だからソートとか書かないしってことでリンクだけ
URLリンク(jyoken.net)
もしくは、URLリンク(oku.edu.mie-u.ac.jp) からZIP落とせ
(挿入ソートinssort.c 基数ソートradsort.c ヒープソートheapsort.c
マージソートmergsort.c クイックソートqsort1.c qsort2.c)


457:デフォルトの名無しさん
07/07/25 05:00:25
[1] 授業単元:演習
[2] 問題文(含コード&リンク): エレベーターの乗客の待ち時間をシミュレートするプログラムを書け
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: BCC5.5
 [3.3] 言語: C
[4] 期限:7/26まで
[5] その他の制限:とくになし

URLリンク(kansai2channeler.hp.infoseek.co.jp)
まで書いたんですが明らかに変な出力しかされず困ってます
どこがおかしいか教えてもらえないでしょうか?

458:ぼるじょあ ◆hZ8e4Wjqvw
07/07/28 11:49:47
>>457
(・3・) エェー 期限過ぎてるけどやったほうがいいのかNA?
          どんな入力に対してどんな出力が欲しいか書いてくれYO!

459:名無しさん@そうだ選挙に行こう
07/07/29 15:05:47
宿題スレで解決しなかったのでこっち来ました

お尋ねしたいのですが以下のプログラムに、
「rand100000.dat(ランダムに数値が100000個並んでいるデータ)」
から読み込んでソートするというのを追加したいのですがどうすればよいでしょうか?

void BubbleSort(int Data[], int n)
{
int BeginPlace, ComparePlace;
//比較を始める位置を最初からn-1まで変えていく
for(BeginPlace = 0;BeginPlace < n;BeginPlace++)
{
//n - BeginPlaceまで比較する
for(ComparePlace = 1;ComparePlace < n - BeginPlace;ComparePlace++)
{
//右のほうが小さかったら交換する
if(Data[ComparePlace - 1] > Data[ComparePlace])
{
Swap(&(Data[ComparePlace - 1]), &(Data[ComparePlace]));
}
}
}

return;
}


460:ぼるじょあ ◆yBEncckFOU
07/07/29 16:11:22
>>459
(・3・)エエー rand100000.datの書式が分からないと答えられないYO

461:名無しさん@そうだ選挙に行こう
07/07/29 16:14:37
>>460
URLリンク(kansai2channeler.hp.infoseek.co.jp)

これは1000個のデータですけど


462:名無しさん@そうだ選挙に行こう
07/07/29 16:44:23
データファイルの先頭レコードに、データ件数がある場合と、
データ件数が固定件数か分かっている、ファイルの中はデータだけでは
処理の仕方が違うと思うがな。
このデータファイルって、予め件数がわからないという条件でなかったか?

463:名無しさん@そうだ選挙に行こう
07/07/29 16:52:41
いや、件数は分かってるんでとりあえずファイルから読み込むというmain関数を作ってほしいです

464:名無しさん@そうだ選挙に行こう
07/07/29 17:07:59
>>463

int main()
{
FILE * fp = fopen("4151.txt", "r");
int lines;
if (fscanf(fp, "%d", & lines) < 1) return 1;
int * array = calloc(sizeof(* array), lines);
if (array == NULL) return 1;
for (int ic = 0; ic < lines; ++ic) {
if (fscanf(fp, "%d", & array[ic]) < 1) return 1;
}
fclose(fp);
#if 0
for (int ic = 0; ic < lines; ++ic) printf("%d\n", array[ic]);
#endif
free(array);
return 0;
}

465:名無しさん@そうだ選挙に行こう
07/07/29 17:08:24
>>463 dataに読み込んでいる。
#include <stdio.h>
#define DATAFILE "rand100000.dat"
#define DATASIZE 100000
int data[DATASIZE];
int main()
{
FILE *fp;
char buf[80];
int i=0,size;
fp=fopen(DATAFILE, "r");
if(fp==NULL){
fprintf(stderr,"Can't open %s",DATAFILE);
return 1;}
while(fgets(buf,sizeof(buf),fp)!=NULL){
data[i]=atoi(buf);
i++;}
size=i;
printf("data count=%d\n",size);
for(i=0;i<size;i++)
printf("%d ",data[i]);
printf("\n");
return 0;
}

466:465
07/07/29 17:12:40
いけない。fclose(fp)が抜けている。
return 0;する前に入れてくれ。

467:デフォルトの名無しさん
07/07/30 09:34:26
[1] 授業単元:数値計算
[2] 問題文(含コード&リンク):
ガウスの消去法(ピボット選択ありで、計算時間表示あり)をプログラミングせよ
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限: 2007/7/31

よろしくお願いします。。

468:デフォルトの名無しさん
07/07/30 10:24:42
URLリンク(tonosiki.mbnsk.net)
この問題の(3)標準偏差と(4)相対係数が分かりません。
どうか教えて頂けないでしょうか・・・?
よろしくお願い致します。

469:デフォルトの名無しさん
07/07/30 10:34:13
大変失礼致しました。
もしお時間がございましたらよろしくお願いいたします。

[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):URLリンク(tonosiki.mbnsk.net)
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:gcc 3.4
 [3.3] 言語: C
[4] 期限: 07/8/1
[5] その他の制限: 特にありませんが、出来る限り単純なプログラムでお願いいたします。


470:デフォルトの名無しさん
07/07/30 10:38:00
>>468
相関係数や一時回帰はExcelでグラフを作れば計算してくれるからそれを参考に。
それ以外は判るのならそこまで自分で書いたものを寄越したまえ。

471:デフォルトの名無しさん
07/07/30 19:28:02
ぼるじょあって何?
昔麻原ショーコーのAAの三段活用をコピペしまくってた馬鹿がたしかそんなHN名乗ってたが。。

472:デフォルトの名無しさん
07/07/30 21:00:41
ぐぐれよ

473:デフォルトの名無しさん
07/07/30 21:15:12
>>469
> [2] 問題文(含コード&リンク):URLリンク(tonosiki.mbnsk.net)

404

474:デフォルトの名無しさん
07/07/31 11:06:46
>>473
マルチだ。ほっとけ。

475:デフォルトの名無しさん
07/08/01 21:05:38
[1] 授業単元:C言語
[2] 問題文:
指定された段数numの図形を画面に表示するプログラム部分である
□に適当なプログラムを書なさい。(プログラム中のi,jはint型変数)

for(i=1;□;i++){
for(j=1;j<=□;j++){
printf(□);
}
for(j=1;□;j++){
printf("%d",i);
}
putchar(□);
}

[3] 環境
 [3.1] OS:WINDOWS XP
 [3.2] コンパイラ名とバージョン: (VS 2005)
 [3.3] 言語: C
[4] 期限: 8月1日まで

実行結果
何段?num=5
1
22
333
4444
55555


よろしくお願いします

476:ぼるじょあ ◆yBEncckFOU
07/08/01 21:30:17
(・3・)アルェー? for文多くないかNA?

for(int i=1;i<=num;i++)
{
// for(j=1;j<=□;j++)
// {
// printf(□);
// }

 for(int j=1;j<=i;j++){
  printf("%d",i);
 }

 putchar('\n');
}

477:デフォルトの名無しさん
07/08/06 23:14:22
[1] 授業単元:応用ネットワークプログラミング2
[2] 問題文

TCPおよびUDPのチェックサムを計算するプログラムを作成せよ
なお、IPは以下のようにする。
src 200.199.198.197
dest 1.2.3.4

[3] 環境
 [3.1] OS: Linux
 [3.2] Gentoo
 [3.3] 言語:C言語
[4] 期限:6月9日の水曜日まで
[5] その他の制限:Cが苦手で困っています。

478:ぼるじょあ ◆hZ8e4Wjqvw
07/08/07 19:39:58
>>477
(・3・) エェー 2010年6月9日までまだまだあるから自分でやれYO!

ここを見ればスグだYO!
URLリンク(www.geekpage.jp)

479:デフォルトの名無しさん
07/08/07 22:17:29
[1] 授業単元:C
[2] 問題文:URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:WINDOWS XP
 [3.2] コンパイラ名とバージョン:bcc
 [3.3] 言語: C
[4] 期限: 8月8日

480:デフォルトの名無しさん
07/08/07 22:21:35
>>479
スレリンク(tech板:681番)

481:デフォルトの名無しさん
07/08/07 22:50:58
>479
宿題スレと同じ?
向こうは少し条件足りてないけど。
int arr_min_pos(int arr[], int n)
{
int pos;
if(n==1) return arr[0] < 0 ? -1 : 0;
pos = arr_min_pos(arr, n-1);

return arr[n-1] < 0 || arr[n-1] > arr[pos] ? pos : n - 1;
}

482:デフォルトの名無しさん
07/08/29 12:59:49
言語:C
コンパイラ名とバージョン:ボーランド
OS:XP

問題:ユーザー関数の作成
再帰関数を使って、xのn乗を求めるプログラムを作成しなさい
プロトタイプ宣言:int power(int x,int n);
実行画面
文字列入力==>2
文字列入力==>0
値:1

文字列入力==>2
文字列入力==>3
値:8

文字列入力==>6
文字列入力==>4
値:1296

483:デフォルトの名無しさん
07/08/29 13:29:55
int power(int x,int n)
{
return n <= 1 ? x : x * power(x, n-1);
}

484:デフォルトの名無しさん
07/08/30 04:55:24
日本オワタな

485:ぼるじょあ ◆hZ8e4Wjqvw
07/08/30 22:19:11
>>483
(・3・) エェー 惜しいYO!

x=2 n=0

486:homoじょあ ◆5OLf4yFnuM
07/08/31 00:20:34
(・3・) エェー 久々に来たけどもみあがってないNE

487: ◆uWJL1MSv.M
07/09/01 23:19:03
[1] 授業単元: データ構造とアルゴリズム
[2] 問題文: @Cell型のオブジェクトa,b,c,d,eを用意し、
        それぞれvalueに10,20,30,40,50を設定し、
       a→b→c→d→eと連結する。valueの値を順に出力しなさい。

       A @のプログラムに書き足し、オブジェクトcの次(オブジェクトd)を削除し、
         valueの値を順に出力しなさい。次にオブジェクトaを削除し、
         valueの値を順に出力しなさい。

       B Aのプログラムに書き足し、オブジェクトcの次にオブジェクトaを挿入し、
         valueの値を順に出力しなさい。次に先頭にオブジェクトdを挿入し、
         valueの値を順に出力しなさい。
      
       C @のプログラムを双方向リストにし、valueの値を逆順に出力しなさい。

[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: VisualC++.net
 [3.3] 言語: C++
[4] 期限: 2007年9月3日まで

よろしくお願いします。


488:homoじょあ ◆5OLf4yFnuM
07/09/02 11:12:09
(・3・) エェー Cell型ってどんなんだYO

489:デフォルトの名無しさん
07/09/02 11:17:38
細胞に関するクラスじゃね?

490:homoじょあ ◆5OLf4yFnuM
07/09/02 11:23:08
(・3・) エェー そりは難しそうですNE

491:デフォルトの名無しさん
07/09/02 13:36:36
乾電池かも知れず。

492:デフォルトの名無しさん
07/09/02 14:02:41
直列に繋いで電圧を調べるのか

493:デフォルトの名無しさん
07/09/02 14:08:59
貨車かもしれんぞ

494: ◆uWJL1MSv.M
07/09/02 14:24:09
すいません。

セル

連結リストはセル (cell) というデータを繋げて作ります。
セルにはデータを格納する場所と、次のセルを指し示す場所から構成されます。
図でいうと、箱がひとつのセルを表していて、左側にデータを格納し、
右側に次のセルへの参照を格納します。

セルの型の定義
class Cell{
private:
Cell* next; //次のセルへのポインタ
int value; //値
public:
Cell(){next = NULL; value = 0;} //コンストラクタ
void setNext(const Cell* p){next = p;} //nextを設定する
void setValue(int a){value = a;} //valueを設定する
Cell* getNext(){return next;} //nextの値を得る
int getValue(){return value;} //valueの値を得る

   …
};

495:デフォルトの名無しさん
07/09/02 15:08:55
なんだ。もうできてんじゃん

496:homoじょあ ◆5OLf4yFnuM
07/09/02 18:29:36
>>487
(・3・) エェー @だけやってみたお
int main(){
Cell *list = new Cell();
Cell *header = list;

for(int i=1; i<=5; i++){
list->setNext(new Cell());
list->getNext()->setValue(i*10);
list = list->getNext();
}

while(header->getNext() != NULL){
header = header->getNext();
std::cout << header->getValue() << std::endl;
}

return 0;
}


497: ◆uWJL1MSv.M
07/09/02 20:58:11
ありがとうございます。
すいません、A、B、Cもお願いします。

498:homoじょあ ◆5OLf4yFnuM
07/09/02 21:30:19
(・3・) エェー つーか@間違ってたお

int main(){
Cell *a, *b, *c, *d, *e;
a = new Cell();b = new Cell();c = new Cell();d = new Cell();e = new Cell();
a->setNext(b);b->setNext(c);c->setNext(d);d->setNext(e);
a->setValue(10);b->setValue(20);c->setValue(30);d->setValue(40);e->setValue(50);

Cell *header = a;

while(header != NULL){
std::cout << header->getValue() << std::endl;
header = header->getNext();
}
return 0;
}


499:homoじょあ ◆5OLf4yFnuM
07/09/02 21:42:41
(・3・) エェー Aってこんなん?
int main(){
Cell *a, *b, *c, *d, *e, *header, *list;
a = new Cell();b = new Cell();c = new Cell();d = new Cell();e = new Cell();
a->setNext(b);b->setNext(c);c->setNext(d);d->setNext(e);
a->setValue(10);b->setValue(20);c->setValue(30);d->setValue(40);e->setValue(50);
header = a;

c->setNext(c->getNext()->getNext());
list = header;
while(list != NULL){
std::cout << list->getValue() << std::endl;
list = list->getNext();
}
std::cout << std::endl;
header = header->getNext();
list = header;
while(list != NULL){
std::cout << list->getValue() << std::endl;
list = list->getNext();
}
return 0;
}


500:homoじょあ ◆5OLf4yFnuM
07/09/02 21:47:59
(・3・) エェー B・・なんか意図が違う気がしてきたお
int main(){
Cell *a, *b, *c, *d, *e, *header, *list;
a = new Cell();b = new Cell();c = new Cell();d = new Cell();e = new Cell();
a->setNext(b);b->setNext(c);c->setNext(d);d->setNext(e);
a->setValue(10);b->setValue(20);c->setValue(30);d->setValue(40);e->setValue(50);
header = a;
//Aの処理
c->setNext(c->getNext()->getNext());
header = header->getNext();

//Bで追加
a->setNext(c->getNext());
c->setNext(a);
list = header;
while(list != NULL){
std::cout << list->getValue() << std::endl;
list = list->getNext();
}
std::cout << std::endl;
d->setNext(header);
header = d;
list = header;
while(list != NULL){
std::cout << list->getValue() << std::endl;
list = list->getNext();
}
return 0;
}


501:homoじょあ ◆5OLf4yFnuM
07/09/02 21:52:53
(・3・) エェー そろそろ書き込みが規制される予感
Cのクラスの変更

class Cell{
Cell *next;
Cell *front;
int value;
public:
Cell();
void setNext(Cell*);
void setFront(Cell*);
void setValue(int);
Cell* getNext();
Cell* getFront();
int getValue();
};

Cell::Cell(){next = NULL; front = NULL; value= 0;}
void Cell::setNext(Cell *next){this->next = next;}
void Cell::setFront(Cell *front){this->front = front;}
void Cell::setValue(int value){this->value = value;}
Cell* Cell::getNext(){return next;}
Cell* Cell::getFront(){return front;}
int Cell::getValue(){return value;}


502:homoじょあ ◆5OLf4yFnuM
07/09/02 22:00:00
(・3・) エェー C
int main(){
Cell *a, *b, *c, *d, *e, *header, *list;
a = new Cell();b = new Cell();c = new Cell();d = new Cell();e = new Cell();
a->setValue(10);b->setValue(20);c->setValue(30);d->setValue(40);e->setValue(50);
Cell *array[] = {NULL, a, b, c, d, e, NULL};
for(int i=1; i<=5; i++){
array[i]->setFront(array[i-1]);
array[i]->setNext(array[i+1]);
}
header = a;
list = header;
while(list->getNext() != NULL)list = list->getNext();
while(list != NULL){
std::cout << list->getValue() << std::endl;
list = list->getFront();
}
return 0;
}


503: ◆uWJL1MSv.M
07/09/03 01:35:15
助かりました。ありがとうございました。

504:デフォルトの名無しさん
07/09/08 20:37:58
この痛いやつのリアルアドレス求む

URLリンク(www.nicovideo.jp)

505:デフォルトの名無しさん
07/09/09 00:25:09
>>504
そんなもんTCP/IPバイブル読み尽くしたらすぐにわかるわ。
そんな努力もせんと、人に聞くな。何するつもりや。

506:homoじょあ ◆5OLf4yFnuM
07/09/09 02:18:05
(・3・) エェー 素晴らしい説明でしたお

507:デフォルトの名無しさん
07/09/13 09:15:37
授業単元:C言語
問題文(含コード&リンク):文字列を入力し、圧縮しながら他の文字列配列に格納しなさい
使用する主な標準関数:strlen()、sprintf()など

実行画面
入力文字列(m1)==>AAAAAAABBBCddEEEE####
圧縮(m2):@7A@3BC@2d@4E@5#
圧縮比:72.7%

環境
OS: Windows
コンパイラ名とバージョン:ボーランド
言語:C
期限:
その他の制限:



508:デフォルトの名無しさん
07/09/13 10:02:28
>>507
マルチすんな
C/C++ に今答えを書き込んだけど消したくなった

509:507
07/09/13 10:16:30
>>508
m9(^Д^)プギャー

510:ぼるじょあ ◆hZ8e4Wjqvw
07/09/26 21:19:21
>>507
(・3・) エェー 暇だYO!

#include<stdio.h>
#include<string.h>

int main(void){
char m1[100+1], m2[100*3+1], *ptr=m2;
int m1_len, i;

printf("入力文字列(m1)==>");
scanf("%100s", m1);
m1_len=strlen(m1);
for(i=0;i<m1_len;i++) ptr+=sprintf(ptr, "@1%c", m1[i]);
printf("圧縮(m2):%s\n", m2);
printf("圧縮比:%.1f%%\n", strlen(m2)*100./m1_len);
return 0;
}

511:デフォルトの名無しさん
07/09/28 00:16:11
短!って思ったら、、ちょwww

もうPerlでいいよw
s/(.)\1+/"@".length($&).$1/ge

512:デフォルトの名無しさん
07/09/28 02:30:25
ぼるじょあへ挑戦状

君に花札のプログラムを作れるかな?
ルールは花合わせだ
おっと、無理ならやらなくてもいいんだぜ?
それじゃ、goodluck!


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4347日前に更新/401 KB
担当:undef