08/01/18 12:42:14
[1] 授業単元:プログラミング
[2] 問題文:文字列を逆順にコピーする関数xcopyをポインタを用いて作り、確認のためのプログラムを作りなさい。ただし、xcopy(char*to,char*from)とします。なお、対象とするデータは通常の英数字とします。
[3] 環境
[3.1] OS: (Windows VISTA)
[3.2] コンパイラ名とバージョン: (borland)
[3.3] 言語: (C)
[4] 期限: 1月18日
[5] その他の制限:
前102代目に書き込んだんですが見れなくなってしまったのでもう一度お願いします。
204:デフォルトの名無しさん
08/01/18 12:50:39
>>203
昔のスレからの拾い物
700 名前:デフォルトの名無しさん[sage] 投稿日:2007/12/06(木) 20:47:06
[1] 授業単元:C言語
[2] 問題文
要素数がnoであるint型の配列v2の並びを逆順にしたものを配列v1に格納する関数、
void intary_rcpy(int v1[],const int v2[],int no) {/…/}
を作成せよ
[3] 環境
[3.1] OS:Windows XP
[3.2] VS2005
[3.3] 言語:C++
[4] 期限: 12月7日(金)の午前中まで
よろしくお願いします
702 名前:デフォルトの名無しさん[sage] 投稿日:2007/12/06(木) 21:00:46
>>700
#include <algorithm>
void intary_rcpy(int v1[],const int v2[],int no){std::reverse_copy(v2, v2+no, v1);}
205: ◆vLIz8KOkPM
08/01/18 12:54:05
[1] プログラミンぐ演習
[2] URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3.1] Linux
[3.2] gcc
[3.3] C言語
[4] 今日15時まで
エラーの内容がわかりません…どなたか修正してください…
206:デフォルトの名無しさん
08/01/18 12:56:36
>>203
void xcopy(char *to, char *from)
{
char *p = from;
while(*p) p++;
while(p--!=from) *to++ = *p;
*to = '\0';
}
207:デフォルトの名無しさん
08/01/18 13:54:06
>>205
とりあえず その30行目を穴が開くまで読み返せ
new[ length ] = ’\0’;
single quotationが全角だ
208:デフォルトの名無しさん
08/01/18 14:32:38
[1] 授業単元: プログラミング基礎
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限: [2008年01月18日23:59まで](本日中)
[5] その他の制限:
B_1は自力でいけましたが2に手が出ません;
209:デフォルトの名無しさん
08/01/18 16:20:22
>>208 B_2
#include <stdio.h>
#define N 20
void place_queen(int *x, int n, int k)
{
int i, j;
if(k == n){
for(i = 0; i < n; i++)
printf("%d ", x[i]);
putchar('\n');
return;
}
for(i = 0; i < n; i++){
for(j = 0; j < k; j++)
if(i == x[j] || k - j == i - x[j] || k - j == x[j] - i)
break;
if(j == k){
x[k] = i;
place_queen(x, n, k + 1);
}
}
}
int main(void)
{
int n, x[N];
printf("Input n : ");
scanf("%d", &n);
place_queen(x, n, 0);
return 0;
}
210:デフォルトの名無しさん
08/01/18 16:43:55
>>208
URLリンク(kansai2channeler.hp.infoseek.co.jp)
211:デフォルトの名無しさん
08/01/18 18:13:00
>>208
URLリンク(kansai2channeler.hp.infoseek.co.jp)
212:211
08/01/18 18:20:51
>>208
URLリンク(kansai2channeler.hp.infoseek.co.jp)
ごめん、こっちで。
213:208
08/01/18 21:00:56
みなさんありがとうございます><;
参考にさせていただきました。非常に助かります
申し訳ないのですが、
もしよろしかったらこちらの方もお願いできませんか?
URLリンク(kansai2channeler.hp.infoseek.co.jp)
214:デフォルトの名無しさん
08/01/18 22:01:12
[1] 授業単元: プログラミング中級
[2] 問題文(含コード&リンク):random1.txt、random2.txtという名前の2つのファイルを
作成し、それぞれに0~100の範囲の乱数(整数)を20個ずつ書き込みなさい。
これら2つのファイルの内容を1行ずつ比較し、大きいほうの数をmax.txtに
書き込みなさい。
[3] 環境
[3.1] OS:XP
[3.2] コンパイラ名とバージョン: わかりません。
[3.3] 言語: C++
[4] 期限:無期限ですが、なるべく早く知りたいです。
215:214
08/01/18 22:02:59
途中まではやってみました・・
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
FILE *fout, *fout2, *fout3, *fin, *fin2;
int buf,buf2;
char filename2[]="random1.txt";
char filename3[]="random2.txt";
char filename4[]="max.txt";
int i;
printf("ファイルrandom1.txtを作成しました。\n");
printf("ファイルrandom2.txtを作成しました。\n");
printf("ファイルmax.txtを作成しました。\n");
216:デフォルトの名無しさん
08/01/18 22:03:22
>>213
良さそうな教授だなーとちょっと羨ましく思った。そんな俺は非情報学部。
217:214
08/01/18 22:03:42
続きです
fout=fopen(filename2,"w");
srand(time(NULL));
for(i=0;i<20;i++){
buf=rand()%101;
fprintf(fout,"%d\n",buf);
}
fout2=fopen(filename3,"w");
for(i=0;i<20;i++){
buf2=rand()%101;
fprintf(fout2,"%d\n",buf2);
}
fin = fopen(filename2, "r");
if(fin == NULL){
printf("%dをオープンできません\n", filename2);
exit(1);
}
218:デフォルトの名無しさん
08/01/18 22:07:50
[1] 授業単元:CプログラミングⅠ
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:分かりません
[3.3] 言語:C++
[4] 期限:2008年1月19日 09:00
[5] その他の制限:特にありません
よろしくお願いします!
219:214
08/01/18 22:08:01
fin2 = fopen(filename3, "r");
if(fin2 == NULL){
printf("%dをオープンできません\n", filename3);
exit(1);
}
fout3=fopen(filename4,"w");
while(1){
if (fscanf(fin,"%d",buf)==EOF) break;
if (fscanf(fin2,"%d",buf2)==EOF) break;
if(buf>buf2){
fprintf(fout3,"%d\n",buf);
}
else fprintf(fout3,"%d\n",buf2);
}
fclose(fout);
fclose(fout2);
fclose(fin);
fclose(fin2);
fclose(fout3);
return 0;
}
220:デフォルトの名無しさん
08/01/18 22:16:02
>>214 すこしせこいがこれじゃだめかね
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void) {
FILE *fran1, *fran2, *fmax;
char filename1[] = "random1.txt";
char filename2[] = "random2.txt";
char filename3[] = "max.txt";
int i, buf1, buf2;
if ((fran1 = fopen(filename1, "w")) == NULL ||
(fran2 = fopen(filename2, "w")) == NULL ||
(fmax = fopen(filename3, "w")) ==NULL) {
printf("ファイルが作れません\n");
return -1;
}
printf("ファイルrandom1.txtを作成しました。\n");
printf("ファイルrandom2.txtを作成しました。\n");
printf("ファイルmax.txtを作成しました。\n");
srand(time(NULL));
for (i = 0; i < 20; ++i) {
buf1 = rand()%101;
buf2 = rand()%101;
fprintf(fran1, "%d\n", buf1);
fprintf(fran2, "%d\n", buf2);
fprintf(fmax, "%d\n", (buf1 >= buf2) ? buf1 : buf2);
}
fclose(fran1);
fclose(fran2);
fclose(fmax);
return 0;
}
221:デフォルトの名無しさん
08/01/18 22:30:26
れいぷれいぷ
222:デフォルトの名無しさん
08/01/18 22:35:46
長くなるんならアップロードしろ
223:デフォルトの名無しさん
08/01/18 22:36:53
すいません
丸投げじゃないんですが、
どこで聞いてもわからないのでわかるかたいたらおねがいします・・
”数値を文字列として入力して、一桁ずつを配列にいれて和・差・積を出す”
って問題で、ここでプログラム作ってもらったんですがわかんないとこがあって、、
↓これ、積の計算らしいんですけどどういう意味ですか(∵)?
int i, j, carry;
// 最大100桁になるので2N桁を0に初期化
for( i = 0 ; i < 2 * Max_Length ; i++ ) a[i] = 0;
for( i = 0 ; i < Max_Length ; i++ ) {
carry = 0;
for( j = 0 ; j < Max_Length ; j++ ) {
a[i+j] += b[i] * c[j] + carry;
carry = a[i+j] / 10;
a[i+j] -= carry * 10;
詳しく説明できるかたいたらお願いします、、
224:デフォルトの名無しさん
08/01/18 22:37:47
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:VisualStudio2005
[3.3] 言語: C 言語
[4] 期限:1月22日
[5] その他の制限:
225:214
08/01/18 22:43:53
>>220さん
ありがとうございます。
ただ、
fprintf(fmax, "%d\n", (buf1 >= buf2) ? buf1 : buf2);
がよくわかりません。。
?や:の使い方習っていなんです。
bufとbuf2を比較して表示するところがどうしてもできません。
226:220
08/01/18 22:47:35
if (buf1 >= buf2) {
fprintf(fmax, "%d\n", buf1);
} else {
fprintf(fmax, "%d\n", buf2);
}
こういうこと。使い方は三項演算子でぐぐれ。
227:デフォルトの名無しさん
08/01/18 22:47:48
>>225
if (buf1 >= buf2)
fprintf(fmax, "%d\n", buf1);
else
fprintf(fmax, "%d\n", buf2);
228:デフォルトの名無しさん
08/01/18 23:05:12
>>223
情報を小出しにしない方がいい(・3・)YO
筆算と同じ手順と考えたらいい
229:デフォルトの名無しさん
08/01/18 23:43:09
[1] C言語入門
[2] 文字列の入れ替え
[3] 環境
[3.1] Windows XP
[3.2] bcc55
[3.3] C言語
[4] 1週間後
[5] 最初と最後の文字を入れ替える
動作例
文字を入力しる:12345
52341
お願いします。
230:デフォルトの名無しさん
08/01/19 00:04:48
【時間切れ】 (1/18)
>142 >202 >213 ?
【未解決問題】
>>218 1/19 9:00
>>86 1/22
>>195 1/22
>>224 1/22
>>229 1/25
スレリンク(tech板:229番) 1/31
>>79 無期限
>>144 無期限 問題文>>148
231:デフォルトの名無しさん
08/01/19 00:05:09
[1] 授業単元:プログラミング
[2] 問題文:
グレゴリウス暦の定義を利用して入力された日は何曜日か計算しなさい
西暦1年1月1日は月曜日とする
1年は通常365日ですが閏年は366日
4で割り切れる年は閏年
100で割り切れる年は閏年ではない
400で割り切れる年は閏年
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:VisualStudio2005
[3.3] 言語: C
[4] 期限:1月21日
[5] その他の制限:
変数名、関数名の命名規約を作成
goto文は使用しない
開発途中でのreturn プログラム途中でのexitはしない事
よろしくお願いします。
232:デフォルトの名無しさん
08/01/19 00:05:10
142ですが、課題のほうは一応どうにかなったので報告。
取り組んでいただいた方、ありがとうございました。
233:デフォルトの名無しさん
08/01/19 00:09:09
>>218
/* 適切なプリプロセッサ */
#define NAMEMAX 10
#define BIRTHMAX 8
#define N 10
/* Record型構造体の定義 */
typedef struct recoord {
char personal[NAMEMAX], birth[BIRTHMAX];
double height, weight;
}Record;
/* outputData関数の定義 */
void outputData(int n, Record *r)
{
printf("%d人目の出力\n", n);
printf("名前は\t\t%s\n", r[n].personal);
printf("生年月日は\t%*s\n", BIRTHMAX, r[n].birth);
printf("身長は\t\t%4.1lf\n", r[n].height);
printf("体重は\t\t%3.1lf\n", r[n].weight);
}
/* calcBMI関数の定義 */
void calcBMI(int n, Record *r)
{
printf("%d人目のBMIは\t%4.2lf\n", n+1, r[n].weight/pow(r[n].height/100, 2.0));
}
234:デフォルトの名無しさん
08/01/19 00:13:14
>>231
#include<stdio.h>
int weekday(int y,int m,int d){
if(m<3)y--,m+=12;
return (y+y/4-y/100+y/400+(m*13+8)/5+d)%7;
}
int main(void){
int y,m,d;
printf("年 = ");scanf("%d",&y);
printf("月 = ");scanf("%d",&m);
printf("日 = ");scanf("%d",&d);
printf("日 月 火 水 木 金 土\n%*s↑\n",weekday(y,m,d)*3,"");
return 0 ;
}
235:デフォルトの名無しさん
08/01/19 00:17:22
>>234
問題文見る限りツェラーの公式は使えん希ガス
236:デフォルトの名無しさん
08/01/19 00:23:22
>>235
>変数名、関数名の命名規約を作成
って書いてあるくらいだからいいんじゃない?
237:デフォルトの名無しさん
08/01/19 00:25:28
[1] 授業単元:C入門
[2] 問題文 英文の文字列を入力した場合,文字数・単語数・文章数を求めるプログラムを作成せよ。
英文中の特殊文字は(,(カンマ).(ピリオド)!(イクスクラメーション)?(クエスチョンマーク))のみとする。単語の間には1つ以上(2つ以上でも可)のスペースが入れるものとする。
文章の最後には必ず .(ピリオド)!?のどれかが単独で使われる。,(カンマ)や.(ピリオド)!?の後にスペースが入る可能性があるが前にはスペースは入らないものとする。
省略につかう .(カンマ)は今回はないものとする。
入力に関して
キーボードから,文字列を一行で入力
出力に関して
文字数・単語数・文章数をそれぞれスペース1つあけて1行で出力(+改行)[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:Study C
[3.3] 言語:C
[4] 期限:1月22日14:00
[5] その他の制限:一年なのでそこまで難しいのはつかわずにお願いします。
238:デフォルトの名無しさん
08/01/19 00:28:32
[1] C言語
[2] 500パターン(test000~test499)のファイルを用いてそれらのハッシュ値を求めるプログラム。
(ファイルを読み込む際、手動で500パターン打ち込むのは大変なので
そこもプログラムで自動的に次々とファイルを読み込むようにしていただけたら嬉しいです)
[3]
[3.1]Mac OS X
[3.2]よくわかりません
[3.3]C
[4]1/19(土)
[5]特になし
よろしくお願いします。
239:デフォルトの名無しさん
08/01/19 00:29:35
>>236
>西暦1年1月1日は月曜日とする
ってのが生きてこなくなるんじゃね?
まあどうでもいいかもしれんが
240:デフォルトの名無しさん
08/01/19 00:31:45
>>229
#include<stdio.h>
int main(void){
char buf[0x100];
int i;
printf("文字を入力しる:");
fgets(buf,sizeof(buf),stdin);
for(i=0; buf[i]; ++i)if(buf[i]=='\n')break;
putchar(buf[i-1]);
buf[i-1] = '\0';
printf("%s",buf+1);
putchar(buf[0]);
return 0;
}
表示上では入れ替えてると思う
241:デフォルトの名無しさん
08/01/19 00:38:23
>>195
URLリンク(kansai2channeler.hp.infoseek.co.jp)
データはこんな感じで
静止画の圧縮技術と最も関係深いものはどれ?
[1] ITU-T H.261,[2] JPEG,[3] MIDI,[4] MPEG
2
10
131-45=53が成り立つのは何進法のときか?
[1] 3, [2] 7, [3] 11, [4] 13
2
10
242:デフォルトの名無しさん
08/01/19 00:46:55
>>239
それを生かすソース頼む
243:デフォルトの名無しさん
08/01/19 00:47:20
>>240
ありがとうございます。
ただ、課題の紙にヒントみたいのがあって
char a ='X' ;
char b ='Y' ;
char c ;
c = a
a = b
b = c
って代入していく方法があるよって書かれてました。
今見つけたので前のレスで書けなくてすいませんでした。
でも教えてくれたものも正しく動くので、これでいこうと思います。
もし、お暇でしたら代入するヒントを活用したものも考えてもらえると嬉しいです。
244:デフォルトの名無しさん
08/01/19 00:53:38
>>243
#include <stdio.h>
int main () {
char in[1024], c;
int i;
scanf("%s", in);
for (i = 0; i < sizeof(in) && in[i] != '\0'; ++i);
c = in[0];
in[0] = in[i-1];
in[i-1] = c;
printf("%s\n", in);
return 0;
}
245:デフォルトの名無しさん
08/01/19 00:53:51
>>237
こんなんで良いか?
#include <stdio.h>
#define MAX 1024
int main()
{
int c,i=0,j;
char ary[MAX] = {'\0'};
while((c = getchar())!='\n' && i < MAX){
if(c != '.' && c != ','&& c != '!'&& c != '?')
ary[i] = c;
i++;
}
for(j = 0; j < i;j++){
if(ary[j] != ' ')
putchar(ary[j]);
else if(ary[j] == ' ')
putchar('\n');
}
return 0;
}
246:デフォルトの名無しさん
08/01/19 00:59:26
>>242
ソースじゃないけど、俺が考えたのは入力した年月日と1年1月1日
との日数の差を出してから7で割って割り切れたら月曜、1余ったら火曜、、、
ってやるのかなー?と
247:デフォルトの名無しさん
08/01/19 01:01:16
>>243
putchar(buf[i-1]);
buf[i-1] = '\0';
printf("%s",buf+1);
putchar(buf[0]);
を削除して、char c;を追加
c = buf[i-1];
buf[i-1] = buf[0];
buf[0] = c;
printf("%s",buf);
248:231
08/01/19 01:11:54
>>234
ありがとうございます
結構早くできてて驚きました
>>235
そうなんですか?3日前から勉強しだしたんでよくわかりません
ツェラーの公式以外だとどんな感じになるんでしょうか?
249:デフォルトの名無しさん
08/01/19 01:22:04
>>245 つくっていただいてありがとうございます。
英文の文字列を入力した場合,文字数・単語数・文章数を表示する部分お願いします
250:デフォルトの名無しさん
08/01/19 01:34:38
>>248
ゴリ押しでやるとこんな感じ。
#include <stdio.h>
int main () {
int y, m, d, sum = 0;
int m_array[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
char *week[7] = {"日", "月", "火", "水", "木", "金", "土"};
printf("input (e.g. ****/**/**)\n>>");
scanf("%d/%d/%d", &y, &m, &d);
if (m > 2 && y % 4 == 0 && (y % 100 != 0 || y % 400 == 0)) {
++sum;
}
for (m -= 2; m >= 0; --m) {
sum += m_array[m];
}
--y;
sum = sum + y * 365 + y / 4 - y / 100 + y / 400 + d;
printf("%s曜日", week[sum%7]);
return 0;
}
251:231
08/01/19 01:58:56
>>250
あ、多分それだと思います
こんな時間につくってもらってホントありがとうございます
252:デフォルトの名無しさん
08/01/19 02:04:54
>>237
なんか作っててめんどくさくなった
#include <stdio.h>
#define MAX 1024
int main()
{
int c,i=0,j,k,word=0,letter=0,wnum=0;
char ary[MAX] = {'\0'};
while((c = getchar())!='\n' && i < MAX){
if(c == '.' || c == '!'|| c == '?')
letter++;
if(c != '.' && c != ','&& c != '!'&& c != '?')
ary[i] = c;
if(c ==' ' && i>0 ){
k = i -1;
if(c ==' ' || ary[k] == '!'|| ary[k] == '?')
word++;
} i++; }
for(j = 0; j < i;j++){
if(ary[j] != ' '){
putchar(ary[j]);
wnum++;
}
else if(ary[j] == ' ')
putchar('\n');
}
printf("\n文字数=%d 単語数=%d 文章数=%d \n",wnum,++word,letter);
return 0;
}
253:デフォルトの名無しさん
08/01/19 04:17:00
>>161
当方で確認した環境は WindowsXP, 処理系は cygwin(gcc 3.4.4) です。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
fgets(), realloc(), strcat() を使いました。
254:211
08/01/19 08:02:26
>>213
出勤前のお遊び。
追加するのはいいけど、ちゃんとテンプレで。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
255:デフォルトの名無しさん
08/01/19 08:08:43
>>233
解決しました,ありがとうございます!
256:デフォルトの名無しさん
08/01/19 09:32:16
>>224
URLリンク(kansai2channeler.hp.infoseek.co.jp)
データの形式が解らなかったので一行に1つとしてある。
ファイル名はコマンドラインから与える形にした。
あと、stdlib.hをインクルードし忘れてたので追加して。
257:デフォルトの名無しさん
08/01/19 11:11:17
【質問テンプレ】
[1] 授業単元: 基礎プログラミング
[2] 問題文(含コード&リンク):
入力された値nに対して、f(1)=f(2)=1、f(n)=f(n-1)+f(n-2)となるフィボナッチ数f(n)を表示するプログラミングを再帰を用いて作成せよ。
そのとき、関数fが呼ばれた回数をカウントして表示せよ。n=3,4,…,10のときにそれぞれ関数fが何回呼ばれたか調べよ。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:C
[4] 期限: できれば1月20日まで
[5] その他の制限:特にないと思われるけど。とりあえず再帰関数・構造体のところなので。
よろしくお願いします。
258:デフォルトの名無しさん
08/01/19 11:34:03
>>256
ありがとうございます。
ファイルはこれです。URLリンク(kansai2channeler.hp.infoseek.co.jp)
259:デフォルトの名無しさん
08/01/19 11:43:10
画像のピクセル間ごとの輝度を取得して、配列に格納するようなプログラム教えていただけませんか?
例えば100*100の画像なら、x[0][0]に座標0,0の輝度が格納されていくようなものです。
260:デフォルトの名無しさん
08/01/19 11:44:34
>>259
マルチ。
261:デフォルトの名無しさん
08/01/19 11:52:57
>>257
#include <stdio.h>
int call_count = 0;
int f(int n)
{
call_count++;
if(n == 1 || n == 2)
return 1;
else
return f(n - 1) + f(n - 2);
}
int main()
{
int n;
for(n = 3 ; n <= 10 ; ++n){
call_count = 0;
printf("f(%d) = %d\t(call count: %d)\n", n, f(n), call_count);
}
return 0;
}
262:デフォルトの名無しさん
08/01/19 12:22:02
【質問テンプレ】
[1] 授業単元: 置き換え方ステガノグラフィ
[2] 問題文(含コード&リンク):
100*100のbmp画像を4つの50*50のブロックにわけ
各ブロックの輝度を計算し、左上からABCDとする。
(a)A>Bのとき0 B>Aのとき1とし
(b)C>Dのときは0 D>Cのときは1とする
仮に(a)=1,(b)=0という出力が得たとし
ここで入力値(a')=0,(b')=1とするとき
ブロック毎の輝度を調節し、画像を出力しなさい。
また再度計算させ出力が(a)=0,(b)=1として得られること
ここでの輝度計算は、(r*0.299)+(b*0.587)+(g*0.114)を使いなさい
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:Visual C++ 2005
[3.3] 言語: C++
[4] 期限:1月21日
[5] その他の制限:無制限
263:デフォルトの名無しさん
08/01/19 13:10:33
>>262
bmpの読み込みってMFCのCImageとか使って書くの?
264:デフォルトの名無しさん
08/01/19 13:27:59
>>263
使っても平気です。
265:デフォルトの名無しさん
08/01/19 13:50:23
[1] 授業単元:プログラミング入門
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C言語
[4] 期限: 今日中
266:デフォルトの名無しさん
08/01/19 14:16:14
>>265
>>254
267:265
08/01/19 14:17:59
>>266
見落としてました;
ありがとうございます
268:デフォルトの名無しさん
08/01/19 16:22:21
[1] 授業単元:プログラミング初級
[2] 問題文(含コード&リンク):名前(char)、身長(double)、体重(double)、視力(視力構造体)これらのデータをメンバとする構造体を定義し、入力された表示を行うプログラムを作成してください。
入力件数は、最大5件で、名前は19文字までの入力とし、範囲外だったならばエラーメッセージ(Sorry. Input less than 20 characters.)を表示し再入力して下さい。名前に"END"が入力されたときは入力終了とします表示は身長で昇順にソートして出力して下さい
また身長、体重は、小数点第以下一位までの表示とします。視力は、小数点以下第三位までの表示とします
出力の幅は、名前が19文字文、その他は5文字分で指定してください
視力は右(double)、左(double)をメンバとする構造体で扱って下さい
1件分の入力はibput_data()で、表示はdisplay_data()で、ソートはsort_data()でと処理を関数に分けて行ってくださ
名前入力の最初に"END"が入力された場合は、その旨のメッセージ(Input data is nothing!)
を出力してください
[3] 環境
[3.1] OS : windows
[3.2] コンパイラ名とバージョン: Visual C++ 2005
[3.3] 言語: C言語
[4] 期限:1月21日
269:デフォルトの名無しさん
08/01/19 20:29:14
宿題じゃないと駄目?
270:デフォルトの名無しさん
08/01/19 20:44:36
>>262
こんなんでいい?
URLリンク(kansai2channeler.hp.infoseek.co.jp)
271:デフォルトの名無しさん
08/01/19 20:46:49
>>269
速攻で答えてやんよ
∧_∧
( ・ω・)=つ≡つ
(っ ≡つ=つ
/ ) ババババ
( / ̄∪
272: ◆8QYSceiIsU
08/01/19 21:04:42
1] 授業単元:プログラミング
[2] 問題文(含コード&リンク)
適当な数字を与えてその数だけ「<」を使いそれに対応する「>」の例を全て表示するプログラムを作れ
例
2を与えた場合
<<>>
<><>
3を与えた場合
<<<>>>
<<>><>
<<><>>
<><><>
と表示する
[3] 環境
[3.1] OS:XP
[3.2] コンパイラ名とバージョン:cygwin
[3.3] 言語:C
[4] 期限:2008/01/20(日)
お手数ですが、よろしくおねがいします
273:shogo
08/01/19 21:11:56
【質問テンプレ】
1 西暦1868年から2007年までの年号を入力して和暦に変更して出力するプログ
ラムを作りなさい。(10点)
例 入力 1868 出力 明治元年
2007 平成19年
2 整数配列が–32768から32767の範囲の数しか扱えないとしたとき、10桁の整数同士
の足し算を行うプログラムを作りなさい。(10点)
3 3桁の整数の値を入力していき、-9999が入力されたところで、それまでに入力
された数の個数と合計を整数で、平均を浮動小数点数で出力するプログラムを作りなさ
い。(10点)
4 3つの文字列”Happy”と“New”と“Year”をつないで1つの文字列として出力する
プログラムを作りなさい。(10点)
5 学籍番号、氏名、出席からなる10人分のデータがある。出席の悪いものから並び替
えて表示するプログラムを作りなさい。(10点)
例
BA180002 山田太郎 70
BA170001 石田次郎 60
データは、適当なものを各自用意して入力すること。
274:デフォルトの名無しさん
08/01/19 21:19:39
>>272
3を与えた時、<><<>>は含まないの?
275: ◆8QYSceiIsU
08/01/19 21:23:05
>>274
<><<>>は含みません!
276:デフォルトの名無しさん
08/01/19 21:25:58
>>275
理由は? 272の条件文からじゃ含むように思うんだけど。
277:デフォルトの名無しさん
08/01/19 21:31:10
反転すりゃ同じになるものは省きたいんじゃないかな?
278:269
08/01/19 21:34:12
>>271
よろしくお願いしまーす。
[1] 授業単元:なし
[2] 問題文(含コード&リンク):
(URLリンク(kansai2channeler.hp.infoseek.co.jp))
[3] 環境
[3.1] OS: (WindowsXPsp2)
[3.2] コンパイラ名とバージョン: (BCC55-BCC Developer1.2.21)
[3.3] 言語: (どちらでも可)
[4] 期限: ([無期限]だけど早ければうれしい )
279: ◆8QYSceiIsU
08/01/19 21:34:51
>>276
すみません、<<>><>と<><<>>は括弧の計算としては同じだからだと思っていましたが、そのような指定はありませんでしたorz
とりあえず
<>><<>や><<>><とかはダメだそうです
280: ◆8QYSceiIsU
08/01/19 21:37:22
>>276さん
たびたびすいません、今確認したところ>>277さんの言うとおりでしたorz
281:269
08/01/19 21:37:22
sorry!!URL修正です
URLリンク(kansai2channeler.hp.infoseek.co.jp)
282:デフォルトの名無しさん
08/01/19 21:38:01
>>279
それがダメなのは言われなくても分かるってw
283:257
08/01/19 21:48:13
>>261
ありがとうございます
284:デフォルトの名無しさん
08/01/20 00:07:49
【時間切れ】 (1/19)
>238
【未解決問題】
>>272 1/20
>>268 1/21
>>86 1/22
>>195 1/22
スレリンク(tech板:229番) 1/31
>79 無期限
>144 無期限 問題文>>148
>278 無期限
>273 ??
285:デフォルトの名無しさん
08/01/20 00:34:34
>>272
再帰で簡単に書けるかと思ったらすごいことになってしまったorz
URLリンク(kansai2channeler.hp.infoseek.co.jp)
もっと簡単に書けるもんかね?
286:デフォルトの名無しさん
08/01/20 00:40:31
>>285
ワラタ
287:デフォルトの名無しさん
08/01/20 01:17:06
>>285
対象排除してなくないか?
288:デフォルトの名無しさん
08/01/20 01:30:36
>>238どなたかできませんか?
よろしくお願いします。
289:デフォルトの名無しさん
08/01/20 01:32:47
ファイルの書式も書かずに催促とな
290:285
08/01/20 01:32:51
うは、結局対称だめってことだったのね。。。
もう力尽きたお。てか、意外と難しくない?
291:デフォルトの名無しさん
08/01/20 01:33:08
>>288
もう期限過ぎてるからいいじゃん別に
292:デフォルトの名無しさん
08/01/20 01:35:25
>>290
入れ子がややこしいな
俺がアホなだけかも試練が
293:デフォルトの名無しさん
08/01/20 01:41:20
<<><<>>><>
<<<>><>><>
例えばこういうのも別の要素として扱われるのかね。
そうだとしたら面倒くさいな。
294:デフォルトの名無しさん
08/01/20 01:49:46
>>268
URLリンク(kansai2channeler.hp.infoseek.co.jp)
295:デフォルトの名無しさん
08/01/20 01:56:46
>>272
URLリンク(kansai2channeler.hp.infoseek.co.jp)
< がn個、> がn個の文字列を求めるだけなら、再帰に加え
コールバックを使うと短く書ける。最初から条件に合う
文字列を効率よく出すやり方は分からない。
# あまり確認してないのでプログラムは間違ってるかもしれん。
296: ◆8QYSceiIsU
08/01/20 02:06:31
>>285
ありがとうございます!感激です!
>>293
俺の考えですが、多分同一とみなすと思います
>>295
ありがとうございます!こんなプログラム…俺には難しくて作れませんorz
297:デフォルトの名無しさん
08/01/20 08:07:10
>>272
URLリンク(kansai2channeler.hp.infoseek.co.jp)
正直やりすぎた
298:デフォルトの名無しさん
08/01/20 09:18:24
>>272 対象もでてしまうけど
#include<stdio.h>
#include<stdlib.h>
void disp(char *p){
for(;*--p;);
puts(p+1);
}
void brace(char *work, int brace_num, int depth){
if(depth==0 && brace_num==0){
*work='\0';
disp(work);
}
if(depth>0){
*work='>';
brace(work+1, brace_num, depth-1);
}
if(brace_num>0){
*work='<';
brace(work+1, brace_num-1, depth+1);
}
}
int main(int argc, char *argv[]){
int brace_num=3;
char *work;
if(argc==2) brace_num=atoi(argv[1]);
work=malloc(brace_num*2+2);
*work='\0';
brace(work+1, brace_num, 0);
free(work);
return 0;
}
299:デフォルトの名無しさん
08/01/20 10:01:56
1] 授業単元:Cプログラミング
[2] 問題文(含コード&リンク)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3.1] OS:XP
[3.2] コンパイラ名とバージョン:cygwin
[3.3] 言語:C
[4] 期限:2008/01/21
お願いします
300:デフォルトの名無しさん
08/01/20 11:01:01
>>299
mainの
student std[]={
301:デフォルトの名無しさん
08/01/20 11:03:42
途中送信してしまった
>>299
mainの
student std[]={};
を
student std[NUMB];
にするだけで動く。平均はsougouを5で割ればいいだけ。
てかちゃんと内容を書け。
302:デフォルトの名無しさん
08/01/20 12:31:20
>>273
適当だが。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
303:デフォルトの名無しさん
08/01/20 14:10:15
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C言語
[4] 期限:本日11:30まで
[5]その他の制限:単位がかかっているので、どなたか回答の方をお願いしますorz
304:デフォルトの名無しさん
08/01/20 14:20:12
まじめにやらなかったから単位を落とすんだろ?自然なことじゃないか
305:デフォルトの名無しさん
08/01/20 14:39:12
>>303
[4] 期限:本日11:30まで
DATE:2008/01/20(日) 14:10:15
最初から期限切れてるじゃん
306:デフォルトの名無しさん
08/01/20 14:40:53
午後なら、11:30PMか23:30と書くべきだな。
307:デフォルトの名無しさん
08/01/20 14:43:53
>>304
スイマセン……頑張っても頑張っても理解を超えた内容でした
>>305 >>306
ややこしくてすいません。23:30です
308:デフォルトの名無しさん
08/01/20 14:59:47
>>307
下手に頑張っても頑張っても…とか書かれると、どう頑張って何を身につけたのか訊きたくなるじゃないか。
頑張ったからには途中まで出来ているだろうから、そこまでのソースを見せろ、とかね。
309:デフォルトの名無しさん
08/01/20 15:10:17
単位がかかっていると言われると期限過ぎてから回答したくなる
310:デフォルトの名無しさん
08/01/20 15:16:37
>>309
サディスト吹いたわw
311:デフォルトの名無しさん
08/01/20 15:21:45
ここに丸投げして課題をクリアしようとした自分が間違っていました。すいません
今から苦Cでもう一度基礎から勉強して何とかやってみます
見苦しいレスばかりしてしまい、申し訳ありませんでした
312:デフォルトの名無しさん
08/01/20 15:29:22
別に間違ってないんじゃない?
ただ「~がかかっている」とか理由をつけて解答を迫ってるのが
人によっては癪に障るだけで。
313:デフォルトの名無しさん
08/01/20 15:41:42
ちょっと待て、「苦C」って「苦しんで覚える……」か?
あんなサイトで基礎から勉強するから見につかないんだと思うぞ。
314: ◆8QYSceiIsU
08/01/20 15:49:45
>>298
3しか出ないのですが、どこを書き換えればいいですか?
315:デフォルトの名無しさん
08/01/20 15:51:32
>>314
>>298のレスを3で検索かけてみればいいだろ
316: ◆8QYSceiIsU
08/01/20 15:55:00
>>315
int brace_num=3;のところだと思うのですが、そこをどう書き換えればいいのかわからないのですorz
scanfだと思っていろいろいじったのですがエラーになってしまって…
317:デフォルトの名無しさん
08/01/20 16:15:10
scanfもわからないのに再帰を提出するのはまずいと思うぞw
318: ◆8QYSceiIsU
08/01/20 16:17:01
>>317
今は提出だけが目的なんで…すみませんorz
319: ◆1FgF6ehpzk
08/01/20 16:17:50
>>238だが、>>288お前なりすましか?
注意書き通り名前のところにトリップ入れておけばよかった。
スレ汚しすまん。
もう消える。
320:デフォルトの名無しさん
08/01/20 16:24:17
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:VisualStudio2005
[3.3] 言語: C
[4] 期限:1月21日
321:デフォルトの名無しさん
08/01/20 16:50:13
>>301
ありがとうございます!なんでエラーがおこるのかわからなくて相当困ってました。
322:デフォルトの名無しさん
08/01/20 16:59:35
>>272
URLリンク(kansai2channeler.hp.infoseek.co.jp)
<<><>><<>><>
<<><>><><<>>
<<>><<><>><>
みたいに入れ子関係を変えない並び替えで同じになるものは同一とみなした.
これってグラフ理論とかの講義?
323: ◆8QYSceiIsU
08/01/20 17:07:17
>>322
ありがとうございます!
これはゼミの問題でしたσ(^_^;)アセアセ...
324:デフォルトの名無しさん
08/01/20 17:41:22
[1] 授業単元:文字列
[2] 問題文:
最大50文字で文字列を読み取り、
その文字数を出力するプログラム
(例:aiueo=5文字)
[3] 環境
[3.1] OS:Windows Vista
[3.2] コンパイラ名とバージョン:?
[3.3] 言語:C++
[4] 期限: 2008年1月20日22:00まで
[5] その他の制限:
お願いします(ノ_・。)
325:デフォルトの名無しさん
08/01/20 17:46:55
>>324
#include<iostream>
#include<string>
int main()
{
std::string str;
std::cin>>str;
std::cout<<str.size()<<"文字"<<std::endl;
return 0;
}
326:デフォルトの名無しさん
08/01/20 17:47:24
>>324 は削除でお願いします!!
ごめんなさい..
[1] 授業単元:
[2] 問題文:
数値を文字列として2つ入力し、
大小を求めるプログラムを作成せよ
(例:52846>48426)
[3] 環境
[3.1] OS:WindowsVista
[3.2] コンパイラ名とバージョン:
[3.3] 言語:C++
[4] 期限:2008年1月20日22:00まで
[5] その他の制限:
お願いします(ノ_・。)
327:デフォルトの名無しさん
08/01/20 17:48:16
>>325
ありがとうございます!!
328:デフォルトの名無しさん
08/01/20 17:50:40
>>326
int main(void)
{
using namespace std;
int a, b;
cin >> a;
cin >> b;
cout << max(a,b) << ">" << min(a,b) << endl;
return 0;
}
329:デフォルトの名無しさん
08/01/20 18:03:55
>>320
URLリンク(kansai2channeler.hp.infoseek.co.jp)
330:269
08/01/20 18:09:26
プリーズ、プリーズ
331:デフォルトの名無しさん
08/01/20 18:16:18
>>326
#include <iostream>
int main (int argc, char **argv) {
using namespace std;
int a, b;
cout << "数字を二つ入力してよ" << endl;
cin >> a >> b;
cout << a << (a == b ? "=" : (a < b ? "<" : ">")) << b << endl;
}
332:デフォルトの名無しさん
08/01/20 18:20:46
>>330
問題文が理解不能だった
333:デフォルトの名無しさん
08/01/20 18:56:02
>>330 >>278
とりあえずA.txtとB.txtとC.txtの見本みたいのがないとよくわからんな
あと樹形図化ってあるけど、どういう規則の木構造なのかもわかるとうれしい
334:デフォルトの名無しさん
08/01/20 19:11:11
まじで何回も聞いてますができません↓
わかるかたお願いします↓
[1] 授業単元:
[2] 問題文:
最大50文字の数値を文字列として2つ入力して、
その差を求めるプログラムを作成せよ。
なお、最初に入力したものから後に入力したものを引くこととする
[3] 環境
[3.1] OS:WindowsVista
[3.2] コンパイラ名とバージョン:
[3.3] 言語:C++
[4] 期限:2008年1月20日23:00まで
[5] その他の制限:
答えがマイナスになる場合もお願いします、、
あとできれば説明もお願いします
335:デフォルトの名無しさん
08/01/20 19:51:31
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):添付されたファイル"city.txt"に、
日本の政令指定都市に関するデータが収められている。
このファイルを読んで、構造体の配列に格納し、
ソートを実行するプログラムを作成する。
構造体のメンバは、
都市名・登録年月日・面積・人口とし、
ソートはレコードの内容について、
まず、都市名の昇順(アルファベット順)にソートし、
次に、登録年月日の昇順にソートするものとする。
単純交換法でソートを実行した場合と、
単純選択法でソートを実行した場合の結果を示し、
違いがあれば、その違いの特徴を説明し、理由も書きなさい。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:VS2005
[3.3] 言語: C
[4] 期限: 1/22日まで
[5] その他の制限:city.txtなどは次に書きます。よろしくお願いします。
336:デフォルトの名無しさん
08/01/20 19:52:30
>>335
city.txtの中身
都市名 登録年月日 面積[km^2] 人口[人] (2007年12月1日現在)
Sapporo 1972/04/01 1,121.12 1881218
Sendai 1989/04/01 735.16 1029595
Saitama 2003/04/01 217.49 1192005
Chiba 1992/04/01 272.08 938293
Yokohama 1956/09/01 437.38 3,630830
Kawasaki 1972/04/01 142.70 1,372762
Niigata 2007/04/01 726.10 813170
Shizuoka 2005/04/01 1,388.78 710902
Hamamatsu 2007/04/01 1,511.17 811446
Nagoya 1956/09/01 326.45 2238223
Kyoto 1956/09/01 827.90 1469242
Osaka 1956/09/01 222.27 2645790
Sakai 2006/04/01 149.99 835257
Kobe 1956/09/01 552.15 1530912
Hiroshima 1980/04/01 905.13 1163051
Kitakyushu 1963/04/01 487.71 987337
Fukuoka 1972/04/01 340.60 1429828
337:デフォルトの名無しさん
08/01/20 19:53:26
>>336
すいません見にくかったです。
都市名 登録年月日 面積[km^2] 人口[人] (2007年12月1日現在)
Sapporo 1972/04/01 1,121.12 1881218
Sendai 1989/04/01 735.16 1029595
Saitama 2003/04/01 217.49 1192005
Chiba 1992/04/01 272.08 938293
Yokohama 1956/09/01 437.38 3,630830
Kawasaki 1972/04/01 142.70 1,372762
Niigata 2007/04/01 726.10 813170
Shizuoka 2005/04/01 1,388.78 710902
Hamamatsu 2007/04/01 1,511.17 811446
Nagoya 1956/09/01 326.45 2238223
Kyoto 1956/09/01 827.90 1469242
Osaka 1956/09/01 222.27 2645790
Sakai 2006/04/01 149.99 835257
Kobe 1956/09/01 552.15 1530912
Hiroshima 1980/04/01 905.13 1163051
Kitakyushu 1963/04/01 487.71 987337
Fukuoka 1972/04/01 340.60 1429828
338:デフォルトの名無しさん
08/01/20 19:58:11
>>335>>336>>337
337はミスりました、すいません。
#include<stdio.h>
#define N 17 //*keyの個数
#define SIZE 20 //*nameの大きさ
struct city{
char name[SIZE];
int year, month, day;
double area;
int population;
};
struct city key[N];
int main(void){
FILE *fp;
int i;
char naka[100];
fp = fopen("city.txt","r");
if(fp!=NULL){
printf("ファイルを開きました\n");
}
fgets(naka,100,fp);
for(i = 0; i < N; i++){
fscanf(fp,"%s %d/%d/%d %lf %d",key[i].name, &key[i].year, &key[i].month, &key[i].day, &key[i].area, &key[i].population);
printf("%s %d/%d/%d %lf %d\n",key[i].name, key[i].year, key[i].month, key[i].day,key[i].area, key[i].population);
}
return 0;
}
これを元に作ってほしいです。よろしくお願いします
339:デフォルトの名無しさん
08/01/20 20:09:55
>>334
#include <iostream>
using namespace std;
int main()
{
double n1, n2;
// 一つ目入力
cout << "n1 : ";
cin >> n1;
// 二つ目入力
cout << "n2 : ";
cin >> n2;
// 結果出力
cout << "n1 - n2 : " << n1 - n2 << endl;
return 0;
}
340:デフォルトの名無しさん
08/01/20 20:32:40
>>339
ありがとうございます!
でもまだ
using namespace std;
をならってません(ノ_・。)
341:デフォルトの名無しさん
08/01/20 20:34:03
ほんとにC++かよw
342:デフォルトの名無しさん
08/01/20 20:38:37
つうか、doubleで大丈夫なのか?
stringなりchar配列でやれって意味だと思うんだけど
343:デフォルトの名無しさん
08/01/20 20:42:32
>>340
文字列から数値への変換は自分でやるの?
入力とかは、scanfとかでやれとか?
使っていいものの条件をかいてくれ。
344:デフォルトの名無しさん
08/01/20 20:57:51
>>340
URLリンク(kansai2channeler.hp.infoseek.co.jp)
冗長だが。
数値に区切って算出した方がいいんだよな。
345:デフォルトの名無しさん
08/01/20 21:04:56
>>335
URLリンク(kansai2channeler.hp.infoseek.co.jp)
city.txtの","って取り除かないと読めなくない?
346:344
08/01/20 21:05:41
すまん、こっちで
URLリンク(kansai2channeler.hp.infoseek.co.jp)
ますますクソだわ、吊ってくる...
347:デフォルトの名無しさん
08/01/20 21:09:54
char配列だと思います。。
あとscanfもまだ習っていません、、
文字列の入力は cin.getline しか習ってないんですが。。。
まさかこれでこの問題乗り切るのむりですか?(´△`)
よくわかんないので、以前に和を出す方法を教えてもらったのでそれの一部のせます!
前後はしょってるので意味わかんなかったらごめんなさい、、
// 足し算
// a = b + c
int add(char a[], char b[], char c[])
{
int i ,carry = 0;
for( i = 0 ; i < Max_Length ; i++ ) {
a[i] = b[i] + c[i] + carry;
carry = a[i] / 10;
a[i] = a[i] - carry * 10;
}
return carry;
}
348:デフォルトの名無しさん
08/01/20 21:43:20
250ってそのまま書いても大丈夫なんですかね?
今ソフトがないもんで・・・
349:デフォルトの名無しさん
08/01/20 21:53:38
お願いします
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
問題1;nの階乗の表を表示するプログラム(intで表示できる範囲のみ)
問題2: 二次元配列を使い、以下の点数表から各人の3科目の平均点と各科目ごとの5人の平均点を求めるプログラム
国語 数学 英語
安藤 56 45 67
加藤 64 34 55
田中 53 76 46
山田 75 78 78
山本 60 67 62
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン:コマンドプロンプト
[3.3] 言語: C
[4] 期限: 2008年1月21日00:00まで
[5] その他の制限: なし
350:デフォルトの名無しさん
08/01/20 21:55:48
[1] 授業単元:プログラミング基礎
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:VisualStudio2005
[3.3] 言語: C言語
[4] 期限:1月22日
[5]制限 : お願いします。
351:デフォルトの名無しさん
08/01/20 22:24:16
>>350
#include <stdio.h>
#define LMAX 100
int char_counter(char c, char * str)
{
int cnt=0;
while(*str!='\0'){
if(*str==c)
cnt++;
str++;
}
return cnt;
}
main()
{
char c,str[LMAX];
int cnt=0;
printf("文章:");
fgets(str,LMAX-1,stdin);
for(c=33;c<127;c++){
cnt=char_counter(c,str);
if(cnt>0)
printf("[%c]->%d個\n",c,cnt);
}
}
352:デフォルトの名無しさん
08/01/20 22:33:36
[1] 授業単元:C言語
[2] 問題文
1つ以上の空白文字で区切られた英文を半角文字列として入力し、空白文字
を区切りとし分解して表示する。以上の動作をNULLが入力されるまで繰り返
すプログラムを作成しなさい。
①文字列の入力にはgets関数を使用すること。また、最大で80文字
までしか入力されないものとする。
②空白文字かどうかは文字検査関数(is・・・)を使用して調べること。
③半角文字しか入力されないもとする
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン:VisualStudio2005
[3.3] 言語: C
[4] 期限:なし
[5] その他の制限:
353:shogo
08/01/20 23:15:54
>>>273
ディフォルトの名無しさんご回答ありがとうございました!
大変参考になりました!!
354:デフォルトの名無しさん
08/01/20 23:27:08
ディフォルトの名無しさんって宿題全部やっちゃってすごいよね
355:デフォルトの名無しさん
08/01/20 23:30:25
>>352
URLリンク(kansai2channeler.hp.infoseek.co.jp)
無駄に長くした。
356:デフォルトの名無しさん
08/01/20 23:32:25
>>352
空白を複数個入れると表示が見苦しくなるが気にするな。
そうしちゃいけないとは書いていないから。
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
char buf[81];
int i;
while(gets(buf)){
if(!strcmp(buf,"NULL"))
break;
for(i=0;buf[i];i++)
putchar(isspace(buf[i])?'\n':buf[i]);
printf("\n\n\n");
}
return 0;
}
357:デフォルトの名無しさん
08/01/20 23:56:04
>>352 では表示が見苦しくならないようにしたものを。先頭に空白が入ってても大丈夫にしてある。
#include <stdio.h>
#include <ctype.h>
#define LMAX 80
main()
{
int i=0;
char str[LMAX+1];
while(gets(str)){;//本当はfgets(str,LMAX,stdin)を使いたい
while(str[i]!='\0'){
if(isspace(str[i])){
if(i>0&&!isspace(str[i-1]))
putchar('\n');
}else
putchar(str[i]);
i++;
}
putchar('\n');
}
}
358:デフォルトの名無しさん
08/01/21 00:09:07
>>352
URLリンク(kansai2channeler.hp.infoseek.co.jp)
なんとなく。
359:269
08/01/21 00:33:14
>>333
混乱させていたらごめんなさい、樹形図化とはただの総書き出しのことです。
以下は私のイメージによる、辞書式に総書き出しをした場合の最初と最後の100件ずつ計200行です。
。
1行は常に25bytesです(Numberの右揃え7桁で7bytes+半角スペース1個で1byte+Combinationの2桁表記数字が6個分と半角カンマ5個分で17bytes)。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
これはn2c処理の材料の一例、B.txt(右揃え無し)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
これはB.txtにn2c処理をした後=C.txt(Number部分は右揃え7桁になっている)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
n2c処理出来るものさえ頂戴出来れば僥倖ですが、c2n処理の材料であるA.txtは以下。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
あと、自分でヒントを探した際に理解できなかったのですが(C#だし)考え方のノリとしてはこれです。
URLリンク(www.microsoft.com)
360:デフォルトの名無しさん
08/01/21 00:36:34
【時間切れ】 (1/20)
>303
【未解決問題】
>>86 1/22
>>335 1/22
スレリンク(tech板:229番) 1/31
>79 無期限
>144 無期限 問題文>>148
>278 無期限
361:デフォルトの名無しさん
08/01/21 00:41:37
Cプログラマ必須テキスト!
URLリンク(mori.eco.to)
362:デフォルトの名無しさん
08/01/21 00:44:15
宣伝するなクソが
363:デフォルトの名無しさん
08/01/21 01:06:33
>>355~>>358
Thanks!!
364:デフォルトの名無しさん
08/01/21 01:43:30
ここって仕様書のせたらプログラム作ってくれますか?(゚゚)
もしだめなら仕様書のせてプログラム作ってくれるスレ教えてくだされ(ノ_・。)
365:デフォルトの名無しさん
08/01/21 01:46:29
>>364
無償では誰もやらないと思うYO!
366:デフォルトの名無しさん
08/01/21 01:50:05
スレ立てればいいじゃん
367:デフォルトの名無しさん
08/01/21 02:53:00
仕事代行スレ?面白そうだね。
作るならJAVAやC#その他言語もOKなスレにして欲しいな。
【無料】仕事代行ギコ猫商会【無保証】
猫の手を借りたいほど忙しい人が、プログラム好きの猫たちに仕事を依頼するスレです。
猫たちは気紛れなので、依頼を受け無い時もあります。途中で投げ出すかも知れませんし
出来たとしても猫たちの能力はまちまちなので品質は保証できません。
また、倫理や契約に違反する可能性がありますので十分注意してください。
まあ利用できるのは、個人ぐらいだろうな。企業とかでこんな所に仕事を投げたのが
ばれたら大変な事になりそう。
368:デフォルトの名無しさん
08/01/21 03:06:34
>>359
ロト6のできたよ
URLリンク(kansai2channeler.hp.infoseek.co.jp)
何に使うのか気になるなw
369:348
08/01/21 03:21:22
スイマセン勘違いしてました
ところで250の
printf("input (e.g. ****/**/**)\n>>");
の意味がわからないのですが・・・
370:デフォルトの名無しさん
08/01/21 03:27:15
>>369
いや、"input (e.g. ****/**/**)\n>>"って表示するだけのことだろ。
****/**/**は年/月/日で入力しろってことでしょ
371:348
08/01/21 03:38:29
>>370
ありがとうございます!
助かりました!
372:デフォルトの名無しさん
08/01/21 04:03:55
>>272
面白そうなので、ちょっとやってみた。
期限過ぎてるし、手元に開発環境がなくてrubyだしで
スレ違いすまん
--
def create(n)
if n < 2
return "<>"
else
strs= create(n-1)
result = []
strs.each do |str|
result.push "<"+ str +">"
result.push str +"<>"
end
return result
end
end
create(ARGV.shift.to_i).each { |str| print str, "\n"}
--
373:269
08/01/21 04:10:06
>>368
おお…おお!ありがとうございます!!
たった10文字だけど、他に表現できる言葉を知らないので、もう一度「ありがとうございます」
374:デフォルトの名無しさん
08/01/21 04:13:44
>>372
スクリプト系だと結構楽にかけそうなんだよね。
Cだと、リストと文字列処理が貧弱すぎて泣ける
375:デフォルトの名無しさん
08/01/21 09:39:31
1] 授業単元: プロ基礎
[2] 問題文(含コード&リンク):ある金額を入力し、その金額のお金の種類と数(1万円札~1円玉)を求めるwhile文を作れ。
[3] c言語
[4] 期限:今
[5] その他の制限:ど基礎。for,while程度
よろしくお願いします。
376:デフォルトの名無しさん
08/01/21 09:43:34
>[4] 期限:今
377:デフォルトの名無しさん
08/01/21 09:44:10
じゃあもう期限切れだな残念
378:375
08/01/21 09:47:12
自動販売機のおつりみたいなものです
379:デフォルトの名無しさん
08/01/21 09:57:51
なぜループさせる必要があるのか、おじさんに分かるように教えてくれ
380:デフォルトの名無しさん
08/01/21 10:03:26
>>364
そんなスレあったら俺が依頼したいww
381:デフォルトの名無しさん
08/01/21 10:17:45
#include <stdio.h>
int main(void) {
int N=147568,a=10000;
while(N) {
printf("%d円:%d枚\n",a,N/a);
N%=a;
a/=2;
if(N) {
printf("%d円:%d枚\n",a,N/a);
N%=a;
a/=5;
}
}
return 0;
}
382:デフォルトの名無しさん
08/01/21 10:22:53
[1] 授業単元: 基礎プログラミング
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 今日の24時まで
[5] その他の制限:
長いプログラムになっても構わないので、
if文やfor文などの初歩的な関数を使いまくる感じでお願いします
383:382
08/01/21 10:24:37
すみません、最後の構造体のは氏名はローマ字表記でも大丈夫です
384:デフォルトの名無しさん
08/01/21 10:27:15
>>381
なるほど、そういう風にwhileを使うのか・・・全然思いつかなかった・・・・・orz
385:デフォルトの名無しさん
08/01/21 12:05:48
>>382
#include <stdio.h>
struct student {
char name[32];
int ID;
int score;
};
int main(void) {
int i,j,x;
char buf[32];
struct student s[5];
for(i=0;i<5;i++) {
printf("氏名:");
fgets(buf,sizeof(buf),stdin);
sscanf(buf,"%s",&s[i].name);
printf("ID:");
fgets(buf,sizeof(buf),stdin);
sscanf(buf,"%d",&s[i].ID);
printf("点数:");
fgets(buf,sizeof(buf),stdin);
sscanf(buf,"%d",&s[i].score);
}
printf("何点以上?:");
fgets(buf,sizeof(buf),stdin);
sscanf(buf,"%d",&x);
for(i=0;i<5;i++) if(s[i].score>=x) printf("%s ID:%d %d点\n",s[i].name,s[i].ID,s[i].score);
return 0;
}
386:デフォルトの名無しさん
08/01/21 12:28:44
>>86
URLリンク(kansai2channeler.hp.infoseek.co.jp)
387:デフォルトの名無しさん
08/01/21 12:57:00
>>382の1
URLリンク(kansai2channeler.hp.infoseek.co.jp)
388:デフォルトの名無しさん
08/01/21 13:13:09
>>387の修正版
#include<stdio.h>
long get_power(long base, int expt);
int main(int argc, char *argv[]){
int base, expt;
long power_out;
if(argc != 3){
fprintf(stderr, "input error\n");
return 1;
}
base = atoi(argv[1]);
expt = atoi(argv[2]);
if(expt < 0){
fprintf(stderr, "input error\n");
return 1;
}
power_out = get_power(base, expt);
printf("%d^%d = %ld\n", base, expt, power_out);
return 0;
}
long get_power(long base, int expt){
if(expt == 0) return 1;
if(expt % 2 == 0){
expt /= 2;
base *= base;
return get_power(base, expt);
}else{
expt -= 1;
return base * get_power(base, expt);
}
}
389:デフォルトの名無しさん
08/01/21 13:27:02
>>382の2
#include<stdio.h>
int get_gcd(int num1, int num2);
int main(int argc, char *argv[]){
int num1, num2;
int gcd_out;
if(argc != 3){
fprintf(stderr, "input error\n");
return 1;
}
num1 = atoi(argv[1]);
num2 = atoi(argv[2]);
if(num2 < 0){
fprintf(stderr, "input error\n");
return 1;
}
gcd_out = get_gcd(num1, num2);
printf("GCD(%d,%d) = %d\n", num1, num2, gcd_out);
return 0;
}
int get_gcd(int num1, int num2){
if(num1 == num2) return num1;
if(num1 > num2){
return get_gcd(num1-num2, num2);
}else{
return get_gcd(num1, num2-num1);
}
}
390:デフォルトの名無しさん
08/01/21 15:27:31
【質問テンプレ】
[1] 授業単元:プログラミングC++
[2] 問題文(含コード&リンク):
以下のデータを空白を区切りとしてキーボードから入力して
配列に読み込み、英語のアルファベット順に並び替えよ。
ただし、文字列の大きさの比較にはstrcmp関数を
文字列の入れ替えにはstrcpy関数を利用しなさい。
日本語 英語 味わい月
鯖 mackerel 10
新巻鮭 salmon 12
岩魚 charr 7
牡蛎 oyster 2
帆立貝 scallop 1
正答動作画像
URLリンク(www-2ch.net:8080)
[3] 環境
[3.1] OS: WindowsXP
[3.2] Microsoft Visual C++
[3.3] C++
[4] 期限: 2008年1月23日18:00まで
[5] その他の制限:strcmpとstrcpyを利用したソートをさせるのが問題の主眼かなと思います。
よろしくお願いします。
391:デフォルトの名無しさん
08/01/21 17:06:20
[2] 問題文:最長文字列の検出
[3] 環境
[3.1] OS:WindowsXP
[3.2] gcc 3.4
[3.3] 言語:C
カンマで区切った単語を入力してその中で一番長い文字列を表示させる。
例
単語を入力してください:1,10,10,1000
最長文字列は1000です。
strtokでカンマごとに切断することは出来たのですがそこからどうすればいいか分かりません。
よろしくお願いします。
392:デフォルトの名無しさん
08/01/21 17:10:23
strtok()で区切った文字列を配列に突っ込んでstrlen()で長さを数えればいい
393:デフォルトの名無しさん
08/01/21 17:53:14
すいません、よく分からないです・・・無知ですいません。
394:デフォルトの名無しさん
08/01/21 18:36:29
>>391
#include <stdio.h>
#include <string.h>
int main()
{
int i = 0, max = -1, max_i = -1;
char buf[200], *p, *tmp[100];
printf("単語を入力してください:");
fgets(buf, sizeof(buf), stdin);
sscanf(buf, "%s", buf);
for (p = strtok(buf, ","); p != NULL; i++)
{
int len = strlen(p);
if (max < len)
{
max = len;
max_i = i;
}
tmp[i] = p;
p = strtok(NULL, ",");
}
printf("最長文字列は%s", tmp[max_i]);
return 0;
}
395:デフォルトの名無しさん
08/01/21 19:24:02
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2008/01/27 23:59
[5] できれば配列とforメインでおねがいします
396:デフォルトの名無しさん
08/01/21 19:45:45
#include <stdio.h>
int main () {
int y, m, d, sum = 0;
int m_array[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
char *week[7] = {"日", "月", "火", "水", "木", "金", "土"};
printf("input (e.g. ****/**/**)\n>>");
スイマセン、このinputとe.gの意味がわかりません
397:デフォルトの名無しさん
08/01/21 19:49:15
おめーはぷりんとfもわかんねーのかよ
398:デフォルトの名無しさん
08/01/21 19:59:56
inputは、えいごでにゅうりょくっていみだよ
e.gは、らてんごでたとえばっていみだよ
399:デフォルトの名無しさん
08/01/21 21:14:09
[1] 授業単元:基礎プログラミング
[2] 問題文(含コード&リンク):オンラインゲームを作成せよ。
ラグナロクオンラインやリネージュのようなオンラインゲームを
作成してみよう。データを送信するのに必要なライブラリ等は各自
調べておくこと。またDirectXを使用すること。
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: VisualStudio2005
[3.3] 言語: C++
[4] 期限: 2008/2/1 23:59
[5] できれば3DのデータをMAXやMAYA、Shade等で作成する。
400:デフォルトの名無しさん
08/01/21 21:16:06
>[1] 授業単元:基礎プログラミング
401:デフォルトの名無しさん
08/01/21 21:30:47
>>399 なんとか完成したぞよ
#include <stdio.h>
int main(void)
{
char input[100];
printf("******ログイン画面******\n");
printf("UserID:");
scanf("%s",input);
printf("Password:");
scanf("%s",input);
printf("@@@@ログイン完了@@@@\n\n");
//roop for ever
while(1){
printf("チャット発言:");
scanf("%s",input);
printf("\n ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\n");
printf("( ´∀`)< %s\n",input);
printf("( ) \______________\n");
printf(" | | |\n");
printf("(__)_)\n\n");
}
return 0;
}
402:デフォルトの名無しさん
08/01/21 21:39:40
>>399 ごめ、C++だったか!
#include <iostream>
#include <string>
using namespace std;
int main(void)
{
string input;
cout<<"******ログイン画面******"<<endl;
cout<<"UserID:";
cin>>input;
cout<<"Password:";
cin>>input;
cout<<"@@@@ログイン完了@@@@\n"<<endl;
//roop for ever
while(1){
cout<<"チャット発言:";
cin>>input;
cout<<endl;
cout<<" ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄"<<endl;
cout<<"( ´∀`)< "<<input<<endl;
cout<<"( ) \______________"<<endl;
cout<<" | | |"<<endl;
cout<<"(__)_)\n"<<endl;
}
return 0;
}
403:デフォルトの名無しさん
08/01/21 21:43:02
俺が見る限り >>400 と >>401 は間違ってるな
これが正解だw
#include <iostream>
#include <string>
int main(void)
{
std::string input;
while(true){
std::cout<<"******ログイン画面******"<<std::endl;
std::cout<<"UserID:";
std::cin>>input;
std::cout<<"Password:";
std::cin>>input;
std::cout<<"IDまたはパスワードが違います\n"<<std::endl;
}
return 0;
}
404:デフォルトの名無しさん
08/01/21 22:26:06
[1] 授業単元:C++実習
[2] 問題文(含コード&リンク):()
自動販売機のオブジェクトを作成し実現しなさい(ジュース,たばこ,カップラーメンなど何でも良い(何の自販機は出力すること))。
ただし,下記の条件を満たすこと。
<条件>
自動販売機で購入できる「商品」,「お金」,「自動販売機」は最低限クラス化すること。
「カプセル化」,「継承」,「多様性」を全て利用すること。
例外処理をすること(プログラムが頓挫した時点でNGとします)。
入出力は,下記のとおり行うこと。
【入力】
・お金(10円~1000円)の個数(枚数)
・購入商品選択(複数可)
【出力】
・つり銭(10円~100円)の個数(枚数)と総購入代金
・購入商品名(複数)
実現は,main()関数で「自動販売機」クラスのインスタンスを1つ作成し,そのクラスのbuy( )メンバ関数を呼び出したら全てが動作するようにする。
※条件以外に動的メモリ,ファイル入出力などを用いて自動販売機の機能が拡張されるほど良い。ただし,明らかに無駄なコードを追加して機能を増やしている場合はその限りではありません。
[3] 環境
[3.1] OS: Windows XP
[3.2] visual studio 2005
[3.3] 言語: C++
[4] 期限: 2008/1/25まで
[5] その他の制限: 特に無し。
よろしくお願いします。
405:デフォルトの名無しさん
08/01/21 22:28:22
【時間切れ】 (1/21)
なし
【未解決問題】
>>335 1/22
>>390 1/23 18:00
>>404 1/25
>>395 1/27 23:59
スレリンク(tech板:229番) 1/31
>>399 2/1 23:59
>79 無期限
>144 無期限 問題文>>148
406:デフォルトの名無しさん
08/01/21 22:30:21
#include<stdio.h>
#define N 1;
typedef struct{
}Record;
void inputData(int n, Record r[]);
void outputData(int n, Record r[]);
void calcBMI(int n; Recordr[]);
int main(void)
{
Record rrr[N];
int i;
printf("%d人まで処理します",N);
for(i=0;i<N;i++){
inputData(i,rrr);
outputData(i,rrr);
calcBMI(i,rrr);
printf("\n");
}
return 0;
}
407:デフォルトの名無しさん
08/01/21 22:30:45
/*inputData関数の定義*/
void inputData(int n, Record r[]){
printf("%d人目の入力\n",n+1);
printf("名前は? →");scanf("%s", r[n].personal);
printf("生年月日は?(8桁)→");scanf("%s", r[n].birth);
printf("身長は?(cm) →");scanf("%lf", &r[n].height);
printf("体重は?(cm) →");scanf("%lf", &r[n].weight);
}
/*outputData関数の定義*/
/*calcBMIの定義*/
実行結果は
1人まで処理します
1人目の入力
名前は? →hoge
生年月日は? →19700917
身長は(cm)? →174.5
体重は(kg)? →69.5
1人目の出力
名前は hoge
生年月日は 1970年09月17日
身長は 174.50cm
体重は 69.50kg
1人目のBMIは 22.82
Record型構造体の定義とoutputData関数の定義とcalcBMIの定義がよくわからないのですがどなたかわかりませんか?
BMIの計算内にはpower関数を利用しなくてはいけないんですが
408:デフォルトの名無しさん
08/01/21 22:45:51
すいませんテンプレもつかわずに・・
[1] 授業単元:C実習
[2] 問題文(含コード&リンク):()
キーボードから氏名、生年月日、身長、体重をそれぞれよみこんでRecord構造体変数に格納し
そのデータからBMIを計算し同じ構造体メンバに格納し、画面に表示するプログラム
氏名、生年月日、身長、体重、BMIをメンバとする構造体Recordを定義する
なおBMIは次の計算で求められる
BMI=体重(kg)/身長^2(m)
BMIの計算には、power関数も利用し、また、身長の入力単位がcmであることに注意する
[3] 環境
[3.1] OS: Windows vista
[3.2] visual studio 2005
[3.3] 言語: C
[4] 期限: 2008/1/22まで
[5] その他の制限: 特に無いです
よろしくおねがいします
409:デフォルトの名無しさん
08/01/21 23:16:08
2つの整数を入力して、最大公約数と最小公倍数を
求めなさい。
このプログラムをお願いします。
410:デフォルトの名無しさん
08/01/21 23:18:28
前見たな
>>408
>>233
411:デフォルトの名無しさん
08/01/21 23:28:58
>>409
まあ落ち着いて>>1でも読めよ
412:デフォルトの名無しさん
08/01/21 23:40:13
>>410
ありがとうございます。
>>233さんの方法を試してみたのですがじっこうけっかがうまくいかなくて・・
413:デフォルトの名無しさん
08/01/21 23:44:04
>>409
今年のセンター試験2Bでそのプログラムが出たよ
BASICだけど
414:デフォルトの名無しさん
08/01/21 23:45:19
>>412
何が駄目なのかくらい書けよ。
415:デフォルトの名無しさん
08/01/21 23:50:43
関数powが定義されていないのとinputDataの定義を確認してくださいとでます
あと出力のところで~年~月~日とださなければいけないのですがその部分もわからないです
416:デフォルトの名無しさん
08/01/21 23:51:45
includeくらいしろよ。大体printfも書けないなら勉強し直せ
417:デフォルトの名無しさん
08/01/21 23:53:38
includeはしてます・・
418:デフォルトの名無しさん
08/01/21 23:55:07
printfは書けるんですが19700917と打ち込んだのを
1970年09月17日と分けるにはどうすればいいかわからないです
419:デフォルトの名無しさん
08/01/21 23:56:25
char buf[100];
fgets(buf, sizeof(buf), stdin);
printf("%.4s年%.2s月%.2s日\n", buf, buf + 4, buf + 4 + 2);
420:デフォルトの名無しさん
08/01/22 00:11:02
powが定義されてないって出るなら,includeしてないだろ…常考
421:デフォルトの名無しさん
08/01/22 00:22:22
というかどこにも定義してなくないですか?一応powを別に定義したらうまくうごいたんですが
double pow(double a)
{
return a*a;
}
こんなかんじじゃだめですかね?
422:デフォルトの名無しさん
08/01/22 00:24:36
>power関数も利用し
なんだからダメだろ
423:デフォルトの名無しさん
08/01/22 00:27:54
そうですかすいません・・includeはしてあるんで何が原因かわからなくて・・
424:デフォルトの名無しさん
08/01/22 00:30:29
<math.h>をインクルードだろ・・・常識的に考えて・・・
425:デフォルトの名無しさん
08/01/22 00:30:32
#include <math.h>だ。
それとpowerは2乗じゃなく累乗の意。
426:デフォルトの名無しさん
08/01/22 00:30:45
いろいろ動かしたら定義しなくてもふつうに動くようになりましたありがとうございました
知識不足の自分に教えてくださってありがとうございます
427:デフォルトの名無しさん
08/01/22 00:38:02
e.gを使いこなす奴は、論文とかを読みなれてしまった汚い大人。
428:86
08/01/22 01:05:39
>>386
ありがとうございました!!
まさか丁度300レス後とはwwww
429:デフォルトの名無しさん
08/01/22 01:07:43
wwwwwwwwww
430:86
08/01/22 01:07:57
>>386
な、内容みたら文字化けがwwwwwwwwwwwwwwwwwww
orz
431:デフォルトの名無しさん
08/01/22 01:09:17
>>430
エンコードをEUCにしなさい。
432:デフォルトの名無しさん
08/01/22 01:09:43
for(int i=0; i<50; i++)
cout << "w";
433:デフォルトの名無しさん
08/01/22 01:09:49
JISコードでおk
434:デフォルトの名無しさん
08/01/22 02:06:13
【質問テンプレ】
[1] 授業単元:情報処理概論
[2] 問題文(含コード&リンク):()
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 22日10時まで
問題文
(ファイルからのデータ入力、ファイルへの出力)
"in_file"という名前のファイルの中に多数の整数データが空白や改行コードで区切られて並んでいると仮定した上で
この入力ファイルのなかのデータを1行に5個ずつ綺麗に並べて"out_file"という名前のファイルに出力するCプログラムを作成せよ。
入力ファイル”in_file"の内容が
_-1111111111______2222222__33333 4444 55 6 7 8 9 0 1 2 3 4
5 6 7890123
のときには次のような内容を出力ファイル”out_file"に書き出す
_-11111111_____22222______333333________4444__________55
_____________6___________7______________8____________9____________0
_____________1___________2______________3____________4____________5
_____________6__7890123
です、よろしくお願いします。
435:434
08/01/22 02:08:11
書き込んだらずれてしまいました・・・
「 _ 」はスペースで右揃えに並ぶ感じです。
よろしくお願いします
436:デフォルトの名無しさん
08/01/22 02:10:43
>>394
ありがとうございます。プログラムで見てみるとどういうことだったのかよく分かりました。
もっと勉強していこうと思います!!
437:デフォルトの名無しさん
08/01/22 03:34:15
>>390
URLリンク(kansai2channeler.hp.infoseek.co.jp)
C++の単元で"ソートにstrcmp()とstrcpy()を使え"ってホント?
あまりに稚拙なコードで組んでて泣けてきた。
438:デフォルトの名無しさん
08/01/22 04:40:37
>>434
URLリンク(kansai2channeler.hp.infoseek.co.jp)
strtokをあえて使わない 俺ってそんな男
439:デフォルトの名無しさん
08/01/22 05:41:11
strpbrkって知らなかった。
でも符号の分いれて、%11dの予感。
440:デフォルトの名無しさん
08/01/22 07:12:54
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: windowsXP
[3.2] コンパイラ名とバージョン:gcc3.4
[3.3] 言語:C言語
[4] 期限:2008年1月23日10時まで
[5] その他の制限:特にないです
どうかよろしくお願いします。
441:デフォルトの名無しさん
08/01/22 07:49:05
>>440
うぷろだの5854.txt
規制で携帯からなんでアドレス貼れなくてスマソ
442:デフォルトの名無しさん
08/01/22 07:51:01
ぼるじょあがC/C++の宿題を片づけますYO! 68代目
このスレと違いはあるのですか?
443:デフォルトの名無しさん
08/01/22 07:57:27
答える人が違う
444:デフォルトの名無しさん
08/01/22 10:36:40
>>395
URLリンク(kansai2channeler.hp.infoseek.co.jp)
たぶん大丈夫と思う。テストデータの答えがわからないからなんとも言えないけど
445:デフォルトの名無しさん
08/01/22 10:51:32
[1] 授業単元:プログラミングⅡ
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン:Microsoft Visual Studio .NET 2003
[3.3] 言語: C
[4] 期限: 2008/1/24
[5] その他の制限:
446:デフォルトの名無しさん
08/01/22 15:14:04
fp=fopen(argv[1],"w");
buffer=(char *)malloc(buffer_size);
while(fgets(buffer,sizeof(buffer),stdin)){
fputs(buffer,fp);
if(sizeof(buffer)==buffer_size){
buffer=(char *)malloc(sizeof(buffer)*2);
buffer_size=buffer_size*2;
fputs(buffer,fp);
free(buffer);
ファイル入出力プログラムの一部ですが、
sizeof(buffer)では4バイトしか確保できないということに気がつきました。
できるだけプログラムをいじらず入力したサイズを取得する方法はありますか?
ヒントをください。buffer_sizeの初期設定は1000byteです。
strlenでもできませんでした。
447:デフォルトの名無しさん
08/01/22 15:29:44
>>446
スレ違い。
初心者スレにでもどうぞ。
その際は何故バッファが必要なのか、その理由を書くことをお推めします。
448:デフォルトの名無しさん
08/01/22 16:30:04
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:visual studio 2005
[3.3] 言語:C
[4] 期限:2008年1月23日
[5] その他の制限:特になし
よろしくお願いします。
449:デフォルトの名無しさん
08/01/22 16:30:31
>>441さん
ありがとうございました
450:デフォルトの名無しさん
08/01/22 16:33:23
>>445
URLリンク(kansai2channeler.hp.infoseek.co.jp)
451:デフォルトの名無しさん
08/01/22 18:07:10
>>294
有難う御座いますm(_ _)m
452:デフォルトの名無しさん
08/01/22 18:40:18
>>448
URLリンク(kansai2channeler.hp.infoseek.co.jp)
453:デフォルトの名無しさん
08/01/22 19:40:07
[1] 授業単元:プログラミングⅡ
[2] 問題文:任意の数(最大10個)の整数を入力した後、
それらの最小公倍数と最大公約数を関数内で求め、mainの中で表示プログラムを作成すること。
[
3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン:Microsoft Visual Studio
[3.3] 言語: C
[4] 期限: 2008/1/25
[5] その他の制限:
454:デフォルトの名無しさん
08/01/22 20:40:54
>>452
ありがとうございました。
助かります!
455:デフォルトの名無しさん
08/01/22 21:03:49
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):霰の計算
問題文 URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: (2008年1月23日12:00まで
[5] その他の制限: 入出力と計算部分は関数化します。
よろしくお願いいたします。
456:455
08/01/22 21:08:18
すみません問題文が一部文字化けしていました。
誤 1?n?10000の範囲
↓
正 1≦n≦10000の範囲
です。宜しくお願いいたします。
457:デフォルトの名無しさん
08/01/22 21:29:23
250を見ながら入力していったら
c:\documents and settings\sano takumi\my documents\visual studio 2005\projects\san\san.cpp(26) : fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか?
と出たのですがこれはどういうことでしょうか?
458:デフォルトの名無しさん
08/01/22 21:30:05
>'#include "stdafx.h"' をソースに追加しましたか?
してないならしろ。
459:デフォルトの名無しさん
08/01/22 21:30:53
佐野拓海か?せめてあげる内容は少し確認してからにしろ。どんまい。
460:デフォルトの名無しさん
08/01/22 22:04:23
特定しました
461:デフォルトの名無しさん
08/01/22 22:14:05
>>455
>ちなみに1<=n<=10000の範囲で一番大きなf(n)の値を返すnは871であり、
>f(871)=178である。
n = 6171, f(6171) = 261 じゃないの?
462:デフォルトの名無しさん
08/01/22 22:24:47
1:情報処理
[2]穴埋めです
[3]わかんないです。
[3.1] (Windows)
[3.2] lc-86? C-pad?:
[3.3] C言語:
[4] 期限: 2008/1/24
463:デフォルトの名無しさん
08/01/22 22:25:56
問2
4個の変数
a 整数
b 実数
c 精度の高い実数
d 文字
を宣言し、それぞれに
適当なデータを代入する。
そして次のように画面表示
するプログラム
a の値は ... です
b の値は ... です
c の値は ... です
d の値は ... です
@$---------------------
[解答]
#include <stdio.h>
#include <conio.h>
void main(){
getch();
}
464:デフォルトの名無しさん
08/01/22 22:27:09
37から229までの整数を加算し
その結果を表示するプログラム
@$---------------------
[解答]
#include <stdio.h>
#include <conio.h>
void main(){
for( )
{
}
printf( );
getch();
}
465:デフォルトの名無しさん
08/01/22 22:30:03
山下さんおつかれさまです
466:デフォルトの名無しさん
08/01/22 22:33:08
x = 0 から出発し、x の値を
0.001 づつ増加させることを
繰り返し、x^2 + 7x - 1 の値
が初めて正となった時点で
繰り返しを終了し、そのときの
x の値を表示するプログラム
@$---------------------
[解答]
#include <stdio.h>
#include <conio.h>
void main(){
while( )
{
}
printf( );
getch();
}
467:デフォルトの名無しさん
08/01/22 22:33:51
キーボードから整数を入力させ
その数を x に代入する。
x が 100 より大きいとき、
「入力した数は 100 より大きい」
と表示し、x が 100 以下のとき、
「入力した数は 100 以下です」
と表示するプログラム
@$---------------------
[解答]
#include <stdio.h>
#include <conio.h>
void main(){
getch();
}
468:デフォルトの名無しさん
08/01/22 22:38:11
キーボードからアルファベットを1文字入力させ、それが「a」のとき、「a です」「b」のとき、「b です」
「c」のとき、「c です」「d」のとき、「d です」「e」のとき、「e です」
と表示し、それ以外のとき「a,b,c,d,e 以外の文字」と表示するプログラム
@$---------------------
[解答]
#include <stdio.h>
#include <conio.h>
void main(){
switch( )
{
}
getch();
}
469:デフォルトの名無しさん
08/01/22 22:40:01
死ねカス
470:デフォルトの名無しさん
08/01/22 22:40:12
問10
縦 100m、横 120mのグランド
がある。
縦横それぞれ同じ長さ x だけ
長くして面積が 13000㎡ と
なるようにしたい。
x を少数点以下1桁までの精度
で求めるプログラム。
@$---------------------
[解答]
#include <stdio.h>
#include <conio.h>
void main(){
float x=0;
while( )
{
x = x + 0.01;
}
printf("縦横 %5.1f ㍍広げればよい\n",x);
getch();
}
471:デフォルトの名無しさん
08/01/22 22:42:01
>>462-470
問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
472:デフォルトの名無しさん
08/01/22 22:48:04
>>463,464,466,477
URLリンク(kansai2channeler.hp.infoseek.co.jp)
丸投げスレだから問題丸投げはいい。でも>>1に長いならうpろだ使えってかいてあるよね?
473:455
08/01/22 22:52:54
>>461さん
問題文をそのまま記述したのですが、そうなりますかね?
でも私には判断できないです....。
474:デフォルトの名無しさん
08/01/22 22:54:16
>>473
おそらく1~1000の書き間違いだろ
気にするな
475:デフォルトの名無しさん
08/01/22 22:56:31
>>473
1から1000までの範囲にしといた
#include <stdio.h>
#define N 300
int f(int);
int k=0,array[N]={0};
int main(void) {
int n,a,b=0,c;
for(n=1;n<=1000;n++) {
a=f(n);k=0;
if(a>b) {
b=a;
c=n;
}
}
printf("%d %d\n\n",c,f(c));
for(n=0;n<=b;n++) printf("%d ",array[n]);
return 0;
}
int f(int n) {
array[k++]=n;
if(n==1) return k-1;
if(n%2==0) f(n/2);
else f(3*n+1);
}
476:472
08/01/22 23:01:36
>>472の安価>>477は>>467の間違い
>>468,470,471
>>471の問9に関して題意が不明確なのでこっちで勝手に解釈した。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
>>472含めすべてのプログラムの動作未確認、コンパイルもしていない。
間違ってたらごめんちゃい。
477:デフォルトの名無しさん
08/01/22 23:06:23
兄です。KRDで弟がお世話になっています。特定しましたんでヨロシク!
478:461
08/01/22 23:08:43
>>473
>>474が言ってるように、1~1000なら正しい。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
479:デフォルトの名無しさん
08/01/22 23:11:57
Lets to the best today! マジで?
480:デフォルトの名無しさん
08/01/22 23:17:31
>>470
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main(){
float x=0;
while(0)
{
x = x + 0.01;
}
x=floor((-110+10*sqrt(131.0))*10+0.5)/10;
printf("縦横 %5.1f ㍍広げればよい\n",x);
getch();
}
481:デフォルトの名無しさん
08/01/22 23:20:33
明日もビジネスマナー研修頑張ってください by兄
482:455
08/01/22 23:28:36
すみませんでした!私の書き間違いでした。
1≦n≦10000の範囲で大きな関数を求めることは正しいのですが、
ちなみに~の下りの問題文の方では皆さんのおっしゃる通り
「1≦n≦1000の範囲」においてはnは871でした。
>>474さん
よく確認してから記述するよう以後気を付けます。すみませんでした。
>>475さん>>478さん
ありがとうございます!今自分でもプログラムを組んでいたのですが、
教えて頂いたプログラムを参考にして正しく実行できました。
本当に助かりました。
483:デフォルトの名無しさん
08/01/22 23:45:52
>>480
x = -110 + sqrt(13100);
484:デフォルトの名無しさん
08/01/22 23:55:24
>>483
>>480さんの、顔に、泥を、塗るな!!!!。
485:デフォルトの名無しさん
08/01/22 23:56:56
>>484
なんで、そんな、しゃべり方、なの?
486:デフォルトの名無しさん
08/01/23 00:22:45
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:windows
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:1/25
[5] その他の制限:なし
よろしくお願いします
487:デフォルトの名無しさん
08/01/23 00:28:45
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3.1] OS:windows
[3.2] コンパイラ名とバージョン:visual studio 2005
[3.3] 言語:C
[4] 期限:1月25日
[5] その他の制限:
どなたかよろしくお願いします