ぼるじょあがC/C++の ..
654:homoじょあ ◆5OLf4yFnuM
07/12/12 22:26:26
>>647-648
(・3・) エェー さっぱりわからないごめんNE
655:デフォルトの名無しさん
07/12/13 13:31:45
[1] 授業単元:C
[2] 問題文):@「ファイル名を受け取って,ファイルが読み込みモードでオープンできれば1を返し,オープンできなければ0を返す」関数 FileExist を作成する.
コマンドラインから入力されたファイルの存在を,関数 FileExist を利用して確認する.
ファイルが存在すればファイルの中身をそのまま表示するプログラムを完成しなさい.
A以下のプログラムをもとにして,次の仕様を満たすプログラムを完成しなさい.
コマンドラインからファイル名を受け取って,読取りモードでオープンすることによりそのファイルの存在を確認する.
シークする位置とシークするバイト数を受け取って,その位置の文字のASCIIコード(10 進数)を表示する.
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: 任意
[3.3] 言語: C
[4] 期限: 2007年12月d14日16:00まで
[5] その他の制限: 特になし
656:デフォルトの名無しさん
07/12/13 13:33:59
#include <stdio.h>
#include <stdlib.h>
??????? /* FileExist 関数の定義 */
int main(???????){
FILE *fp;
int ch;
if (???????){
printf("There is no FILE NAME. \n");
exit(1);}
if (???????) { /* FileExistを利用 */
fp = ???????
while(???????){
putchar(ch);}
???????
}else {
printf("FILE OPEN error. \n");}
return 0;
}
???????
{
FILE *fp;
if (???????) {
return 0; }
???????
return 1; }
657:デフォルトの名無しさん
07/12/13 13:35:28
#include <stdio.h>
#include <stdlib.h>
int main(???????){
FILE *fp;
long pos;
int i,j;
if (???????) {
printf("USAGE: %s \n", ???????);
exit(1);}
if (???????){
printf("FILE OPEN error: %s \n", ???????);
exit(1);
}else {
printf("Input seek NO. :");
scanf("%ld", &pos);
printf("Input seek BYTES:");
scanf("%d", &j);
for (i=0; i < j; i++){
if (???????){
printf("seek ERROR. ");
exit(1);}
printf("%d byte: %d \n", i, ???????);}
??????? /* ファイルのクローズ */
}return 0;
}
658:デフォルトの名無しさん
07/12/13 13:36:21
655,656,657の回答お願いします
659:デフォルトの名無しさん
07/12/13 15:49:19
>>656
URLリンク(kansai2channeler.hp.infoseek.co.jp)
>>657
URLリンク(kansai2channeler.hp.infoseek.co.jp)
660:デフォルトの名無しさん
07/12/13 16:09:14
659の人回答サンクス!
661:いときん
07/12/14 16:09:12
よろしくおねがいします。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
96です。
662:いときん
07/12/14 20:36:53
上の補足です。
プログラミングのここをこうしたらもっとうまくいくよ、とかあったら、
訂正もよろしくおねがいします。
もうすこしかえられるとおもうので..
663:デフォルトの名無しさん
07/12/15 09:10:16
661,662です。
解決しました。
ありがとうございました。
664:デフォルトの名無しさん
07/12/15 14:54:18
[1] 授業単元:プログラミング
[2] 問題文:n個の数データをキーボードから入力し、最大値と最小値を求めるプログラムを作成しなさい
[3.1] WindowsXP
[3.2] コンパイラ名とバージョン: fujitu workbench v4.0L10
[3.3] 言語: C C++
[4] 期限: 12/21
[5] その他の制限:なし
665:デフォルトの名無しさん
07/12/15 19:05:41
プログラミング基礎
[2]• ファイルから数値データを読み込み,その数値の平均をファイルに書き込むプログラ
ムを作成する
• 数値データは全部で100行(ファイルには実際に100 行以上存在している)
ファイル名: kadai.datとする
• 平均を書き込むファイル名はheikin.dat とする.平均はすべてのデータ(600個)の平
均とする
[3] 環境
[3.1] Windows
[3.2] コマンドプロンプト 秀丸
[3.3]C
[4] 12月17日18時
[5]665のファイルを埋める形式です。よろしくお願いします
666:デフォルトの名無しさん
07/12/15 19:09:06
すみません665のファイルです
include "stdio.h"
/* file_read 関数は【】内を記述する */
double file_read( void )
{
【 】
int i, j;
double data[600];
double heikin;
【 】
for( i=0 ; i<600 ; i+=6 )
{
for( j=0 ; j<6 ; j++ )
【 】
}
for( i=0, heikin=0.0 ; i<600 ; i++ )
{
heikin += data[i];
}
heikin /= 600.0;
printf("heikin -> %lf\n",heikin);
【 】
return heikin;
}
/* file_write 関数の中身を全部記述すること */
void file_write( double heikin )
{
/* ここの中身を記述する */
}
667:デフォルトの名無しさん
07/12/15 19:37:46
URLリンク(viptv.atspace.com)
668:homoじょあ ◆5OLf4yFnuM
07/12/15 21:18:16
>>664
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<int> data;
while(true){
int num;
cout << "数値を入力:";
cin >> num;
if(num < 0)break;
data.push_back(num);
}
sort(data.begin(), data.end());
cout << "最大:" << data[data.size()-1] << endl;
cout << "最小:" << data[0] << endl;
}
669:デフォルトの名無しさん
07/12/16 19:04:59
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン: bcc32
[3.3] 言語: C
[4] 期限: 2007/12/18
[5] その他の制限: 構造体を使う
670:homoじょあ ◆5OLf4yFnuM
07/12/16 20:24:48
>>665
(・3・) エェー 結局100行なのか600行なのかわからんぜYO
サンプルの読み込みファイルはないかYO
あと、ソース内によくわからない2重ループがあるんだけど説明ないかNA?
671:homoじょあ ◆5OLf4yFnuM
07/12/16 20:26:06
>>669
(・3・) エェー 構造体の定義どこだお?
672:デフォルトの名無しさん
07/12/16 22:29:40
>>671
struct sdate{
int year;
int month;
int day;
};
673:デフォルトの名無しさん
07/12/17 15:46:26
[1] 授業単元:C
[2] 問題文: 問@以下のプログラムをもとにして,標準入力から受け取った文字を 「2進数表示したもの」と「その補数」を表示するプログラムを作成しなさい.
ビット演算子を用いてプログラムを作成すること.
問A以下のプログラムをもとに,標準入力から0以上の整数を 1 つ受け取り (scanf を用いて整数を符号無し整数型 unsigned 型の変数に読み込む), 8で割った余りを計算するプログラムを作りなさい.
ビット演算子を用いてプログラムを作成すること.
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:任意
[3.3] 言語: C
[4] 期限: ([2007年12月19日15:00まで]
[5] その他の制限:特になし
674:デフォルトの名無しさん
07/12/17 15:47:11
問@
#include <stdio.h>
#include <stdlib.h>
void printBinary(char);
int main(void)
{
char ch;
printf("Input character: ");
scanf("%c", &ch);
printBinary(???????);
printBinary(???????);
return 0;
}
void printBinary(char x)
{
int i;
for (i= ???????; ???????; i--) {
???????
}
putchar('\n');
}
675:デフォルトの名無しさん
07/12/17 15:49:48
問A
#include <stdio.h>
#include <stdlib.h>
void printBinary2(unsigned);
int shou8(unsigned);int main(void)
{
unsigned n;
printf("Input non-negative integer: ");
scanf("%d", &n);
printBinary2(???????);
printBinary2(???????);
printf("%d %% 8 = %d", n, shou8(n));
return 0;
}void printBinary2(unsigned x){
int i;
for (i = ???????; ???????; i--) {
???????}
putchar('\n');}
int shou8(unsigned x)
{int i, j=1, sum=0;
for (i = ???????; ???????; i++) {
if( ??????? ){
??????? }
j *= 2;
}return(sum);}
676:デフォルトの名無しさん
07/12/17 15:50:32
673 674 675です
回答お願いします
677:homoじょあ ◆5OLf4yFnuM
07/12/18 00:22:29
>>672
(・3・) エェー 関数だけ作ってみた
int preceedp(struct sdate d1, struct sdate d2){
if(d1.year < d2.year){
return 1;
}else if(d1.year == d2.year){
if(d1.month < d2.month){
return 1;
}else if(d1.month == d2.month){
if(d1.day < d2.day){
return 1;
}
}
}
return 0;
}
int succeedp(struct sdate d1, struct sdate d2){
return preceedp(d2, d1);
}
int samedayp(struct sdate d1, struct sdate d2){
if(d1.year == d2.year && d1.month == d2.month && d1.day == d2.day)return 1;
return 0;
}
int compdate(struct sdate d1, struct sdate d2){
if(samedayp(d1, d2))return 0;
if(preceedp(d1, d2))return 1;
return -1;
}
678:homoじょあ ◆5OLf4yFnuM
07/12/18 22:27:24
>>673
void printBinary(char x){
int i;
for(i=8; i>0; i--){
(128 & x) ? putchar('1') : putchar('0');
x = x << 1;
}
putchar('\n');
}
(・3・)1の補数なら引数に「~ch」を渡せばいいお
2の補数なら引数に「~ch+1」を渡せばいいお
679:homoじょあ ◆5OLf4yFnuM
07/12/18 22:33:53
>>673
(・3・) エェー 時間ないからAはダメぽ
int shou8(unsigned x){
return x - (x >> 3) * 8;
}
680:homoじょあ ◆5OLf4yFnuM
07/12/18 22:34:32
(・3・) エェー 全くビット演算の意味ないよNE
681:homoじょあ ◆5OLf4yFnuM
07/12/18 22:40:35
>>673
(・3・) エェー さすがに酷いから作り直した
今週の営業は終了致しましたYO
int shou8(unsigned x){
int i, j=1, sum=0;
for (i=0; i<3; i++) {
if( j & x ){
sum += j;
}
j *= 2;
}
return(sum);
}
682:デフォルトの名無しさん
07/12/21 14:57:21
tanθの値を-360<=θ<=360の範囲で1°刻みにプログラムを作成すること。
ただし、tanは、自分で作った関数の中でのみ使用でき、θの値は
mainの中で決定し、関数へと受け渡すこと。
プログラムの中身
-360,○○○
-359,○○○
・
・
・
360, ○○○
このプログラムをお願いします。
683:デフォルトの名無しさん
07/12/21 21:54:20
#include <stdio.h>
#include <math.h>
//円周率(double型の有効桁数までのつもり)
#define PAI (3.141592651389793)
double mytan(double dig)
{
if(fmod(dig+90,180)==0)//ex. 90,270...
{
//求められない
return HUGE_VAL;
}
return tan(dig*PAI/180);
}
int main(void)
{
int dig;
double val;
for(dig=-360;dig<=360;dig++)
{
val=mytan(dig);
printf("%+3d ",dig);
if(val==HUGE_VAL)
printf("エラー");
else
printf("%lf",val);
printf("\n");
}
return 0;
}
684:デフォルトの名無しさん
07/12/21 22:36:47
穴でも掘るのか?
685:デフォルトの名無しさん
07/12/22 00:53:15
中学1年のころの英語の授業の記憶より
"カナダは大きい国です。"を英訳
(正)Canada is a big country.
(誤)Canada is a dig country.
686:デフォルトの名無しさん
07/12/25 13:58:30
[1] 授業単元:C
[2] 問題文(含コード&リンク):A:0からある数値(NUM) までの合計を表示するプログラムを,以下の手順で作りなさい.B:課題A で作成したプログラムを修正して,NUM の値を変化させるプログラムを作成する
[3] 環境
[3.1] OS: (Windows
[3.2] コンパイラ名とバージョン: 任意
[3.3] 言語: C
[4] 期限: ([2008年1月9日まで] [5] その他の制限:
687:デフォルトの名無しさん
07/12/25 14:01:07
問A
ヘッダファイル kadai09a.h を作成し,NUM と関数hyoujiを定義する.
-------------------------------------------------------------
#define NUM 5
extern void hyouji(int, int);
-------------------------------------------------------------
以下のプログラムをもとに,
main関数の部分をソースファイル kadai09a.c に,関数 hyouji の部分をソースファイル kadai09a1.c に分割する.
-------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
void hyouji(int, int);
int main(void)
{
int i, n;
int sum = 0;
printf("Input non-negative integer: ");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
sum += i;}
hyouji(n, sum);
return 0;
}
void hyouji(int k, int m)
{
printf("The sum of 0 to %d : %d\n", k, m);
}
-------------------------------------------------------------
作成した kadai09a.c, kadai09a1.c, kadai09a.h をコンパイルして実行する.
688:デフォルトの名無しさん
07/12/25 14:03:04
ヘッダファイル kadai09b.h を作成し,NUM と関数hyouji と関数sum を定義する.
ただし,NUM は,「マクロNUM が定義されていなければ,NUM=5 」と定義する.
-------------------------------------------------------------
#define NUM 5
extern void hyouji(int, int);
extern int sum(void);
-------------------------------------------------------------
main関数の部分を,ソースファイル kadai09b.c で定義する.
-------------------------------------------------------------
#include <stdio.h> /* おまじない */
#include <stdlib.h> /* おまじない */
int sum(void);
void hyouji(int, int);
int main(void)
{
hyouji(NUM, sum());
return 0;
}
-------------------------------------------------------------
関数sum を,ソースファイル kadai09b1.c で定義する.
-------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int sum(void) {
int i, souwa=0;
for (i = 1; i <= NUM; i++) {
souwa += i;}
}
-------------------------------------------------------------
ここで示したサンプルプログラムでは動かないので,必要最小限の修正をしてプログラムを完成すること
689:デフォルトの名無しさん
07/12/25 15:12:43
【質問テンプレ】
[1] 授業単元:Cプログラミング実習
[2] 問題文(含コード&リンク): VC 6.0の環境で電卓の作成。
(1).加算を行う電卓の作成。(後に四則演算に対応させる)
(2).エディットボックスに数値を入力し演算を行う。
(3).エディットボックスにプラス「+」、マイナス「-」、
スペース「' '」を入力されても演算可能にする。
(補足)
C言語の初心者です。
今、VC 6.0の環境で電卓を作っています。
エディットボックスに数値を入力して計算させるプログラムなのですが
エディットボックスにスペースを入力されても計算出来るようにしたいのですが解りません。
NULL文字をチェックすればよいのか、それとも「isspece」の関数を使って空白文字を
調べればよいか解りません。プラス「+」、マイナス「-」の符合が入力されても
計算出来るようには行えたのですが、どうしても空白(スペース)を入力された場合が、
うまくいきません。以下は作成途中のソースコードです。ここに付け加えるような
コードで教えていただけると助かります。ご指導お願いします。
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン:VC 6.0
[3.3] 言語: C,C++
[4] 期限: 2007年12月25日
[5] その他の制限:クラス使用不可
690:デフォルトの名無しさん
07/12/25 15:14:49
>> 689の作成中のコードです。宜しくお願いします。
// OnButton1() /////////////////////////////////////////////////////////////////////
void CKasanDlg::OnButton1()
{
adding();
char num1[128],num3[128];
int i,length=strlen(&num1[0]);
int numk,numl=0;
m_num3.GetLine( 0, num3 );
numk = sscanf( num3, "%d", &numl );
for( i=0; i<length; i++ ){
isdigit( (int) num1[i] );
}
if(( numk == -1 )){
MessageBox("数値を入力してください。"); // メッセージボックス
}
}
691:デフォルトの名無しさん
07/12/25 19:57:46
>>687
//kadai09a.h
#define NUM 5
void hyouji(int,int);
//kadai09.c
#include "kadai09a.h"
#include <stdio.h>
//#include <stdlib.h>//いらなくね?
int main(void)
{
//mainの内容を記述します。
}
//kadai09a1.c
#include <stdio.h>
void hyouji(int k,int m)
{
printf("The sum of 0 to %d : %d\n", k, m);
}
コンパイラの使い方は誰かに聞け
692:691
07/12/25 20:02:06
すまん。問題よく読んでなかった。
kadai09a.cだけ変えてくれ。
#include "kadai09.c"
int main(void)
{
int i,;
int sum = 0;
for (i = 1; i <= NUM; i++)sum += i;
hyouji(n, sum);
return 0;
}
693:デフォルトの名無しさん
07/12/25 20:09:00
>>688
//kadai09b.h
#ifndef NUM
#define NUM (5)
#endif
void hyouji(int,int);
int sum(void);
//kadai09b.c
#include "kadai09b.h"
int main(void)
{
hyouji(NUM,sum());
return 0;
}
//kadai09b1.c
//NUMを変えるのならここで定義すること
//#define NUM (100)
#include "kadai09b.h"
int sum(void)
{
int souwa=0;
for (i = 1; i <= NUM; i++)souwa+=i;
return souwa
}
694:デフォルトの名無しさん
07/12/26 02:14:56
別スレで答えてもらえなかったので、ここで頼みたいのですが・・
C++
Linux
#include <stdio.h>
#include <math.h>
int x,y;
{
mi(x,y,a);
}
mi(x,y,a)
int x,y;
float a;
{
}
return
}
ルーチンワーク内で、mi(x,y,a)という、
(x,y)にa倍の「み」という文字を表示するコマンドをつくりたいのですが
どうやってつくればよいでしょうか?
1倍の「み」は横幅縦幅ともに50くらいとしておねがいします。
できればforなどの基礎構文で
695:デフォルトの名無しさん
07/12/26 07:33:29
>>694
情報量が少な過ぎ。用件をきっちり書くか、ちゃんとしたサンプルを提示してくれ。
696:デフォルトの名無しさん
07/12/26 12:58:48
>>695
宿題で、「み」という文字をウインドウにアニメーション的に表示する
プログラムをつくる(これしか言われてないです・・)というのがでたので、
mi(x,y,a)というコマンドを用意したいのですが、どうすればいいかわからなくて。
最近やっと、for文をつかったアニメーションのつくりかたを習ったばかりという
レベルです。
697:デフォルトの名無しさん
07/12/26 13:06:49
for文をつかったアニメーションのつくりかたって何だ
698:デフォルトの名無しさん
07/12/26 14:38:31
>>697
えと、
for(i=0;i<=100;i++)
{
x=10*i,y=100-10*i
ginit();
mi(x,y);
draw();getchar();
}
という感じなのですが、一般的じゃないんですか?
699:デフォルトの名無しさん
07/12/26 18:57:00
必要そうな関数を使い方なども含めて全部説明してくれ。
この質問はMS-DOSユーザに対して、Windowsのプログラム作ってくれってなぐらいに厳しいぞ。
700:デフォルトの名無しさん
07/12/27 03:59:41
静止画からの(複数)顔検出率95%以上のプログラムをください(><)
701:デフォルトの名無しさん
07/12/27 05:01:48
>>699
ginit() window画面を出す
line(x1,y1,x2,y2) (x1,y1)と(x2y2)を結ぶ線分を描く
circle(x,y,r) (x,y)を中心とする半径rの円を書く
くらいしか使えないのですが、これで「み」をかけますかね?
702:デフォルトの名無しさん
07/12/27 10:55:16
lineでベクトル的に書く
703:デフォルトの名無しさん
07/12/27 17:10:06
取り敢えずこんなもんかな。
--
static int conv(int xy, int a, int oxy, int dxy) {return xy + (oxy + dxy) * a;}
void mi(int x, int y, int a)
{
const int ox = 0;
const int oy = -50;
static const struct point {
int x;
int y;
} points[] = {
{10, 0}, {20, 0}, {10, 50}, {0, 40}, {10, 30}, {50, 30},
{-1, -1}, {40, 20}, {40, 50}, {-1, -1},
};
for (int ic = 0; ic < sizeof(points) / sizeof(* points); ++ic) {
if (points[ic].x >= 0 && points[ic + 1].x >= 0) {
line(conv(x, a, ox, points[ic].x), conv(y, a, oy, points[ic].y),
conv(x, a, ox, points[ic + 1].x), conv(y, a, oy, points[ic + 1].y));
}
}
}
int main()
{
mi(100, 100, 2);
return 0;
}
704:デフォルトの名無しさん
08/01/02 15:09:08
ぼるじょあさんあけおめ
705:ぼるじょあ ◆yBEncckFOU
08/01/02 15:24:56
(・3・) 新年明けましておめでとうございます
本年もご愛顧の程よろしくお願いしますYO!
706:デフォルトの名無しさん
08/01/07 15:46:41
[1] 授業単元:C
[2] 問題文 URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: 任意
[3.3] 言語: C
[4] 期限: 2007年1月8日16:00まで
[5] その他の制限: 特になし
707:デフォルトの名無しさん
08/01/07 15:51:04
@
708:デフォルトの名無しさん
08/01/07 15:52:47
>>706続き
URLリンク(kansai2channeler.hp.infoseek.co.jp)
問題2つあって長文ですが回答お願いします
709:homoじょあ ◆5OLf4yFnuM
08/01/07 19:39:04
(・3・) エェー あけましておめでとうございまSU
本年もよろしくお願い致しますYO
>>706
(・3・) エェー 新年1発目だYO
URLリンク(kansai2channeler.hp.infoseek.co.jp)
710:デフォルトの名無しさん
08/01/09 02:41:39
>>156
自己満足な上にc++だけど。
URLリンク(blog38.fc2.com)
711:名無し
08/01/09 21:24:21
[1] 授業単元: プログラム
[2] 問題文:複数の整数の平均・分散を求めるプログラムを作成せよ。ただし、平均・分散ともに
小数点第3位以下を切り捨て、小数第2位まで求めるものとする
入力に関して
キーボードからまず、入力する整数の個数を入力し(最大でも100とする)改行する
次に指定した数の整数をスペース1つずつ開けて1行で入力するものとする
この時、入力を促す文字等は表示しないこと
出力に関して
1行目に平均(+改行)、2行目に分散(+改行)を数値のみ出力する。
指定した数値・改行以外の文字等の出力は一切行わない事
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:わかりません
[3.3] 言語: C
[4] 期限: 2008年1月10日10:00まで
[5] その他の制限: 特になし
よろしくおねがいします
712:名無し
08/01/09 22:05:32
[1] 授業単元: プログラム
[2] 問題文:複数の数値に対する最大公約数を求める関数を作成し、それを利用するプログラムを作成せよ
関数は下記の通り
int gcm(int*in,int num)
in 入力値が格納された配列のポインタ
num 入力値の数
戻り値 入力値の最大公約数
入力に関して、キーボードから、入力値をスペース1つ開けて1行で入力する
この時、入力を促す文字等は表示しないこと
出力に関して、結果+改行のみ出力。指定した数値・改行以外の文字等出力は行わない
[3] 環境
[1] OS:XP
[2] コンパイラ名とバージョン:わかりません
[3] 言語: C
[4] 期限: 2008年1月10日10:00まで
[5] その他の制限: 特になし
またまたおねがいします。
713:デフォルトの名無しさん
08/01/09 22:30:25
>>711
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double Average(int count,int data[])
{
double sum=0;int i;
for(i=0;i<count;i++)sum+=data[i];
return sum/count;
}
double StandardDeviation(int count,int data[])
{
double av,variance;
int i;
variance=0;
av=Average(count,data);
for(i=0;i<count;i++)variance+=((data[i]-av)*(data[i]-av));
variance/=count;
return sqrt(variance);
}
714:デフォルトの名無しさん
08/01/09 22:31:13
int main(void)
{
char buf[1024],*szStrPtr;
int i,count,data[100];
gets(buf);
count=atoi(buf);
if(count>100){printf("最大で100までゆうただろうが!\n");return 1;}
szStrPtr=buf;
gets(buf);
for(i=0;i<count;i++)
{
char *endptr;
data[i]=strtol(szStrPtr,&endptr,10);
if((*endptr)=='\0' && i!=(count-1)){printf("きちんと入力できてないでー\n");return 1;}
szStrPtr=endptr+1;
}
printf("%.2f\n%.2f\n",floor(Average(count,data)*100)/100,floor(StandardDeviation(count,data)*100)/100);
return 0;
}
715:ぼるじょあ ◆yBEncckFOU
08/01/09 22:37:37
>>711
(・3・) エェー やっとでけたYO!
#include<stdio.h>
#include<math.h>
int main(void)
{
int i, value_num, value;
double total=0.0, total_2=0.0, ave, dev;
scanf("%d", &value_num);
if(value_num<=0) return 1;
for(i=0;i<value_num;i++)
{
scanf("%d", &value);
total+=value;
total_2+=value*value;
}
ave=total/value_num;
dev=(total_2-total*ave)/value_num;
printf("%.2f\n", floor(ave*100)/100);
printf("%.2f\n", floor(dev*100)/100);
return 0;
}
716:名無し
08/01/09 22:37:52
>713、714さん
ありがとうございます。助かりました。
717:名無し
08/01/09 22:44:39
>715さん
ありがとうございます
718:ぼるじょあ ◆yBEncckFOU
08/01/09 23:06:48
>>712
#include<stdio.h>
#include<stdlib.h>
int gcd(int *in, int num){
int a, b, c, i;
if(num<=0) return -1;
b=in[0];
for(i=1;i<num;i++){
a=in[i];
if(b<=0) return -1;
while((c=a%b)) a=b,b=c;
}
return b;
}
int main(void){
int *data=NULL, datanum=0;
char buf[20+1];
for(;;){
fscanf(stdin, "%*[ ]");
if(fscanf(stdin, "%1[\n]", buf)==1) break;
if(fscanf(stdin, "%20[0-9]", buf)!=1) return 1;
data=realloc(data, sizeof(*data)*(datanum+1));
data[datanum++]=atoi(buf);
}
printf("%d\n", gcd(data, datanum));
free(data);
return 0;
}
719:デフォルトの名無しさん
08/01/10 22:33:56
[1] 授業単元: プログラミング入門
[2] 問題文: URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:UNIX
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:明日まで
[5] その他の制限:特になし
よろしくお願いします。
720:デフォルトの名無しさん
08/01/10 23:09:50
>>719
ソートが気に食わなかったら書き換えて
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main(int argc,char *argv[])
{
char buf[1024];char *ptr;
if(argc<=1){puts("コマンドライン例\n% printchar u\n% printchar l\n% printchar r\n% printchar s");return 0;}
gets(buf);
switch(tolower(*(argv[1])))
{
case 'u':
for(ptr=buf;*ptr;ptr++)*ptr=toupper(*ptr);
break;
case 'l':
for(ptr=buf;*ptr;ptr++)*ptr=tolower(*ptr);
break;
case 'r':
for(ptr=buf;*ptr;ptr++)*ptr=(islower(*ptr)?toupper(*ptr):tolower(*ptr));
break;
case 's':
qsort(buf,strlen(buf),1,(int(*)(const void *,const void *))strcmp);
break;
default:puts("コマンドライン例\n% printchar u\n% printchar l\n% printchar r\n% printchar s");return 0;
}
puts(buf);
return 0;
}
721:デフォルトの名無しさん
08/01/12 14:08:37
ごみじょあ
722:デフォルトの名無しさん
08/01/12 15:28:07
[1] 授業単元:C言語
[2] 問題文:構造体としてT1時T1分T1秒とT2時T2分T2秒をキーボードから入力し、
経過時間を求め、表示するプログラムを作成しなさい。但し、秒は実数型とする
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:fujitsu workbench
[3.3] 言語:C
[4] 期限:1月16日16:00
[5] その他の制限:T1=7時25分12.33秒 T2=12時3分27.55秒.時間は24時間60分60秒で
それ以上はNGで安全装置を働かせる
723:デフォルトの名無しさん
08/01/12 16:05:17
マルチすんなボケ
724:デフォルトの名無しさん
08/01/17 21:49:34
[1] 授業単元:CプログラミングT
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:分かりません
[3.3] 言語:C++
[4] 期限:1月18日 00:00
[5] その他の制限:特にありません.
よろしくお願いいたします.
725:デフォルトの名無しさん
08/01/17 22:52:44
くそじょあ
726:デフォルトの名無しさん
08/01/17 23:16:12
>>724
こんなあんばいでどう?
テストしてないけど。
//穴1
typedef struct _Animal
{
int id;
char name[23];
int show[5];
int show_sum;
int show_prev;
int show_disp_total;
}Animal;
//穴2
for(i=0;i<n;i++)
{
s[i].show_sum=0;
for(j=0;j<5;j++)s[i].show_sum+=s[i].show[j];
s[i].show_disp_total=s[i].show_sum+s[i].show_prev;
tmp_total+=s[i].show_disp_total;
}
727:デフォルトの名無しさん
08/01/17 23:38:51
>>726
おかげさまでエラーもなく実行することができました!
本当に感謝します,ありがとうございました!
728:デフォルトの名無しさん
08/01/18 22:05:06
[1] 授業単元:CプログラミングT
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:分かりません
[3.3] 言語:C++
[4] 期限:2008年1月19日 09:00
[5] その他の制限:特にありません
よろしくお願いします!
729:デフォルトの名無しさん
08/01/18 23:07:26
マルチばっかりじゃないか・・・
730:デフォルトの名無しさん
08/01/19 04:31:01
>>728
URLリンク(kansai2channeler.hp.infoseek.co.jp)
731:デフォルトの名無しさん
08/01/19 08:09:40
>>730
ありがとうございました!
732:デフォルトの名無しさん
08/01/20 14:08:43
学校の課題でC++のクラスについての問題が出たのですが、まず以下のような
データファイルを用意した上で、そこからデータを読み出して、別ファイルに
標準体重の人の血液型と名前を出力するというものなんです。ファイルの読み出しまでは分かるのです
がその後が分かりません。アドバイスお願いします。
*標準体重・・・指数k(平均体重÷(平均身長ー100)を設定し、各々(身長ー100)*kの理想体重に対して97〜103%の間に入っていること。
<データファイル>
一行目 人数
二行目以降 名前 血液型 身長 体重
733:デフォルトの名無しさん
08/01/20 16:46:50
テンプレ嫁
734:デフォルトの名無しさん
08/01/20 23:00:29
1] 授業単元: プログラミング
[2] 問題文: URLリンク(sasa.cis.ibaraki.ac.jp) の必須課題1と2
[3] 環境
[3.1] OS:UNIX
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:2008/01/21まで
[5] その他の制限 二重ポインタを使わないで
非再帰でお願いします
735:デフォルトの名無しさん
08/01/20 23:14:23
>>734
PDFはやめて。
736:デフォルトの名無しさん
08/01/21 00:43:00
Cプログラマ必須テキスト!
URLリンク(mori.eco.to)
737:デフォルトの名無しさん
08/01/21 01:26:20
何度目だ?Cプログラマ必須テキスト!
738:デフォルトの名無しさん
08/01/21 16:00:55
v
問7
キーボードから実数を一つ入力
させ、それを x に代入する。
x ≦ 100 のとき「A」、
100 < x ≦ 350 のとき「B」、
350 < x ≦ 600 のとき「C」、
600 < x のとき「D」
と表示するプログラム
@
わかんないです。
C言語プログラミング
、C-pad?? lcpad使ってます。
739:デフォルトの名無しさん
08/01/21 16:05:03
[1] C言語
[3] [3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: わかりません
[3.3] 言語: C言語
[4] 期限: 1月24日木曜日
[2] 問題文(含コード&リンク):
問2
4個の変数
a 整数
b 実数
c 精度の高い実数
d 文字
を宣言し、それぞれに適当なデータを代入する。
そして次のように画面表示するプログラム
a の値は ... です
b の値は ... です
c の値は ... です
d の値は ... です
問3
37から229までの整数を加算しその結果を表示するプログラム
お願いします!!
740:デフォルトの名無しさん
08/01/21 16:06:14
続きです。
問4
x = 0 から出発し、x の値を0.001 づつ増加させることを繰り返し、
x^2 + 7x - 1 の値が初めて正となった時点で繰り返しを終了し、
そのときのx の値を表示するプログラム
問5
キーボードから整数を入力させその数を x に代入する。
x が 100 より大きいとき、
「入力した数は 100 より大きい」と表示し、x が 100 以下のとき、
「入力した数は 100 以下です」と表示するプログラム
問6
キーボードからアルファベット
を1文字入力させ、それが
「a」のとき、「a です」
「b」のとき、「b です」
「c」のとき、「c です」
「d」のとき、「d です」
「e」のとき、「e です」
と表示し、それ以外のとき「a,b,c,d,e 以外の文字」と表示するプログラム
741:デフォルトの名無しさん
08/01/21 16:06:45
問7
キーボードから実数を一つ入力させ、それを x に代入する。
x ≦ 100 のとき「A」、
100 < x ≦ 350 のとき「B」、
350 < x ≦ 600 のとき「C」、
600 < x のとき「D」と表示するプログラム
問8
1 + 4 + 9 + 16 + ・・・と加えて行き、
和が初めて 10000を超えたとき、
その和の値、および最後に加えた数を求めて表示するプログラム
問9
次に書かれた数の総和を求め、結果を表示するプログラム:
1
1+2
1+2+3
1+2+3+4
・
・
・
1+2+3+4+5+・・・+ 10
問10
縦 100m、横 120mのグランドがある。
縦横それぞれ同じ長さ x だけ長くして面積が 13000u となるようにしたい。
x を少数点以下1桁までの精度で求めるプログラム。
こんな感じです。お願いします!!
742:デフォルトの名無しさん
08/01/21 16:13:20
一問くらいやれよ
743:デフォルトの名無しさん
08/01/21 18:23:25
問10だけ
なぜこれで答えがでるかは自分で考えてくれ。
#include<stdio.h>
#include<math.h>
int main(void)
{
double x,temp;
temp=-110+10*sqrt(131.0);//二次方程式:x~2+220x-1000=0…(x>0)の解を代入
x=floor(temp*10+0.5)/10;//解の少数第2位で四捨五入
printf("約%.1f[m]伸ばせばよいぞ、雑種。\n",x);
return 0;
}
744:デフォルトの名無しさん
08/01/21 20:27:07
>>739
問2
#include<stdio.h>
int main(void)
{
int a; /* 整数 */
float b; /* 実数 */
double c; /* 精度の高い実数 */
char d; /* 文字 */
a = 2008;
b = 3.14159;
c = 1.60217733E-19;
d = 'A';
printf("a の値は %d です\n", a);
printf("a の値は %f です\n", b);
printf("a の値は %G です\n", c);
printf("a の値は %c です\n", d);
return 0;
}
745:デフォルトの名無しさん
08/01/21 20:36:30
>>739
問3
#include<stdio.h>
int main(void)
{
int i, sum = 0;
for(i = 37; i<=229; i++){
sum+=i;
}
printf("37から229までの整数の合計は%d\n",sum);
return 0;
}
問4
#include<stdio.h>
int main(void)
{
double x = 0;
while( x*x + 7*x - 1 < 0){
x+=0.001;
}
printf("x = %g\n",x);
return 0;
}
746:デフォルトの名無しさん
08/01/21 20:51:37
>>740
問5
#include<stdio.h>
int main(void)
{
int x;
printf("整数を入力して下さい:");
scanf("%d", &x);
if(x > 100){
printf("入力した数は 100 より大きい\n");
}else{
printf("入力した数は 100 以下です\n");
}
return 0;
}
747:デフォルトの名無しさん
08/01/21 20:52:30
>>740
問6
#include<stdio.h>
int main(void){
char x;
printf("1文字入力して下さい : ");
scanf("%c", &x);
if(x == 'a'){
printf("a です\n");
}else if(x == 'b'){
printf("b です\n");
}else if(x == 'c'){
printf("c です\n");
}else if(x == 'd'){
printf("d です\n");
}else if(x == 'e'){
printf("e です\n");
}else{
printf("a,b,c,d,e 以外の文字\n");
}
return 0;
}
748:デフォルトの名無しさん
08/01/21 20:54:33
>>741
問7
#include<stdio.h>
int main(void){
double x;
printf("実数を入力して下さい。: ");
scanf("%lf", &x);
if(x <= 100){
printf("A\n");
}else if(x <= 350){
printf("B\n");
}else if(x <= 600){
printf("C\n");
}else{
printf("D\n");
}
return 0;
}
749:名無し
08/01/21 21:10:09
[1] 授業単元: Cプログラミング
[2] 問題文(含コード&リンク): 円周率を求めるプログラムを作成せよ。
1.rand()関数を用いて0〜1のx座標、y座標を生成する。
2.原点との距離を求め、座標が半径1の円内かどうか調べ、円内である場合、円外である場合をそれぞれカウントする。
3.以上を指定回数分繰り返し、半径1の円内である確率がπ/4であることからπを求める。
・入力に関して、キーボードから繰り返し回数を入力する。(上限はint型の最大値(実際には最大値を入れると膨大な時間がかかるので
テストは1分程度で終了する値でよい)
・出力に関して、結果(求めた円周率)のみを浮動小数点(double型を%1f)で出力(+改行)
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:わからないです
[3.3] 言語: C
[4] 期限: 2008年1月23日12:00まで
[5] その他の制限:StudyCを使ってます。よろしくお願いします
750:デフォルトの名無しさん
08/01/21 21:16:05
>>741
問8
#include<stdio.h>
int main(void){
int i=1,sum=0,x;
while(sum < 10000){
x = i*i;
sum+=x;
i++;
}
printf("和 = %d、最後に加えた数 = %d\n",sum,x);
return 0;
}
751:デフォルトの名無しさん
08/01/21 21:26:39
>>741
問9
#include<stdio.h>
int main(void){
int i,j,sum;
for(i = 1;i <=10; i++){
sum =0;
for(j=1; j<= i;j++){
if(j>1){
printf("+");
}
printf("%d", j);
sum+=j;
}
printf("=%d\n",sum);
}
return 0;
}
752:デフォルトの名無しさん
08/01/21 21:51:55
>>749
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
int main(void)
{
int i,n,f;
double x,y,r,pi;
srand(time(NULL));
printf("繰り返し回数を入力:");
scanf("%d",&n);
f=0;
for(i=0;i<n;i++){
x=(double)rand()/RAND_MAX;
y=(double)rand()/RAND_MAX;
r=sqrt(x*x+y*y);
if(r<=1){ f++; }
}
pi = (double)f/n*4;
printf("%1f\n",pi);
return 0;
}
753:名無し
08/01/21 23:24:04
[1] 授業単元: Cプログラミング
[2] 問題文(含コード&リンク): 英文の文字列を入力した場合、文字数・単語数・文章数を求めるプログラムを作成せよ。
英文中の特殊文字は(, . ! ?)のみとする。単語の間には1つ以上(2つ以上でも可)のスペースが入るものとする。
文章の最後には必ず. ! ?のどれかが単独で使われる。
,や. ! ?の後に入る可能性があるが前にはスペースは入らないものとする。省略につかう.は今回ないものとする。
入力に関して:キーボードから、文字列を1行で入力する
出力に関して:文字数・単語数・文章数をそれぞれスペース1つあけて1行で出力(+改行)
[3] 環境
[3.1] OS:XP
[3.2] コンパイラ名とバージョン:わからないです
[3.3] 言語: C++
[4] 期限: 2008年1月23日12:00まで
[5] その他の制限:StudyCを使ってます。よろしくお願いします。
754:名無し
08/01/21 23:30:50
>>752さん
749の問題を書き込んだものですがRAND_MAXのところがエラー表示されます。
申し訳ありませんがもう一度確認してもらってよろしいでしょうか。
755:デフォルトの名無しさん
08/01/21 23:56:35
>>754
URLリンク(www.orchid.co.jp)
756:デフォルトの名無しさん
08/01/22 00:24:46
2つの整数を入力して、その2つの整数の最大公約数と、
最小公倍数を求めるプログラムを作りなさい。
このプログラムをお願いします。
757:デフォルトの名無しさん
08/01/22 00:47:11
>>756
マルチは死ね
758:デフォルトの名無しさん
08/01/22 01:07:51
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
1からNまでの和を求めよ。
1からNの総和を求める関数をint wa(int N)として定義せよ。
(注)WIN32コンソールアプリケーションで、Nの値をキーボードより入力。
#include <stdio.h>
int wa(N);
{
int i, sum = 0;
for(int i=1, i<=N, i++) Sum+=i;
}
int main(void)
{
}
※ これを参考に作成するのですが、イマイチ分かりません
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (".NET 2003")
[3.3] 言語: (C++)
期限は特にありませんので、宜しくお願いします。
759:デフォルトの名無しさん
08/01/22 01:19:25
#include <stdio.h>
int wa(int N);
{
int i, sum = 0;
for(int i=1, i<=N, i++) Sum+=i;
}
int main(void)
{
int n;
scanf("%d",&n);
printf("%d\n",wa(n));
return 0;
}
760:デフォルトの名無しさん
08/01/22 01:50:09
>>759
ありがとうございます。
しかし、.NET 2003環境で
#include <stdafx.h>
#include <stdio.h>
int wa(int N);
{
int i, sum = 0;
for(int i=1, i<=N, i++) Sum+=i;
}
int main(void)
{
int n;
scanf("%d",&n);
printf("%d\n",wa(n));
return 0;
}
このようなエラーが出てしまします。
error C2447: '{' : 対応する関数ヘッダーがありません。旧形式の仮引数リストの可能性があります。
{の対応は間違っているようには見えないのですがうまくいきません。
761:デフォルトの名無しさん
08/01/22 01:56:32
for文は for(int i=1, i<=N, i++) じゃなくて
for(int i=1; i<=N; i++) こうだろう
Sumもなんでか大文字になってるし、
wa関数に return sum; もない
762:デフォルトの名無しさん
08/01/22 02:12:15
>>761
ありがとうございます。
for文ご指摘のとうりでした
直して見たのですが、やはり
error C2447: '{' : 対応する関数ヘッダーがありません。旧形式の仮引数リストの可能性があります。
とでてしまいます。>< お時間ありましたらもう少しおつきあい下さいませ。
#include <stdafx.h>
#include <stdio.h>
int wa(int N);
{
int i, sum = 0;
for(int i=1; i<=N; i++) sum+=i;
return sum;
}
int main(void)
{
int n;
scanf("%d",&n);
printf("%d\n",wa(n));
return 0;
}
763:デフォルトの名無しさん
08/01/22 03:47:25
int wa(int N); ←なにこのセミコロンw
764:ラッセン沖縄
08/01/22 09:42:41
[1]授業単元 プログラミングB
[2]問題文 次の仕様を満たし、入力例の通りにして実行でき、更に、出力例の通りに出力されるようなCプログラムを作成せよ。(出力の空白や桁数にも留意せよ。)
仕様 三角形の底辺と高さ入力し、その面積を求める。
入力例 Z:\>(kadai)
(カッコ内を 底辺=(3.0)
入力する)高さ=(4.5)
出力例* ----+----|----+----|----+----|----+----|----+----|
底辺=3.000, 高さ=4.500
面積=6.7500
(*目盛りは桁を示すためのもの。プログラムで出力するのではない。)
よろしくお願いします。
765:デフォルトの名無しさん
08/01/22 10:06:11
>>763
あ、ほんとだ!
ありがとうございます。コンパイル成功しました。
でも、動かない。。
プロンプト起動後に数値入力→Enter
すると終了してしまいます><
#include <stdafx.h>
#include <stdio.h>
int wa(int N)
{
int i, sum = 0;
for(int i=1; i<=N; i++) sum+=i;
return sum;
}
int main(void)
{
int n;
scanf("%d",&n);
printf("%d\n",wa(n));
return 0;
}
766:デフォルトの名無しさん
08/01/22 13:47:11
>>756
#include<stdio.h>
main(){
int a,b,x,y,gcd,lcm;
printf("1つ目の整数を入力して下さい:"); scanf("%d", &x);
printf("2つ目の整数を入力して下さい:"); scanf("%d", &y);
if(x>y){a = x; b = y;}
else{a = y; b = x;}
while(b > 0){gcd = a%b; a = b; b = gcd;}
gcd = a; lcm = x*y/gcd;
printf("%dと%dの最大公約数は%d、最小公倍数は%d\n", x, y, gcd, lcm);
}
767:デフォルトの名無しさん
08/01/22 15:09:47
>743,744,745,746,747,748,750,751
ありがとうございます。
あの、問6の問題なんですが、
switchの構文で作ってもらうことできますか?
768:デフォルトの名無しさん
08/01/22 15:14:28
問6
#include<stdio.h>
int main(void){
char x;
printf("1文字入力して下さい : ");
scanf("%c", &x);
switch(x){
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
printf("%c です\n", x);
break;
default:
printf("a,b,c,d,e 以外の文字\n");
}
return 0;
}
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4356日前に更新/401 KB
担当:undef