C/C++の宿題片付けま ..
87:デフォルトの名無しさん
09/06/26 19:12:34
>>85
#include<stdio.h>
#include<ctype.h>
#include<string.h>
int main(void){
char code[26][30]={{0}}, buf[30], filename[FILENAME_MAX], alpha;
FILE *fp;
int moji;
scanf("%s\n", filename);
fp=fopen(filename, "r");
if(fp==NULL) return 1;
while(fscanf(fp,"%c,%[^\n]\n", &alpha, buf)==2){
if(isalpha(alpha)){
strcpy(code[tolower(alpha)-'a'], buf);
}
}
fclose(fp);
while((moji=getchar())!=EOF){
if(isalpha(moji)){
printf("%s", code[tolower(moji)-'a']);
}else{
putchar(moji);
}
}
return 0;
}
88:デフォルトの名無しさん
09/06/26 19:23:31
30って気持ち悪いw
89:デフォルトの名無しさん
09/06/26 19:28:57
>>83
#include<stdio.h>
#include<ctype.h>
int main(void){
char name[]="Nanasi no Gonbee Jr.2";
int i;
for(i=0;name[i];i++){
printf("%c:%d\n", name[i], name[i]);
}
return 0;
}
90:デフォルトの名無しさん
09/06/26 19:36:17
なんでctype.h?
91:デフォルトの名無しさん
09/06/26 21:55:22
>>10
有難うございました!
92:デフォルトの名無しさん
09/06/26 23:25:43
[1]数値情報解析
[2]ドゥーリトル法によるLU分解でn元連立1次方程式を解くプログラムを作りなさい。
LベクトルとUベクトルと解ベクトルを表示すること。
[3]
[3.1]Windows
[3.2]Visual Studio
[3.3]C
[4]2009年7月1日
[5]ほぼ素人なので、少しでも優しい表現にしていただくようよろしくお願い致します。
93:デフォルトの名無しさん
09/06/27 00:37:12
前スレ930のものです。
前スレで回答してもらえず、前スレが落ちてしまったのでもう一度質問させてください。
[1] 授業単元:計算機システム構成原理
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 6月30日まで
[5] その他の制限: 特になし
よろしくお願いします。
94:デフォルトの名無しさん
09/06/27 00:39:17
長くてめんどくさいだけの課題はやる人あんまりいないよな。
95:デフォルトの名無しさん
09/06/27 01:27:02
>>93
URLリンク(ftp.gnu.org)
96: ◆/91kCCQXBo
09/06/27 02:17:57
>>032 LED コンパイルはしてない。0b01111111
URLリンク(rg550.hp.infoseek.co.jp)
97:デフォルトの名無しさん
09/06/27 05:39:00
11
★pc1つで毎日3万稼ぐ★
★翌日入金★
★2009年最新在宅ワーク!★☆
URLリンク(toutou.nantomo.dousetsu.com)
98:デフォルトの名無しさん
09/06/27 06:30:45
>>27
Dll_BMP_C.h ってのを晒さないと誰もできないぞ
(もし Dll_BMP_C.c みたいなのがあったらそれも)
99:デフォルトの名無しさん
09/06/27 07:24:15
>>27
>>98
D_llBMP_C.h URLリンク(kansai2channeler.hp.infoseek.co.jp)
100:83
09/06/27 09:54:43
>>84様
ありがとうございましたm(__)m
101:デフォルトの名無しさん
09/06/27 09:56:38
>>99
thx
DllBmpReadImage()とかの実体のDLLかソースコードもあるとうれしい
(というかそれがないとできない)
102:デフォルトの名無しさん
09/06/27 10:04:27
なんかこのやり取りを良く見る気がする
一般的でないライブラリを使用するときは
一緒にアップしろとテンプレに明記した方がいいんじゃないか
103:デフォルトの名無しさん
09/06/27 10:11:06
>>95
どうみてもbash
104:デフォルトの名無しさん
09/06/27 10:37:35
[1] 授業単元:C言語
[2] 問題文:2つの整数型の変数を入れ替える関数swapを定義して、それを使用して配列中の数字をランダムに入れ替えるプログラムの作成。
1から52までの数が順番に入った配列を用意し、十分に入れ替えた結果を表示すること。
[3] 環境
[3.1] OS: windows
[3.3] 言語: C
[4] 期限: 7月2日まで
[5] その他の制限: 特になし
105:デフォルトの名無しさん
09/06/27 10:44:04
#include <stdio.h>
#include <stdlib.h>
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main(void)
{
int i, a[52];
srand(time(NULL));
for(i=0; i<52; i++) a[i] = i + 1;
for(i=52; i> 0;) {
int j = rand() / (RAND_MAX + 1.0) * i--;
swap(a+i, a+j);
}
for(i=0; i<52; i++) printf("%d ", a[i]);
return 0;
}
106:デフォルトの名無しさん
09/06/27 11:30:32
>>92
URLリンク(kansai2channeler.hp.infoseek.co.jp)
107:デフォルトの名無しさん
09/06/27 14:22:30
[1] 授業単元 C言語
[2] 問題文 回文の判断をせよ
ただ、小文字、大文字の区別はしない、記号、空白も考えない。
例
Madam, I’m Adam
Able was I ere I saw Elba
この二つの文は回文である。 Ad czv zC Daのような文も回文
[3] 環境
[3.1] OS Windows
[3.2] コンパイラ名とバージョン VisualC++
[3.3] 言語 C
[4] 期限: 6月29日
108:デフォルトの名無しさん
09/06/27 16:01:45
>>107
眠りながら適当に書いた
#include<iostream>
#include<algorithm>
#include<string>
#include<cctype>
#include<functional>
int main(){
std::string line;
getline(std::cin,line);
std::string tmp = line;
tmp.erase(std::remove_if(tmp.begin(),tmp.end(),std::not1(std::ptr_fun(std::isalpha))),tmp.end());
std::transform(tmp.begin(),tmp.end(),tmp.begin(),std::toupper);
std::cout << (std::equal(tmp.begin(),tmp.end(),tmp.rbegin()) ? "回文です" : "回文じゃないです") << std::endl;
}
109:デフォルトの名無しさん
09/06/27 16:02:35
おおっとすまん課題はC言語だったか。適当に書き直すわー
110:デフォルトの名無しさん
09/06/27 16:03:34
>>107
URLリンク(kansai2channeler.hp.infoseek.co.jp)
111:デフォルトの名無しさん
09/06/27 16:15:54
書いてるうちに他の人が書いたけど悔しいから出してみる
#include<stdio.h>
#include<ctype.h>
#include<string.h>
void copyAlpha(char*dst,const char*src){
while(*dst = *src)if(isalpha(*src++))++dst;
}
void lowerCase(char*dst){
for(;*dst;++dst)*dst=tolower(*dst);
}
void reverseStr(char*dst,const char*src){
0[dst += strlen(src)]=0;
while(*src)*--dst=*src++;
}
int main(){
char src[80],rev[80];
gets(src);
copyAlpha(src,src);
lowerCase(src);
reverseStr(rev,src);
puts(strcmp(rev,src)==0 ? "回文です" : "回文じゃないです");
}
112:デフォルトの名無しさん
09/06/27 17:44:30
ポインタなしver.がないので
isalphaの行をどうにかマクロにしたかったw
int is_anagram(const char str[]) {
int head, tail, len;
head = 0; tail = (len=strlen(str))-1;
for ( len /= 2; head < len && len < tail; head++, tail-- ) {
if ( !isalpha(str[head]) ) { head++; continue; }
if ( !isalpha(str[tail]) ) { tail--; continue; }
if ( tolower(str[head]) != tolower(str[tail]) )
return 0;
return 1;
}
}
113:デフォルトの名無しさん
09/06/27 17:50:07
[1] 授業単元: コンピュータプログラミング
[2] 問題文:URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: windows
[3.2] VisualC++
[3.3] 言語: c
[4] 期限: 2009年6月30日
[5] その他の制限:配列はcharやdouble,
並び替えはdo,for,if,whileなどで習いました。
お願いします。
114:デフォルトの名無しさん
09/06/27 17:55:56
URLが
115:デフォルトの名無しさん
09/06/27 17:56:14
>>113 大きいクリップ、リンクが変。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
116:デフォルトの名無しさん
09/06/27 17:57:34
>>113
問題文のリンクがちがうぞw
117:デフォルトの名無しさん
09/06/27 18:07:55
<<115のが正しいです。
すみません。
118:デフォルトの名無しさん
09/06/27 18:33:49
>>112
retrun 1;
の位置が明らかにおかしい
119:デフォルトの名無しさん
09/06/27 19:36:14
>>107
俺もブームに乗って作ってみた。動作は保障しない。怪文21面相〜♪
そうそう、全角文字には対応してないんだからね!サンプルをコピペしてハマッタ。ソースの整形はご自分で!
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main(){
unsigned char str[1024]={'\0',}; char *ch; int i=0,j=0,N=0;
printf("input string:");
fgets(str,1024,stdin);
str[1023] ='\0';ch = strchr(str,'\n');
if(ch != NULL) *ch ='\0';
for(i=0;str[i]!= '\0';i++){
if(isalpha(str[i])){//アルファベット置換と移動
str[j++] = toupper(str[i]);
}
if(isdigit(str[i])){//数字移動
str[j++] = str[i];
}
}
str[j]='\0'; N=j/2;
for(i=0;i<N;i++){
if(str[i]!=str[j-1-i]){
printf("string is no match!\n");
return 1;
}
}
printf("string is Match!\n");
return 0;
}
120:デフォルトの名無しさん
09/06/27 20:15:38
>str[1023] ='\0';
無意味
121:デフォルトの名無しさん
09/06/27 20:18:23
>>120
保険だよ。一行削れるから、ないほうがよかったかなぁ。。。
122:デフォルトの名無しさん
09/06/27 20:25:14
行削りたいなら
if(isalum(str[i])) str[j++] = toupper(str[i]);
でいいだろ
123:デフォルトの名無しさん
09/06/27 20:37:25
>>122
あぁ、それでいけるのね。
toupperを普段使わないから、認識が曖昧だった。勉強になります。
124:デフォルトの名無しさん
09/06/27 20:41:01
>>121
fgets()は必ず終端に'\0'を付けると>>120は言ってるんだろう
fgets()で付く場合と付かない場合があるのは'\n'だ
125:デフォルトの名無しさん
09/06/27 20:45:29
>>124
それも認識が曖昧だった。なるほど、勉強になります。
126:デフォルトの名無しさん
09/06/27 21:07:38
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
int型配列:int x[]と、int型配列xの大きさ:int sizeの2つの引数を用いて、
クイックソートで昇順に並べ替えるvoid quicksort(int x[], int size)と
二分木の中間走査によって昇順に並び変えるvoid inorder(int x[], int size)
の作成
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 明日
[5] その他の制限: 特になし
127:デフォルトの名無しさん
09/06/27 22:03:12
>>27
URLリンク(u9.getuploader.com)
128:93
09/06/27 23:06:49
>>95
これは違うと思うのですが…。
すいませんがどなたか>>93のをお願いします。
129:デフォルトの名無しさん
09/06/27 23:42:52
>>128
>>94-95
130:デフォルトの名無しさん
09/06/27 23:54:48
>>106 さんありがとうございました。
ホントに助かりました!
131: ◆/91kCCQXBo
09/06/28 01:42:21
>>113 ソートのアルゴリズムは習ってないということで。
スレリンク(tech板:676番)
132:デフォルトの名無しさん
09/06/28 02:54:57
【質問テンプレ】
[1] 授業単元: C言語演習
[2] 問題文(含コード&リンク):3つの分数の和を求めるプログラムの作成.
但し,2つの分数の和をもとめる関数bunnsuwa(..)を作ってそれを利用して3つの分数を求める.
[3] 環境
[3.1] OS:Windows/vista
[3.2] コンパイラ名とバージョン Visual Studio 2008
[3.3] 言語:C++
[4] 期限: ([7月2日まで]
[5] その他の制限:
下の手順でプログラムを作成すること
1.二つの分数を入力して,その和をmain関数で計算して結果を表示する
1.1 分数を二つ入力 b/a, d/c とする:
ここは整数変数4つにデータを入力
1.2 二つの分数の和をf/eに計算:
普通に計算してf,eを表示
2.その二つの分数の和を計算する部分を取り出し関数bunnsuwa(..)を作成する:
3.bunnsuwa(..)を複数回適用し、三つの分数の和を求めるプログラムを作成する
4
約分をできるようにする。また分母が0のときにエラー処理をする。
4.1 yakubun(..)という関数を作ってみるのもよい
例えば、void yakubun(int *a, int *b)で *b/*aを約分して更新する
5
マイナスの分子や分母が入れられた時や,分母が1になった時もきれいに表示できるようにする
お願いします〜
133:デフォルトの名無しさん
09/06/28 10:36:59
>>132
こんな感じでよいか?
#include<stdio.h>
void yakubun(int*a,int*b){
int x=*a,y=*b,z;
while(y){z=x%y;x=y;y=z;}
*a/=x;*b/=x;
if(*a<0)*a=-*a,*b=-*b;
}
void bunnsuwa(int*a,int*b,int*c,int*d){
*b=*b**c+*a**d;*a*=*c;
}
int main(){
int a=!0,b=0,c,d,i;
for(i=1;i<4;i++){
for(;;puts("やりなおせ")){
printf("%dつ目の 分子 分母 = ",i);scanf("%d%d",&d,&c);
if(c)break;
}
bunnsuwa(&a,&b,&c,&d);
yakubun(&a,&b);
printf("合計 = %d",b);
if(a>1&&b!=0)printf(" / %d",a);
puts("");
}
return 0;
}
134:デフォルトの名無しさん
09/06/28 10:37:30
[1] 授業単元: C言語
[2] 問題文:
(1) 整数と4つの演算子(+, -, *, /)とカッコ ( ) から
成る計算式の文字列から計算木を作成する関数を作れ。
ただし、再帰は使ってはならない。
(2) 整数と4つの演算子(+, -, *, /)から成る計算木から
計算式の文字列を作成する関数を作れ。優先順位に注意
して、必要な箇所をカッコ ( ) でくくれ。ただし、
再帰は使ってはならない。
[3] 環境
[3.1] OS:Linux
[3.2] gcc
[3.3] C言語
[4] 期限:6/30
お願いします。
135:93
09/06/28 11:15:59
>>129
本当にわからなくて>>95のが与えられてもよくわかりませんでした。
すいませんがせめて>>95のどれを見たらわかるかだけでも教えていただけないでしょうか?
136:デフォルトの名無しさん
09/06/28 11:41:43
>>132
一応やってみた。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
137:デフォルトの名無しさん
09/06/28 13:36:16
[1] 授業単元:数理物理
[2] 問題文(含コード&リンク):URLリンク(www.mns.kyutech.ac.jp)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:どちらでも可
[4] 期限:6/30まで
[5] ヒントのプログラムから最後のprintfのところのxのあたいがよくわからないのでよろしくお願いします。
138: ◆/91kCCQXBo
09/06/28 13:41:47
>>132 >>136のGCDを参考にした。
3個の分数の和は、分数の和+1個の分数の和が題意だと解釈してみた。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
139:デフォルトの名無しさん
09/06/28 14:02:12
>>133 >>136 >>138
ありがとうございました!とても参考になりました。
140:デフォルトの名無しさん
09/06/28 14:15:05
>>87
答えてくださってありがとうございます。しかし、これを実行してみたら、フォネティックコード
化はちゃんとなっているんですけど、入力→フォネティックコード化→入力・・・・とずっと続
いてしまいます。
ポインタとファイルだけは何がどうなっているのかさっぱりわからないので自分で修正する
こともできなくて・・・。修正よろしくおねがいします。
141:デフォルトの名無しさん
09/06/28 14:48:24
>>96
遅くなりましたが、ありがとうございます。
142:デフォルトの名無しさん
09/06/28 15:16:05
>>137
xは微分方程式を解いたときのx(t)の値だと思う
double func(double x, double v, double t) {
return (-x-v*v*v+1+cos(t));
}
に変えるだけでいいんじゃないかな
143:デフォルトの名無しさん
09/06/28 15:23:56
>>140
こうかな?
URLリンク(kansai2channeler.hp.infoseek.co.jp)
144:143
09/06/28 15:30:17
while((moji=getchar())!=EOF){
if(isalpha(moji)){
printf("%s", code[tolower(moji)-'a']);
}else{
if (moji == ']')
break;
putchar(moji);
}
}
前のだと無駄に ] を出力しちゃうのでこっちの方で。
145:デフォルトの名無しさん
09/06/28 16:04:07
>>144
if (moji == '\n') // 改行で終わる(笑!)
break;
146:デフォルトの名無しさん
09/06/28 16:13:13
[1] 授業単元: C言語
[2] 問題文:f(x)=xe^x-6を2分法とニュートン法で解きなさい。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン:Visual Studio 2008
[3.3] 言語: C
「4」期限:6/28
[5] その他の制限: 配列が終わった程度しかやってません
147:デフォルトの名無しさん
09/06/28 17:17:34
>>142
助かりました。
プログラムは一応完成しました。
感謝します。
148:デフォルトの名無しさん
09/06/28 17:41:06
>>146
#include <stdio.h>
#include <math.h>
double f(double x) { return x * exp(x) - 6; }
double fd(double x) { return (1 + x) * exp(x); }
/* 繰り返し回数、初期値は任意 */
int main(void) {
// 二分法
{
int i, n = 10;
double a = 0, b = 5, x;
for (i = 0; i < n; i++) {
x = (a + b) / 2;
if (f(x) < 0 && f(a) < 0) {
a = x;
} else {
b = x;
}
}
printf("%f\n", x);
}
// ニュートン法
{
int i, n = 10;
double x = 0;
for (i = 0; i < n; i++) {
x = x - f(x) / fd(x);
}
printf("%f\n", x);
}
return 0;
}
149:デフォルトの名無しさん
09/06/28 18:00:11
>>148
即レスthxです
参考にさせてもらいます
150:デフォルトの名無しさん
09/06/28 18:05:56
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
@URLリンク(kansai2channeler.hp.infoseek.co.jp)
AURLリンク(www.dotup.org)
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:Visual Studio 2005
[3.3] 言語:C
[4] 期限:7/2
[5] その他の制限:
お手数かけますが宜しくお願いします
151:145
09/06/28 18:09:36
>>140 Ctrl+D をキーボードから入れれば終了する。Windowsなら Ctrl+Z。
152:デフォルトの名無しさん
09/06/28 20:10:58
>>150
課題1
153:デフォルトの名無しさん
09/06/28 20:12:41
URI張り忘れたorz
URLリンク(kansai2channeler.hp.infoseek.co.jp)
154:デフォルトの名無しさん
09/06/28 20:41:45
>>153
有難うございます。
助かりましたm(_ _)m
課題2の方どなたかお願いします。
155:デフォルトの名無しさん
09/06/28 20:58:21
すみません、アセンブラの問題なんですが、どこで質問したらいいのか分らないので
ここでさせて頂きますm(_ _)m
もしアセンブリプログラムの方が無理でしたらC言語の方で構いません。
[1] 授業単元: アセンブリプログラミング
[2] 問題文(含コード&リンク): 1からN(N≦3)までの正整数の順列を作成せよ。すなわち、
N=1を与えた場合には1を、N=2を与えた場合には12,21、N=3を与えた場合には123,132,...を生成する。
[3] 環境
[3.1] OS:Windows
[3.3] 言語: アセンブリ言語、無理でしたらC++
[4] 期限: 7月1日
[5] その他の制限: 特にないです。
ちゃんとした質問になってるかも分かりませんが、すみませんが
よろしくお願いします。
156:デフォルトの名無しさん
09/06/28 21:02:26
>>150
課題2
URLリンク(kansai2channeler.hp.infoseek.co.jp)
157:デフォルトの名無しさん
09/06/28 21:23:33
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Windows Vista
[3.2] コンパイラ名とバージョン: VC 2008
[3.3] 言語: C
[4] 期限: 6月29日 15時
[5] その他の制限: 配列やif文などは使わない。(使わなくてもできるみたいです。
printf,繰り返し処理を使う。
148を参考にやってみたのですが、実行結果の出し方が違うみたいなのでいまいちわからなかったので
質問しました。 お手数ですがよろしくおねがいします。
158:デフォルトの名無しさん
09/06/28 21:32:00
>>156
迅速なレス感謝します
本当に助かりました。
159:デフォルトの名無しさん
09/06/28 22:02:20
>>155
C言語でアセンブラ出力する。
160:デフォルトの名無しさん
09/06/28 22:35:48
どなたか>>126お願いします
161:145
09/06/28 22:44:53
>>087 scanf("%s\n", filename); // \nでは、<Enter>で入力が終わらない。
これか、 scanf("%s%*c", filename);
または、 scanf("%[^\n]%*c", filename);
これか、 fgets(filename, FILENAME_MAX, stdin); filename[strlen(filename) - 1] = '\0';
162:デフォルトの名無しさん
09/06/28 22:50:03
[1] 授業単元:数値計算
[2] 問題文(含コード&リンク):の連立1次方程式の解をガウスの消去法用いて解くプログラムを作成しなさい。
(この行列を使用してください
{{10,-9,0,0,0,0,0,0},
{-9,17,-8,0,0,0,0,0},
{0,-8,17,-9,0,0,0,0},
{0,0-9,13,-4,0,0,0},
{0,0,0,-4,12,-8,0,0},
{0,0,0,0,-8,10,-2,0},
{0,0,0,0,0,-2,2,7}})
[3] 環境
[3.1] OS: Windows Vista
[3.2] Visual Studio 2008
[3.3] 言語: C++
[4] 期限: 2009年7月1日まで]
[5] その他の制限:特にありませんがなるべく簡単なものでお願いします
163:デフォルトの名無しさん
09/06/28 23:05:17
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS Linux
[3.2] コンパイラ名とバージョン:不明
[3.3] 言語:C
[4] 期限:7/3
[5] その他の制限:ポインタ配列を利用すること
お願いします
164:デフォルトの名無しさん
09/06/28 23:05:32
[1] 授業単元:文字列
[2] 問題文(含コード&リンク):
#include<stdio.h>
int chrlen(int n,char a[]);
void cap2sml(char a[],char b[]);
void strinv(int n,char a[],char b[]);
int main(void)
{
char a[100],b[100];
int i,n;
n=0;
/*from CAPITAL to small*/
void cap2sml(char a[],char b[])
{
int i;
for(i=0;a[i]!='\0';i++){
b[i]=a[i]+0x20;
}
if("A"<=a)&&(a<="Z")
b[i]='\0';
}
↑入力データが英大文字のときのみ小文字変換して表示するようにせよ
[3] 環境
[3.1] OS: Windows vista
[3.2] gcc
[3.3] 言語: C
[4] 期限: 2009年6月29日AM07:00
[5] その他の制限: 特になし
165: ◆/91kCCQXBo
09/06/28 23:21:26
>>155 N=3までの順列
#include <iostream>
using namespace std;
int main(void) {
int i,j,k,n;
cout<<"n="; cin>>n;
cout.width(1);
switch(n) {
case 1:
for(i=1;i<=1;i++) {
cout<<i<<endl;
}
break;
case 2:
for(i=1;i<=2;i++) {
for(j=1;j<=2;j++) {
if(i==j) continue;
cout<<i<<j<<endl;
}}
break;
case 3:
for(i=1;i<=3;i++) {
for(j=1;j<=3;j++) {
if(i==j) continue;
for(k=1;k<=3;k++) {
if(i==k || j==k) continue;
cout<<i<<j<<k<<endl;
}}}
default:
break;
}
}
166:デフォルトの名無しさん
09/06/28 23:31:15
>>163
入力はポインタでなくていいのかな。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
167:デフォルトの名無しさん
09/06/28 23:40:54
>>164
もうちょっと何がしたいのか
具体的に書いてくれると嬉しい。
#include <stdio.h>
#include <ctype.h>
void cap2sml(char a[],char b[]){
int i;
for(i=0;a[i];i++) b[i] = tolower(a[i]);
}
int main(void){
char a[100] = "I have a friend whose name is Bob.";
char b[100];
cap2sml(a,b);
puts(a);
puts(b);
return 0;
}
168:デフォルトの名無しさん
09/06/28 23:53:41
>>166
早速の回答ありがとうございます
入力は指定がないのでポインタでなくてもいいです
169:155
09/06/29 00:24:46
>>165
ありがとうございます!
>>159
すみません、それはどういうことでしょう?
170:デフォルトの名無しさん
09/06/29 00:27:46
回答してもらえるとうれしいです。>>162
171:デフォルトの名無しさん
09/06/29 00:42:50
>>170
みんな暇なときにやってんだからさ
そうせかすなよw
締め切りまだ近いわけじゃないしw
172:デフォルトの名無しさん
09/06/29 00:44:38
[1] 授業単元:計算機システム
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 6月30日まで
[5] その他の制限:
ボスケテ
173:デフォルトの名無しさん
09/06/29 01:07:25
>>171
そうですね。つい焦っちゃって。
ごめんなさい。。
174:デフォルトの名無しさん
09/06/29 02:00:36
>>173
昔作ったのでよければあげる。
データ変える程度ならちょっといじれば動くようになるはず。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
175:デフォルトの名無しさん
09/06/29 02:26:03
>>169
gcc と objdump が使えるなら
$ gcc a.c -c
$ objdump -d a.o > a.s
とかすればよかったとおもう
176:デフォルトの名無しさん
09/06/29 02:33:49
gccならgcc -S foo.cで良くないか
わざわざディスアセンブルせんでも
177:デフォルトの名無しさん
09/06/29 02:43:03
>>170
>>174さんのプログラムを使って作ってみたけどコアを吐く
URLリンク(kansai2channeler.hp.infoseek.co.jp)
行列式ゼロなのか、それともピボット選択の必要があるのか
178:デフォルトの名無しさん
09/06/29 03:02:55
>>162 {0,-9
179:デフォルトの名無しさん
09/06/29 03:15:45
>>178
すみませんコピペミスしてました
でも、そこを直してもやっぱりコアダンプです
180:デフォルトの名無しさん
09/06/29 03:18:17
行列が潰れている(行列式がゼロ)なんじゃないでしょうか?
それともやっぱりピボット選択した方がいいのかなあ?
デバッガ掛けてみたらやっぱり tmp がゼロになる時があり
Division by Zero という事でした
181:デフォルトの名無しさん
09/06/29 03:37:11
>>162 #define N 8
182:デフォルトの名無しさん
09/06/29 09:09:12
>>181
あら本当だありがとう
でもこれじゃ未知数8、数式は7しかない
これじゃ解けませんぜ旦那
>>170
どうする?元の行列もう一列足りないよ
183:デフォルトの名無しさん
09/06/29 09:11:56
と思ったら
#define N 7
でOKなのねシクシク
という事で上げ直し
>>170
URLリンク(kansai2channeler.hp.infoseek.co.jp)
学校行ってくる
184:デフォルトの名無しさん
09/06/29 12:39:00
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン: c++6.0
[3.3] 言語:C
[4] 期限:6/29
[5] その他の制限:
よろしくお願いします。
185:デフォルトの名無しさん
09/06/29 12:45:43
>>184
> B入出力例 こうならなければ修正する
これって授業中に「こうならなければ〜になるように修正する」って言われてるとおもうんだけど
「こうならなければ、こうなるようにプログラムを修正する」って話?
186:デフォルトの名無しさん
09/06/29 12:49:58
1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
ヒントから表を並び替えて、
1) 総点順に並び換えよ。
2) 各科目別成績順に並びかえよ。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン: C++
[3.3] 言語:C 言語
[4] 期限:6/29
[5] その他の制限: 並び替えはdo,for,if,whileで習いました。
お手数ですがよろしくお願いします。
187:デフォルトの名無しさん
09/06/29 13:01:28
for(i=0;i<1800;i++)
{
fprintf(fpw,"[09x%4d]",i);
}
のようにやると
[09x@@@0]
[09x@@@1]
[09x@@@2]
…のようになってしまいます(@はスペ−ス)。
[09x0000]
[09x0001]
[09x0003]
…にしたいのですがやり方が分かりません。
教えてください
188:デフォルトの名無しさん
09/06/29 13:02:48
%04d
189:デフォルトの名無しさん
09/06/29 13:32:39
>>186(9584.c) >>113(9568.jpg) 問題 >>131(CODE) 解答
190:デフォルトの名無しさん
09/06/29 14:05:06
>>186
名前さんは全部0点のわけだ。CSVファイル経由なんかだとよくあることだけどね。
191:デフォルトの名無しさん
09/06/29 14:13:04
確実にデータ管理方法がおかしいことによる弊害ですねわかります
192:デフォルトの名無しさん
09/06/29 15:42:04
[1] 授業単元:情報処理
[2] 問題文(含コード&リンク):http:
//kansai2channeler.hp.infoseek.co.jp/cgi- bin/joyful/img/9587.txt
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 明日 06月30日20:00まで
[5] その他の制限: 特にありません。
5問ありますが、5問目は必須ではないのでスルーして下さってもかまいません。
193:192
09/06/29 15:46:26
リンク先の貼り付け失敗しました…
URLリンク(kansai2channeler.hp.infoseek.co.jp) bin/joyful/img/9587.txt
194:46
09/06/29 16:55:11
>>48
レスさんくす。
それでやってみたのですが、2とか4とか2のn乗の数の場合うまくいかないのですが。
195:デフォルトの名無しさん
09/06/29 17:16:57
>>192
とりあえず、1問目だけ。
テキストの整形なんかは、適当に直して。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
2問目以降は、
クイックソート, シェルソート, 挿入ソート, 選択ソート、マージソート
の、ベースになるソースとかない?
自前で書くと、細部の実装が授業の内容と合わなくなりそうだけど。
196:デフォルトの名無しさん
09/06/29 17:17:23
>>189さん
>>131(CODE) 解答の中のseito,returnなど
ならってないものが多くてわかりません。
授業でならったdo,for,if,whileを使っていただけると
とてもありがたいのですが。
197:デフォルトの名無しさん
09/06/29 17:21:55
>>194
while(n < x){ n *= 2; k++;} nが2のk剰「より大きい」
while(n <= x){ n *= 2; k++;} nが2のk剰「以上」
198: ◆/91kCCQXBo
09/06/29 17:53:49
>>186 >>196 教室で習ったソート(並び替え)のCソースをくれると、参考にする、かも。
#include <stdio.h>
#include <stdlib.h>
#define n 9 /* 生徒の数+1 */
#define m 7 /* 科目の数+2 */
int cmp(const int *a, const int *b) {
int t = a[1] - b[1];
return (t==0)?0:(t>0?1:-1);
}
int main()
{
int k;
int index[n][2];
/* ここからは変更無し */ //char namae[n][5]
/* ここまでは変更無し */ //printf("%6.0f\n",goukei[i]); }
for(k=m-2; k>=0; k--) { /* 科目数のループ */
printf("\n%sの点数で並び替え\n", kamoku[k+1]);
if(k == m-2)
for(i=1; i<n; i++) index[i][0] = i, index[i][1] = goukei[i];
else
for(i=1; i<n; i++) index[i][0] = i, index[i][1] = seiseki[i][k];
qsort(&index[1][0], n-1, sizeof(int)*2, (int (*)(const void*, const void*))cmp );
for(i=1; i<n; i++) { /* 生徒数のループ */
printf("%s", namae[index[i][0]]);
for(j=0; j<m-2; j++){ /* 科目数のループ */
printf("%6.0f",seiseki[index[i][0]][j]);
}
printf("%6.0f\n",goukei[index[i][0]]);
}
}
return 0;
}
199:デフォルトの名無しさん
09/06/29 18:02:17
>>186
URLリンク(kansai2channeler.hp.infoseek.co.jp)
できる限り、簡単に書いてみた。
200:デフォルトの名無しさん
09/06/29 18:23:20
>>198さん >>199さん
ありがとうございます。
一応、授業でならった並び換えのCソースをはっときます。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
201:デフォルトの名無しさん
09/06/29 18:38:01
[1] 授業単元:計算機言語T
[2] 問題文(含コード&リンク)
キーボードから自然数nを1個ずつ入力する。入力を終える場合は0以下を入力する。
入力終了後、入力した自然数の内、偶数と奇数がそれぞれ何個であったかを表示するプログラムを作成せよ。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: (提出準備のため[2009年06月30日AM2:45まで] )
[5] その他の制限
習った範囲は
・if文(if else文を含む)
・switch文
・for文(無限ループ含む)
偶数と奇数がそれぞれ何個あったか数える部分のプログラムが???です。
お願いします。
202:デフォルトの名無しさん
09/06/29 19:03:51
>>201
こんなんでどうでしょ
URLリンク(kansai2channeler.hp.infoseek.co.jp)
203:デフォルトの名無しさん
09/06/29 19:10:42
[1] 授業単元:画像処理
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(u9.getuploader.com)
[3] 環境
[3.1] OS:Windows Vista
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限:7月1日まで
[5] その他の制限: 2問あります
204:デフォルトの名無しさん
09/06/29 19:21:00
[1] 授業単元:
コンパイラの構成
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: (Windows/Linux/等々)
Windows
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
gcc
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
7月7日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
よろしくお願いします。
205:デフォルトの名無しさん
09/06/29 19:37:21
>>195 ありがとうございます。
ソースはないですねぇ…
何と言うか、出来れば何でもいいような感じなので特に気にしなくて良いかと思います。
206:184
09/06/29 19:42:50
>>185そういうことです。ヒントのプ口グラムをから作る感じです。よろしくお願いします
207:デフォルトの名無しさん
09/06/29 19:46:38
シェルと挿入は前スレ807の使えば?
208: ◆YtFiiqjbeo
09/06/29 19:49:27
【質問テンプレ】
[1] 授業単元:プログラミング言語c
[2] 問題文(含コード&リンク):
URLリンク(www.dotup.org)
[3] 環境
[3.1] OS:Windows
[3.2] vc++
[3.3] 言語: C
[4] 期限: 06月29日23:59時まで
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
名前と偏差値(最大10科目まで対応可)が書かれたファイル(最大5000人対応可)を読み込み、
各人の名前、学籍番号、平均偏差値などを出力ファイルに書き込むとともに、
平均偏差値上位5名を抽出してDOS窓表示するプログラムを作りなさい。
1、入力と出力のはおよび科目数はキーボード入力
2、ファイルからの読み込みは一度のみ、名前は二次元文字配列、偏差値は二次元数値配列に読み込むこと
実行例URLリンク(www.dotup.org)
お願いします
209:201
09/06/29 19:56:02
>>202
有難う御座います。
ズバリですね。
210:デフォルトの名無しさん
09/06/29 22:25:23
[1] 授業単元:基礎プログラミング
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Windows Vista
[3.2] Visual Studio 2008
[3.3] 言語: C++
[4] 期限:7月2日まで
[5] その他の制限:できるだけ元のソースを弄らずにお願いします。
211:デフォルトの名無しさん
09/06/29 22:34:52
次の条件判断文を使うケースをフローチャートにせよ
変数aの値がbより小さい場合には、『aはbより小さいです』と表示させ、大きい場合には"a=a+b"を計算させる
文字変数mの中身が'a'ならば、『aが格納されています』と表示させて、'a'でないならば『'a'でない文字が格納されています』と表示させたあと、変数bとcを使った『b=b+c』を計算する。
変数aが、変数bより小さい場合には、『aはbより小さいです』と表示し、変数bより大きい場合には、『aはbより大きいです』と表示し、変数bと等しい場合には、『aとbは等しいです』と表示する
#include<iosteam>
using namespace std;
int main{
return 0;
}
は多分いいと思いますが
212:デフォルトの名無しさん
09/06/29 22:35:17
>>210
goukei += kata[i]; → goukei += ninzuu[i];
213:デフォルトの名無しさん
09/06/29 22:47:57
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク)
アルゴリズムの異なる2つのプログラムを作成し、処理時間の違いを比較せよ。
できるだけ処理時間の違いが顕著なもの。
例:マージソートとバブルソート
[3] 環境
[3.1] OS:Windows
[3.2] Visualstudio2008
[3.3] 言語:C++
[4] 期限:2009年7/7
[5] その他の制限:
214: ◆/91kCCQXBo
09/06/29 23:20:13
>>186 >>200 成績一覧(バブルソート)
#include <stdio.h>
#define n 9 /* 生徒の数+1 */
#define m 7 /* 科目の数+2 */
int main()
{
int k, S;
int index[n][2];
/* ここからは変更無し */ //char namae[n][5]
/* ここまでは変更無し */ //printf("%6.0f\n",goukei[i]); }
for(k=m-2; k>=0; k--) { /* 科目数のループ */
printf("\n%sの点数で並び替え\n", kamoku[k+1]);
if(k == m-2) for(i=1; i<n; i++) index[i][0] = i, index[i][1] = goukei[i];
else for(i=1; i<n; i++) index[i][0] = i, index[i][1] = seiseki[i][k];
/* 作業用の配列を並び替える(バブルソート) */
for(i=1;i<n-1;++i)
for(j=2;j<n+1-i;++j)
if(index[j-1][1] < index[j][1]){
S = index[j][1], index[j][1] = index[j-1][1], index[j-1][1] = S;
S = index[j][0], index[j][0] = index[j-1][0], index[j-1][0] = S;
}
for(i=1; i<n; i++) { /* 生徒数のループ */
printf("%s", namae[index[i][0]]);
for(j=0; j<m-2; j++){ /* 科目数のループ */
printf("%6.0f",seiseki[index[i][0]][j]);
}
printf("%6.0f\n",goukei[index[i][0]]);
}
}
return 0;
}
215:デフォルトの名無しさん
09/06/29 23:35:04
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Linux
[3.2] gcc 3.4
[3.3] 言語:C
[4] 期限:2009年6月30日正午まで
[5] その他の制限: なし
216:デフォルトの名無しさん
09/06/29 23:40:08
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
URLリンク(www.dotup.org)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語:C
[4] 期限: 6月30日23:59
[5] その他の制限: 特になし
よろしくお願いします
217:デフォルトの名無しさん
09/06/29 23:45:45
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
URLリンク(www.dotup.org)
[3] 環境
[3.1] OS:linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:6/30
[5] その他の制限: なし
218:デフォルトの名無しさん
09/06/30 00:02:18
[1] 授業単元:プログラミングT
[2] 問題文(含コード&リンク):入力した数字(最大8行)を,
「*」を用いて花文字で表示するプログラムを作成しなさい.
なお,花文字の形状は各自自由に考えてください(可読できれば問題ありません).
例:数字を入力してください:56
**** *****
* *
**** *****
* * *
**** *****
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 7月3日
[5] その他の制限:柴田望洋 明解C言語入門編4章まで
お願いします
219:211
09/06/30 00:16:01
if(a < b)
{
__cout("aはbより小さいです\n");
}
else
{
__a = a + b;
}
if(m == 'a')
__cout("aが格納されています\n");
}
else
{
__printf("\'a\'でない文字が格納されています\n");
}
if(a < b)
{
__cout("aはbより小さいです\n");
}
else if(a == b)
{
__cout("aとbは等しいです\n");
}
else
{
__cout("aはbより大きいです\n");
}
じゃあこれをフロートチャートにしてくれませんか?誰でもいいので。
220:デフォルトの名無しさん
09/06/30 00:40:35
>>219
フローチャートを書くためのツールをください
221:デフォルトの名無しさん
09/06/30 00:56:03
>>203
ライブラリうp記念にやってみた
問1 URLリンク(kansai2channeler.hp.infoseek.co.jp)
問2 URLリンク(kansai2channeler.hp.infoseek.co.jp)
222:デフォルトの名無しさん
09/06/30 00:56:04
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: ?
[3.3] 言語: C言語
[4] 期限: 7月2日9時
[5] その他の制限: ポインタと配列まで習いました
223:デフォルトの名無しさん
09/06/30 01:02:23
>>218
こんなんでどうでしょ。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4980日前に更新/375 KB
担当:undef