953 :
デフォルトの名無しさん:2007/01/13(土) 01:14:23
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):生まれてから今日までの日数の表示(閏年考慮)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: Visual Studio 2005
[3.3] 言語: C
954 :
869 ◆xkG5F/RZlA :2007/01/13(土) 01:15:14
869ですが、何とかならないでしょうか?
よろしくお願いします。
956 :
デフォルトの名無しさん:2007/01/13(土) 02:22:54
伝達関数に量子化雑音を組み込むのってどうすればいいのかわかりません…。
量子化雑音の式をz変換しなきゃだめ?
ここは愚痴スレじゃないんだよ
>>956 z変換って線形成なかったっけ?
(もしあるなら)量子化雑音の伝達関数をN(x)とすれば単純に足し合わせるのがいいんじゃないかと
というか"量子化雑音を組み込む"って何
むしろ居た違い死ね
959 :
デフォルトの名無しさん:2007/01/13(土) 02:36:31
伝達関数に量子化雑音を組み込むのってどうすればいいのかわかりません…。
量子化雑音の式をz変換しなきゃだめ?
>>959 量子化雑音の式が定義されてるの?
なけりゃ話にならないよ?
というよりオレも消えて欲しいと思っているから
[1] 授業単元:プログラミング
[2] 問題文:CUI/GUI問わずウンコの絵が出てくるアプリを作成せよ
あらかじめ作成した画像を使用することはならず、アニメーション表示されるとなおよし
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:VC8
[3.3] 言語:C++
[4] 期限:明後日
[5] その他の制限:なし
お願いします。
>>961 days-=bd;の下に
if(by==ty&&-days>=td)return 1;
を入れると未来の日付をはじけるかも・・・ 眠い・・・
2つの座標が与えられた時、
その2つの座標が結ぶ直線の通る座標を出す方法を教えてください
座標の範囲は(0,0)(600,600)です
>>965 単純に中等数学の問題なの?
そうでなく離散座標上の話なの?
ユークリッド空間の話だとは思いたくないが。
>965
直線上の座標は無限。
別の条件もないと特定はできない。
>>848なんとかならないでしょうか?
よろしくお願いします!
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
配列に格納されたデータをソートするプログラムを作成するにあたり、
以下の機能を持つ関数を作成しプログラムを完成させなさい。
乱数を生成し配列要素に格納する
init_array(int *pa, int n)
配列要素を1行で画面に出力する
output_array(int *pa, int n)
指定された2つアドレスのデータを交換する
swap(int *x, int *y)
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Visual Studio 2003
[3.3] 言語: C
[4] 期限: 1月15日
よろしくお願いします。
>>971 void swap(int *x, int *y)
{
*x = *x ^ *y;
*y = *x ^ *y;
*x = *x ^ *y;
retrun;
}
x = 0x01
y = 0x02
x = 0x01 xor 0x02 ... x = 0x03
y = 0x03 xor 0x02 ... y = 0x01
x = 0x03 xor 0x01 ... x = 0x02
973 :
972:2007/01/13(土) 11:56:27
>>971 乱数を生成し配列要素に格納ってあるが
引数の意味は何?int *paは配列のアドレスでint nが要素数なわけか?
だとすると配列要素を1行で画面に出力もわかるんだが
>>972 正しく動きません><
int x = 30;
swap(&x,&x);
コンパイルしてない多分動く
#include <stdio.h>
#define MAX_ARRAY 10
void init_array(int *pa, int n);
void swap(int *x, int *y);
void output_array(int *pa, int n);
int main(void)
{
/* その他変数割愛 */
int nArray[MAX_ARRAY];
init_array(&nArray[0], MAX_ARRAY);
/********************************************************/
/* この辺でソートするんじゃね?勉強と思って自分で考えろ */
swap();
/********************************************************/
output_array(&nArray[0], MAX_ARRAY);
return;
}
void init_array(int *pa, int n)
{
int i;
srand((unsigned)time(NULL));
for(i = 0;, i < n; i++)
{
*(pa + i) = rand();
}
return;
}
void swap(int *x, int *y)
{
*x = *x ^ *y;
*y = *x ^ *y;
*x = *x ^ *y;
return;
}
void output_array(int *pa, int n)
{
int i;
for(i = 0; i < n; i++)
{
fprintf(stdout, "結果 = %d", *(pa + i));
}
fprintf(stdout, "\r\n");
return;
}
978 :
972:2007/01/13(土) 12:16:35
あとヘッダに#include <stdlib.h>も必要だった
srand()
rand()
>>974 動くわけないだろう・・・・
979 :
972:2007/01/13(土) 12:17:28
>>974 そういう意味で言うなら
int x = 30;
int y = 20;
swap(&x,&y);
[1] 授業単元: データ構造とアルゴリズム
[2] 問題文(含コード&リンク):
配列を用いてリングバッファを実現せよ。ただし、データは整数型とする。
キーボードから入力された文字により以下のような動作をする。
i : 後に続いて入力されたデータをキューの末尾に挿入。
d: キューの先頭のデータを削除。キューが空ならその旨を出力。
p: キューのデータを先頭から順番に出力。
q: プログラムの終了。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: LSI C-86
[3.3] 言語: C
[4] 期限: 1月16日
[5] その他の制限: 特になし
よろしくお願いします。
>>980 LSI C-86は環境ないんでうまく動くかはわからん。
#include<stdio.h>
int main(){
enum{QUEUE_SIZE = 10};
int queue[QUEUE_SIZE],pos=0,size=0,i;
char c;
while(scanf(" %c",&c)==1)switch(c){
default: printf("unknown operation '%c'\n",c);
break;case 'i':
if(scanf("%d",&i) != 1)continue;
else if(size == QUEUE_SIZE)printf("queue is full\n");
else queue[(pos+size++)%QUEUE_SIZE] = i;
break;case 'd':
if(size == 0) printf("queue is empty\n");
else pos = (pos+1)%QUEUE_SIZE , --size;
break;case 'p':
for(i=0;i<size;++i)printf("%d ",queue[(pos+i)%QUEUE_SIZE]);
printf("\n");
break;case 'q':return 0;
}
return 0;
}
982 :
RYO:2007/01/13(土) 12:58:39
最近、プログラムの研修を参加して、どうしても解かなければいけない
問題がでてきました。誰か解いてもらえないでしょうか?
自分はプログラマー超初心者で、CもC++の区別もつかないし、自分
がどの分野をやってるのかすら分かりません。
問題はPseudocode(擬似コード)を取り扱ったもので、果たしてこの
スレに書いていい分野かすら分かりません。それでも、だれか優しい人
教えてちょ
問題 擬似コードを使って一から十までのランダムで決められた
一つの数字をあてるプログラムを作る。もし、プレイヤーが数字を言い当てたら
”YOU WIN!!"とスクリーン上に表示させてプログラムが終了する。
もし、プレイヤーが数字を引き当てなければ、プログラムは、プレイヤー
に数字を引き当てるまで新しい数字を入力するよう尋ねる。
(注意点)プログラムは、もしプレイヤーが数字をはずした場合
その数字よりも大きいか小さいかをスクリーンに表示させ、もし
プレイヤーが、数字とイコール(引き当て)た場合、"YOU WIN!!"と
スクリーンに表示させる。
なので、プレイヤーが数字を引き当てなかった
場合に、プログラムがずっとプレイヤーに大きいか小さいかを尋ねる
プログラムループを作成しなければいけない。
このランダムで引き当てられた数字は、モジュールですでに書かれて
いるものとする。
問題 終了
IF THEN ELSE や FOR を使って表示させるみたいなん
だけど、誰か教えて。たぶん、基本的なところだ思うんで。
983 :
RYO:2007/01/13(土) 13:08:13
ついでにこれも
ユーザーに入力された5つの数字の平均を計算するプログラムをつくる。
最後に 数字の合計と平均をスクリーンに表示させる。ただし5つの
数字をいれるためのループを作ってくれぇいー
>>982 擬似コードといっても、いろんなものが世の中にあふれすぎていて、
どう書いていいのかまったく想像もつかない。
その擬似コードの規格を具体的かつ厳密に述べよ。
985 :
980:2007/01/13(土) 13:14:31
>>981 動作確認しました。こちらの意図したとおりに動いてくれました。
ありがとうございます。
987 :
972:2007/01/13(土) 14:38:02
>>983 スクリーンって言うのはコマンドプロンプトの事か?
それとも自分で作ったウィンドウ上に表示しろって事か?
988 :
972:2007/01/13(土) 14:44:57
>>982 IF THENとかだとCOBOLとかBASIC関連だと思うんだがCで組んじゃっていいのか
擬似コードだから環境は選ばないって認識でいいのか
989 :
972:2007/01/13(土) 14:48:06
因みに
>>このランダムで引き当てられた数字は、モジュールですでに書かれているものとする。
って言うのはモジュール内で生成すればいいんだな?
とりあえず飯
991 :
972:2007/01/13(土) 14:57:55
>>983 とりあえずこれ
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int i;
char useInput[256];
short total, ave;
total = 0;
ave = 0;
for(i = 0; i < 5; i++)
{
fgets(&useInput[0], sizeof(useInput), stdin);
total = total + (short)atoi(&useInput[0]);
}
ave = total / 5;
fprintf(stdout, "合計 = %d\r\n", total);
fprintf(stdout, "平均 = %d\r\n", ave);
return 0;
}
>>982 擬似コードなら日本語でちゃちゃっと書いとけばいいんでは
void swap(int *x, int *y)
{
if(x!=y){
*x = *x ^ *y;
*y = *x ^ *y;
*x = *x ^ *y;
}
retrun;
}
XORの場合って同じアドレスを排除しなきゃ駄目じゃなかったっけ?
994 :
972:2007/01/13(土) 15:03:37
>>993 あー、なるほど
アドレス検知は考えてなかったなー
つか吉野家いってくるわ
>>991 いいんだが初心者にfgetsやらfprintfでのI/O切り替えは酷だろうw
void swap(int*x,int*y){if(x!=y)*x^=*y^=*x^=*y;}
こうすりゃいいってじっちゃんが言ってた
997 :
972:2007/01/13(土) 16:07:31
>>982 多分動く
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int ans, cmp;
char useInput[256];
srand((unsigned)time(NULL));
ans = rand() % 10 + 1;
while(1)
{
fgets(&useInput[0], sizeof(useInput), stdin);
cmp = atoi(&useInput[0]);
if(ans == cmp)
{
fprintf(stdout, "You Win!!\r\n");
break;
}
else
{
ans > cmp ? fprintf(stdout, "もっと大きい\r\n") : fprintf(stdout, "もっと小さい\r\n");
}
}
return 0;
}
998 :
972:2007/01/13(土) 16:09:24
>>995 わかるんだが昔scanfばっか使ってて抜け出すまで苦しんだ経験があるから
いっそ最初からfgetsやら使ったほうが・・・と思ってる。
>>996 おお、そっちのほうがスマートだね
素直にメモリ使ったらあかんの?
void swap(int*x,int*y)
{
    int wk;
    wk=*x;
    *x=*y;
    *y=wk;
}
そしたらこっちもメモリ・・・・・w
void init_array(int *pa, int n)
{
    srand((unsigned)time(NULL));
    while (n--)
      *pa++ = rand();
}
>>999 前者はテクニック使うか使わないかの問題だと思う
後者は人それぞれ組み方が違うねー
そのやり方は俺は思い浮かばなかったw
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。