C/C++の宿題を片付け ..
357:デフォルトの名無しさん
07/07/19 14:21:04
>>356
#include <complex>
template <typename T>
bool operator<(const std::complex<T>& left, const std::complex<T>& right) {
return std::abs(left) < std::abs(right);
}
358:デフォルトの名無しさん
07/07/19 14:32:44
誰か >>306 お願いします。
359:デフォルトの名無しさん
07/07/19 14:53:49
>>385
複素数をn乗するってことでおk?
360:デフォルトの名無しさん
07/07/19 14:58:11
予言者か!
361:デフォルトの名無しさん
07/07/19 15:24:32
>>360
書いた自分でワロタ
362:デフォルトの名無しさん
07/07/19 15:39:45
>>359 おkです。
363:デフォルトの名無しさん
07/07/19 15:43:07
授業単元:プログラミング
問題文(含コード&リンク):
環境
OS:Windows xp
コンパイラ名とバージョン:ボーランド
言語:C
期限:
その他の制限:
テーマ:標準関数の利用
問題1:文字列を入力、英文字とそれ以外を収納する配列に振り分けしなさい
使用する標準関数:isalpha()など
実行画面
文字列入力==>A12H&jfTy8uZ3#
英字:AHjfTyuZ
その他:12&83#
問題2:文字列と削除文字列を入力し、文字列中から削除文字列を排除しなさい
使用する標準関数:strncmp(),strcpy(),strlen()など
実行画面
文字列入力(m1)==>ABCDEFAADABC
364:デフォルトの名無しさん
07/07/19 15:55:56
syntax errorってなんですか?
cygwin上でemacsを使ってCのソースの入力してコンパイルしたのですが、
syntax errorとでまして、コンパイルできません^^;
↓
syntax error before '{' token
とでます^^;
基本中の基本かもしれませんが^^;
誰かわかりますか?
365:364
07/07/19 15:59:12
失礼・・・カテ違いでした^^;
366:デフォルトの名無しさん
07/07/19 16:01:42
>>306
#include <stdio.h>
int main(void){
double a, b, prev_a, prev_b, const_a, const_b;
int i, n;
printf("a b n : "); scanf("%lf%lf%d", &a, &b, &n);
const_a = a, const_b = b;
for(i = 1, prev_a = a, prev_b = b; i < n; i++, prev_a = a, prev_b = b){
a = prev_a*const_a - prev_b*const_b;
b = prev_a*const_b + const_a*prev_b;
}
printf("%g + %gi\n", a, b);
return 0;
}
367:デフォルトの名無しさん
07/07/19 16:27:16
>>363
>>205と同じやね。>>262>>264
368:デフォルトの名無しさん
07/07/19 17:12:56
>>342
URLリンク(kansai2channeler.hp.infoseek.co.jp)
バグっているかも試練
369:368
07/07/19 17:23:40
後、ボーランドで確認してない。よろ
370:デフォルトの名無しさん
07/07/19 17:58:40
[1] 授業単元:プロA
[2] 問題文
構造体
struct coord{
float x;
float y;
}
を用い、また、coord.data(内容は以下のようなもの)を作成して、
1.2 3.4
2.1 4.5
3.2 2.1
2.0 4.9
5.3 2.8
1.5 3.2
これらの値をメンバx,yに読み込み、(例えばa.x,a.y,b.x,b.y
又はa[0].x,a[0].yなど好きな変数名を作成すればよい。
構造体はa[0],a[1]のように配列でもよい。
この場合、メンバとはa[0].xなどとして結びつく)
xとyの平均をoutput2.dataに出力するプログラムを作れ。
[3] 環境
Windows ,CC ,C++
[4] 期限: 7/19 21:00
よろしくお願いします。
371:デフォルトの名無しさん
07/07/19 18:36:25
>>355
URLリンク(kansai2channeler.hp.infoseek.co.jp)
372:デフォルトの名無しさん
07/07/19 18:46:15
どなたか>>354お願いします
373:デフォルトの名無しさん
07/07/19 19:08:19
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: BCC 5.5.1
[3.3] 言語: C
[4] 期限: できればお早めに
お手数ですが宜しくお願いいたします
374:デフォルトの名無しさん
07/07/19 19:25:43
>>354 (>>372)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
375:デフォルトの名無しさん
07/07/19 19:30:20
>>354
URLリンク(kansai2channeler.hp.infoseek.co.jp)
376:デフォルトの名無しさん
07/07/19 19:32:59
>>373
下の二つの関数を追加して
int gcd(int a, int b){ // 最大公約数を求める関数
int c;
while((c=a%b)!=0){a=b;b=c;}
return b;
}
int gcd3(int a, int b, int c){
return gcd(gcd(a, b), c);
}
if(gcd3(a, b, c)!=1) // これが成り立つ時はなにかの倍数
377:デフォルトの名無しさん
07/07/19 20:28:26
>>373
問1は、ループをxyz共に1000回ずつ回すのは無駄だから
for(x=1; x<=MAX-2; x++) {
for (y=x+1; y<=MAX-1; y++) {
for (z=y+1; z<=MAX; z++) {
みたいにすれば速くなるよ
問2はできてるんじゃないの?
378:デフォルトの名無しさん
07/07/19 20:48:32
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):実行結果と同じ内容を表示するプログラムの作成
実行結果
+
++
+++
++++
+++++
[3] 環境
[3.1] OS:Windows Vista Business
[3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2005
[3.3] 言語:C言語
[4] 期限:2007年9月3日
[5] その他の制限:@文字の出力にはprintfを使用し、プログラム中に2回のみ使用できるものとする
Aアルゴリズムはwhile文の2重ループで行うこと
379:デフォルトの名無しさん
07/07/19 20:49:04
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):月(1〜12)と日(1〜31)をキーボードから入力し、入力された日付を表示する
プログラムの作成
実行結果 (「」内の部分はキーボードからの入力)
月を入力:「15」
月の入力は1以上12以下にしてください
月を入力:「8」
日を入力:「46」
日の入力は1以上31以下にしてください
日を入力:「25」
入力された日付は8月25日です
[3] 環境
[3.1] OS:Windows Vista Business
[3.2] コンパイラ名とバージョン:Microsoft Visual Studio 2005
[3.3] 言語:C言語
[4] 期限:2007年9月3日
[5] その他の制限:@月の入力については1〜12で範囲チェックを行い、範囲外の入力だった
場合は、エラーメッセージを表示して再入力させること
A日の入力については1〜31で範囲チェックを行い、範囲外の入力だった
場合は、エラーメッセージを表示して再入力させること
380:デフォルトの名無しさん
07/07/19 20:54:54
>>378
#include <stdio.h>
int main(void)
{
int i=0, j;
while(i < 5){
j = 0;
while(j <= i){
printf("+");
j++;
}
printf("\n");
i++;
}
return(0);
}
381:デフォルトの名無しさん
07/07/19 20:57:13
>>379
終了の条件は?
382:デフォルトの名無しさん
07/07/19 21:04:44
>>377
問2はいきなり7309から始まるんですよ…
383:デフォルトの名無しさん
07/07/19 21:06:37
>>382
いや、それはそれ以前に処理されたものが画面に表示しきれていないだけでは・・・
実際には処理されているよ。
384:デフォルトの名無しさん
07/07/19 21:07:54
>>382
っ a.exe > result.txt
プロンプトのバッファを超えただけと思う
385:デフォルトの名無しさん
07/07/19 21:21:19
294です。おねがいします
386:デフォルトの名無しさん
07/07/19 21:23:49
>>381
何の終了条件ですか?
387:デフォルトの名無しさん
07/07/19 21:32:44
ああ、1周でいいのか
388:デフォルトの名無しさん
07/07/19 21:38:22
>>379
#include <stdio.h>
int main(void){
int m, d, tmp;
while(1){
printf("月を入力:");
scanf("%d", &m);
if(m<1 || m>12) fprintf(stderr, "月の入力は1以上12以下にしてください\n");
else break;
}
switch(m){
case 2:
tmp = 2;
break;
case 4:
case 6:
case 9:
case 11:
tmp = 1;
default:
tmp = 0;
}
while(1){
printf("日を入力:");
scanf("%d", &d);
if(d < 1 || d > 31-tmp) fprintf(stderr, "日の入力は1以上%d以下にしてください\n", 31-tmp);
else break;
}
printf("入力された日付は%d月%d日です\n\n", m, d);
return(0);
}
389:デフォルトの名無しさん
07/07/19 21:44:17
うわあ、switch文でbreak;書き忘れた><
390:デフォルトの名無しさん
07/07/19 22:00:18
>>375
サンクスです☆
391:デフォルトの名無しさん
07/07/19 22:09:26
>>379
#include <stdio.h>
int main(void) {
int month = 0, day = 0;
while (month<1 || 12<month) {
printf("月を入力:");
scanf("%d", &month);
if (month<1 || 12<month) printf("月の入力は1以上12以下にしてください\n");
}
while (day<1 || 31<day) {
printf("日を入力:");
scanf("%d", &day);
if (day<1 || 31<day) printf("日の入力は1以上31以下にしてください\n");
}
printf("入力された日付は%d月%d日です", month, day);
return 0;
}
392:デフォルトの名無しさん
07/07/19 22:22:33
>>294>>295
お願いします
393:デフォルトの名無しさん
07/07/19 23:01:43
>>376 >>377 >>383
ありがとうございました〜!
394:体験版ありw
07/07/19 23:15:53
株式会社リアルクソエイト
URLリンク(www.realcreate.net)
WILLTY(ウィルティ)はネットワーク上や
外部媒体からウィルスやハッカーが侵入する際の
異常な電子の動きをキャッチし、コンピュータの入り口で
確実にブロックしてしまうという世界初の画期的な方法が
とられています。
たとえ、ウィルス感染したCD,FD,USBなどをインストールしても、
コンピューターがウィルス感染することはありません。
正常なデーターのみがコンピューター内に取り込まれます。
■ 電源コンセントからの情報漏洩をブロック
WILLTYは電源LANシステムを応用したデーター漏洩やハッキングをブロックします。
コンピュータ電源をコンセントに差し込んだ瞬間から機密情報は丸裸になっています。
LAN上のセキュリティーをどれだけ強固にしても、電源コンセントから
あなたの情報は筒抜けになっています
395:デフォルトの名無しさん
07/07/19 23:16:32
>>393
if ( dvsr >= trg ){
このtrgって、sqrtを取得して比較すれば
素数判定が早くできないかな。
dvsr++;
これも奇数を見るだけで良いのじゃないかな。
チェック対象件数が半減すると覆うよ。
396:デフォルトの名無しさん
07/07/19 23:17:16
↑のソフト使った人感想ちょうだいw
397:デフォルトの名無しさん
07/07/19 23:22:24
ウィルスに感染した電子ってスピンか何かが違うのか?
398:デフォルトの名無しさん
07/07/19 23:24:02
URLリンク(kansai2channeler.hp.infoseek.co.jp)
で>>261を参考にしながらPPMファイルを出力したいのですが、できません。
環境はWindows xp + cygwinです。
0 10 10 100 30 10 50 50 100 255 0 0
0 100 20 100 100 20 50 0 20 0 255 0
0 200 30 100 200 30 80 20 15 0 0 255
をCygwin上で入力しています。
何がいけないのでしょうか・・
399:デフォルトの名無しさん
07/07/19 23:24:10
>>397
違わないだろw
壮大な釣りソフトw
400:デフォルトの名無しさん
07/07/19 23:53:45
こんなソフト通用すると思ってんのかw
401:デフォルトの名無しさん
07/07/20 00:04:20
>>394
あぶねえ。
俺、“そういう試みをチャレンジしている会社がある”と信じるところだった。
402:デフォルトの名無しさん
07/07/20 00:14:35
そういうウィルスを作れたら、
量子コンピュータどころじゃない、
21世紀最大の発明となる鴨。
遺伝情報の媒体って超ひもあたりでやるのか?
エンコードやデコードどうするのかなw
403:デフォルトの名無しさん
07/07/20 00:45:57
>>294
とりあえずは問題の意味が分からないんだけど、それは置いておいて
>>294>>295に出ているソースをベースにして作らないといけないの?
コンパイルさえできないんだけど。
404:デフォルトの名無しさん
07/07/20 01:58:29
>>294>>295です
書いてあるプログラムのmainとnumber大域変数は変更しないで
intのスタックを2つ作る(大域変数)。
1つのスタックは数値をいれる。もう1つには演算子を表す数をいれます。
405:デフォルトの名無しさん
07/07/20 02:01:27
コンパイルは出来なくてもいいんです。確か1つ引っかかりますよね。
406:デフォルトの名無しさん
07/07/20 06:45:10
[1] 授業単元:C言語
[2] 問題文(含コード&リンク): 問題010
多分岐型(2)
次の説明は冬季オリンピックの開催年についての説明である。
キーボードから変数year に入力された年号について、
開催された年に第何回大会が開催されたか
画面に表示するプログラムを作成しなさい。
また開催年でない場合は、画面にその旨メッセージを出力すること。
【説明】
1924 年の第1 回大会以来、4 年に1 度開催されている。
1992 年の第16 回大会までは夏季大会と同じ年に開催されたが、
1994 年の第17 回大会からは、夏季大会の2 年後に開催されるようになった。
1940 年、1944 年は第二次世界大戦の影響で中止。
次回は2010 年、第21 回大会、カナダのバンクーバーで開催予定。
[3] 環境
[3.1] OS: Windows;
[3.2] コンパイラ名とバージョン: (VS)
[3.3] 言語: C
[4] 期限: ([2007年07月21日まで]
[5] その他の制限:
よろしく。
407:デフォルトの名無しさん
07/07/20 07:02:51
>>406
やだ
408:デフォルトの名無しさん
07/07/20 07:26:01
>>406
ほらよ、とっときな
#include <stdio.h>
int main(void){
int year;
while(1){
printf("年号は?");scanf("%d",&year);
switch(year){
case 1924:puts("第@回");break;
case 1928:puts("第A回");break;
case 1932:puts("第B回");break;
case 1936:puts("第C回");break;
case 1948:puts("第D回");break;
case 1952:puts("第E回");break;
case 1956:puts("第F回");break;
case 1960:puts("第G回");break;
case 1964:puts("第H回");break;
case 1968:puts("第I回");break;
case 1972:puts("第J回");break;
case 1976:puts("第K回");break;
case 1980:puts("第L回");break;
case 1984:puts("第M回");break;
case 1988:puts("第N回");break;
case 1992:puts("第O回");break;
case 1994:puts("第P回");break;
case 1998:puts("第Q回");break;
case 2002:puts("第R回");break;
case 2006:puts("第S回");break;
default:puts("開催されなかった、あるいはどうなるか分かりません。");break;
}}return 0;
}
409:デフォルトの名無しさん
07/07/20 07:27:22
>>405
コンパイル出来ないのは、
「大域変数を変更する」以前の
「書いてあるプログラム」の問題。
410:デフォルトの名無しさん
07/07/20 11:06:04
>>354
URLリンク(kansai2channeler.hp.infoseek.co.jp)
411:タウリン2000mg配合
07/07/20 11:13:28
[1] 授業単元:計算機プログラミング
[2] 問題文:input7.txtから4×4の行列の要素を読み込み、その逆行列を出力するプログラムを作成せよ。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:よくわかりません。
[3.3] 言語: C言語
[4] 期限: 2007/8/3 まで
URLリンク(www.fluid.cse.nagoya-u.ac.jp)
を改造して作ればいいという課題です。
抜けてる部分だけ作ればいいんですが、それでもいまいちわかりません。
どなたか親切な方がいたら教えてもらえないでしょうか。
412:デフォルトの名無しさん
07/07/20 11:42:11
>>406
URLリンク(kansai2channeler.hp.infoseek.co.jp)
413:デフォルトの名無しさん
07/07/20 11:48:58
>>412
どんなソースかと思いきやww
414:デフォルトの名無しさん
07/07/20 13:02:20
アマリニモカワイソスギル
415:デフォルトの名無しさん
07/07/20 13:05:47
>>411
nagoya-u.ac.jpって書いてあるけど、ブラクラ?
416:デフォルトの名無しさん
07/07/20 13:15:02
>>363
#include <stdio.h> #include <string.h> #include <ctype.h>
#define SIZE 500
int main()
{ char English[SIZE] = {'\0'}; char Other[SIZE] = {'\0'};
char buff[SIZE]= {'\0'}; char *temp; int i,j=0,k=0; int len;
fgets(buff,sizeof(buff),stdin); if(temp = strchr(buff, '\n'))
*temp = '\0';
for(i = 0; buff[i] != '\0'; i++){
if(isalpha(buff[i]))
English[j++] = buff[i];
else
Other[k++] = buff[i];
}
printf("English %s Other %s \n",English,Other);
printf("英文字入力\n");
fgets(buff,sizeof(buff),stdin);
if(temp = strchr(buff, '\n'))
*temp = '\0';
printf("削除文字入力\n");
fgets(Other,sizeof(Other),stdin);
if(temp = strchr(Other, '\n'))
*temp = '\0';
len = strlen(Other);
while(temp = strstr(buff,Other)){
memcpy(temp,temp+len,sizeof(buff));
}
printf("削除後 %s \n", buff);
return 0;
}
417:デフォルトの名無しさん
07/07/20 13:17:10
>>415
サンプルソースだ。問題ないと思うが。
418:デフォルトの名無しさん
07/07/20 13:36:14
[1] 授業単元:演習
[2] 問題文:自然数nを入力すると、任意のディレクトリに任意の名前でn個のフォルダを作成するプログラムを作りなさい。
なお、危険防止のためnの上限は5とする事。
[3] 環境
[3.1] OS: (Windows)
[3.2] コンパイラ名とバージョン: (vs)
[3.3] 言語: (C言語)
[4] 期限:今日中
419:デフォルトの名無しさん
07/07/20 13:38:38
C++の認定試験てあるの?
420:デフォルトの名無しさん
07/07/20 13:52:41
[1] 授業単元: 演習
[2] 問題文(含コード&リンク):
探索パターンと置換パターン、入力ファイル名を引数にとり、
入力ファイルの探索パターンに合致する部分をすべて置換パターンに置き換えるプログラムを作成せよ
パターンにはsedで扱える正規表現のうち、下の部分が使えるように実装せよ
. 改行をのぞく任意の1文字にマッチ
[abc…] aまたはbまたはc…のうちいずれか1文字にマッチ
d* 0個以上のd(dは文字または正規表現)にマッチ
\(str\) 文字列str(strは正規表現を含んでよい)二マッチ
\n n番目に表れた\(...\)の中の文字列にマッチ (nは1から9の整数)
\c cに^,$,.,*,[,\をおくことによりそれ自身にマッチ
.* 0個以上の改行を除く任意の文字にマッチ
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 07年7月22日
[5] その他の制限: system()等使わずに正規表現を実装すること
421:お願いします!
07/07/20 13:54:03
「2個のサイコロ振りをシミュレートするCプログラムを書け。1個目のサイコロ振りにも2個目サイコロ振りにも関数randを使い、2つの出目の和を計算する。」
この問題です!よろしくぅお願いします!
422:デフォルトの名無しさん
07/07/20 13:55:20
>>421
#include <stdlib.h>
#include <stdio.h>
int main() {
int a,b;
a = rand() % 6 + 1;
b = rand() % 6 + 1;
printf("%d", a + b);
return 0;
}
423:デフォルトの名無しさん
07/07/20 14:02:04
>>422
ありがとうございますぅ!ただ、何と何が出たか分からないから個別に表示もおながいもうしあげます
424:デフォルトの名無しさん
07/07/20 14:03:22
printf("%d + %d = %d\n", a, b, a + b);
425:デフォルトの名無しさん
07/07/20 14:04:14
>>423
ほれ
#include <stdlib.h>
#include <stdio.h>
int main() {
int a,b;
a = rand() % 6 + 1
printf("a = %d\n", a);
b = rand() % 6 + 1;
printf("b = %d\n", b);
printf("%d", a + b);
return 0;
}
426:デフォルトの名無しさん
07/07/20 14:05:19
おー!すばらしい!!!あと、半か丁か表示できますか??
427:デフォルトの名無しさん
07/07/20 14:10:53
if(a % 2 == 0) printf("aは丁"); else printf("aは半");
if(b % 2 == 0) printf("bは丁"); else printf("bは半");
428:デフォルトの名無しさん
07/07/20 14:11:47
ちがうよ、2個の合計で丁か半か判断するんだってばwww
429:デフォルトの名無しさん
07/07/20 14:12:12
>>426
そろそろ自分でやったらどうだい?
430:デフォルトの名無しさん
07/07/20 14:13:10
if((a + b) % 2 == 0) printf("丁"); else printf("半");
431:デフォルトの名無しさん
07/07/20 14:15:04
あと、掛け金もおながいします
その辺はきでんのセンスで
432:デフォルトの名無しさん
07/07/20 14:20:09
>>431
なんでいっぺにいわないんだい?
自分でやりなさい。
433:デフォルトの名無しさん
07/07/20 14:22:53
>>431
指定の口座に3本ほど振り込んでくれないか
434:デフォルトの名無しさん
07/07/20 14:23:55
お金はないので他のお礼で。。。
435:デフォルトの名無しさん
07/07/20 14:25:16
釣りだろ
436:デフォルトの名無しさん
07/07/20 14:25:25
6カ月分のガス料金を求めましょう
使用料金=基本料金+(1㎥当たりの単価×使用量)
使用量 基本料金 1㎥当たりの単価
25㎥以下 690円 127円
25㎥から500㎥以下 1170円 108円
500㎥より多い 6980円 96円
月の使用量を順番にキーボードから入力する。
使用料金は基本料金+(1㎥当たりの単価×使用量)で計算する。
各月の使用料金を算出して以下のように表示させる。
例)
1gatu 2gatu 3gatu 4gatu 5gatu 6gatu Goukei heikin
Charge 12500 25600 35410 19860 13250 2980s0 1278540 21906
437:デフォルトの名無しさん
07/07/20 14:26:15
>>434
体?でどう?
438:デフォルトの名無しさん
07/07/20 14:27:04
㎥が文字化けしているぞ?
439:デフォルトの名無しさん
07/07/20 14:31:26
int ryokin(int siyou)
{
int kihon, tanka;
if(siyou <= 25) { kihon = 690; tanka = 127; }
else if(siyou <= 500) { kihon = 1170; tanka = 108; }
else { kihon = 6980; tanka = 96; }
return kihon + siyou * tanka;
}
440:デフォルトの名無しさん
07/07/20 14:36:55
>>438 してないお(^ω^)
441:デフォルトの名無しさん
07/07/20 14:38:41
>>437
女でよければ。。
442:デフォルトの名無しさん
07/07/20 14:39:41
int i, siyou[6], charge[6];
int gokei,heikin;
gokei = 0;
for(i = 0; i < 6; i++) {
printf("%d月の使用量:", i);
scanf("%d", &siyou[i]);
charge[i] = ryokin(siyou[i]);
gokei += charge[i];
}
heikin = gokei / 6;
printf("1gatu 2gatu 3gatu 4gatu 5gatu 6gatu Goukei heikin \n");
printf("Charge");
for(i = 0; i < 6; i++) printf("%6d", charge[i]);
printf("%6d", gokei);
printf("%6d\n", heikin);
443:デフォルトの名無しさん
07/07/20 14:41:16
>>441はやっぱなし!高校生だし
444:デフォルトの名無しさん
07/07/20 14:47:10
>>443
えええええええええええええええええええええええええええええええ
ええええええええええええええええええええええええええええええ
えええええええええええええええええええええええええええええ
ええええええええええええええええええええええええええええ
えええええええええええええええええええええええええええ
ええええええええええええええええええええええええええ
えええええええええええええええええええええええええ
ええええええええええええええええええええええええ
えええええええええええええええええええええええ
ええええええええええええええええええええええ
えええええええええええええええええええええ
ええええええええええええええええええええ
えええええええええええええええええええ
ええええええええええええええええええ
えええええええええええええええええ
ええええええええええええええええ
えええええええええええええええ
ええええええええええええええ
えええええええええええええ
ええええええええええええ
えええええええええええ
ええええええええええ
えええええええええ
ええええええええ
えええええええ
ええええええ
えええええ
ええええ
えええ
ええ
え
445:デフォルトの名無しさん
07/07/20 14:50:05
>>444
for(int i = 0; i < 31; i++) {
for(int j = 0; j < 31 - i; j++) printf("え");
puts("");
}
446:デフォルトの名無しさん
07/07/20 14:50:29
>>445
実はもう書いてあったw
447:デフォルトの名無しさん
07/07/20 14:57:14
なにこの流れ
448:デフォルトの名無しさん
07/07/20 15:13:49
あと、>>418も私です
お礼はできませんが、ほんとお願いします
449:デフォルトの名無しさん
07/07/20 15:16:18
名前は指定なしで勝手にきめていいの?
450:デフォルトの名無しさん
07/07/20 15:16:57
指定しないほうがありがたいです☆
451: ◆DpMW3bRjps
07/07/20 15:26:22
[1] 授業単元:プログラミング実習
[2] 問題文(含コード&リンク):任意の文字列を入力し、その文字列の中に任意の文字が何個入っているかを出力する
プログラムのソースコードを提出しなさい。
実行例)
文字列を入力してください
yamamotoyama
さがす文字を入力してください
y
入力された文字列の中に指定された文字は2個あります
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C
[4] 期限: 2007年07月23日17時まで
[5] その他の制限:今回初めて文字配列というものを習いました!春から初めた初心者です
よろしくお願いします!!
452:デフォルトの名無しさん
07/07/20 15:41:33
>>451
#include <stdio.h>
#define N 128
int main(void)
{
char target, str[N];
int i, count=0;
printf("文字列を入力してください\n> ");
gets(str);
printf("さがす文字を入力してください\n> ");
gets(&target);
for(i=0 ; i<N ; i++){
if( str[i] == target ) count++;
}
printf("\n入力された文字列の中に指定された文字は%d個あります\n", count);
return(0);
}
453:デフォルトの名無しさん
07/07/20 16:02:07
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: (Windows/Linux/等々) 自宅はWindows、学内はLinux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) 自宅:Microsoft Framework SDK 学内:gcc
[3.3] 言語: (C/C++/どちらでも可 のいずれか) C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 7月21日まで(おそらく日付変わるまでなら大丈夫)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
基本的に情報系の高校生でも組めるようなプログラムにしていただけると助かります。
多少複雑になってもいいので、できるだけ基本的な命令(ifとかfor)でお願いします
454: ◆DpMW3bRjps
07/07/20 16:25:21
>>451さんへ
ありがとうございます!!
455: ◆UoNQqijD4I
07/07/20 17:08:04
>452ですが。今コンパイルしたら下のようにエラーがでました(><)
/tmp/cc2eSWqP.o(.text+0x38): In function `main':
: warning: the `gets' function is dangerous and should not be used.
456:デフォルトの名無しさん
07/07/20 17:13:46
内容:
[1] 授業単元:C++
[2] 問題文 文字列の長さを計算する関数を作成せよ
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: C++
[4] 期限: (20日18:00まで]
[5] その他の制限: 以下の内容に手を加えて欲しいのですが・・・
#include <stdio.h>
#define MAX 100
string_length(char str[MAX]);
int main(void){
int i,string_len;
char string[MAX];
printf("入力:");
scanf("%s",string);
printf("文字列の大きさは%dです。",string_length(string));
return(0);
}
int string_legth(char str[MAX]){
int i;
int str_len;
for(i=0;str[i]!='\0';i++);{
}
str_len=i;
return(str_len);
}
Error: 外部シンボル '_string_length' が未解決
と、出て四苦八苦してるのでよろしくお願いします
457:デフォルトの名無しさん
07/07/20 17:15:06
>>455
ワーニングだ
fgetsに帰ればおk
458:デフォルトの名無しさん
07/07/20 17:16:07
> char target, str[N];
> gets(&target);
コレは幾らなんでもマズい
459:デフォルトの名無しさん
07/07/20 17:19:11
>>456
- string_length(char str[MAX]);
+ int string_length(char str[MAX]);
- int string_legth(char str[MAX]){
+ int string_length(char str[MAX]){
460:456
07/07/20 17:22:01
>>459さん
ありがとうございます。俺が間抜けでした!!
レポート出してきます!!
461:デフォルトの名無しさん
07/07/20 18:32:36
>>418
URLリンク(kansai2channeler.hp.infoseek.co.jp)
チェックは甘いが。
462:電通女 ◆v1Uy5WkQ7k
07/07/20 19:41:06
試験勉強中です…付き合ってくださる師匠様募集中…
[1] 授業単元:関数を自作する
[2] 問題文:n!を計算するプログラムを作る
[3] 環境
[3.1] OS:Windows XP
[3.2] コンパイラ名とバージョン:???
[3.3] 言語:C++ …なんですけど、先生はいつもC言語と混ざっている気がする。
#include <stdio.h>
int kaijo(int n)
{
int ans,i;
ans=i;
for(i=1;i<=n;i++) ans*=i;
return ans;
}
int main(void)
{
int n,k;
printf("n="); scanf("&d",&n);
k=kaijo(n);
printf("%d!=%d\n",n,k);
return 1;
}
とやってみたら、
n=5
10494432!=0
となってしまって…。
463:デフォルトの名無しさん
07/07/20 19:44:44
scanf("&d",&n);をscanf("%d",&n);に変えると幸せになれる
464:デフォルトの名無しさん
07/07/20 19:47:59
kaijo()もおかしいから、それだけじゃ幸せにはなれない
465:デフォルトの名無しさん
07/07/20 19:52:57
順を追って考えろ
int ans, i;
このときのansの値とiの値は特に決められていない
だからans = i;
としたところで何も意味がない
ans = 定数にしてやれ
466:電通女 ◆v1Uy5WkQ7k
07/07/20 19:53:09
>>463
それだけで幸せになれました。ありがとうございます。
またわからないとこが出てきたら来ます。
467:デフォルトの名無しさん
07/07/20 19:55:12
これで電通かよ・・・
大阪電気通信大学の間違いじゃないのか・・・
468:デフォルトの名無しさん
07/07/20 19:58:03
>>462
一緒に幸せになろう
469:電通女 ◆v1Uy5WkQ7k
07/07/20 19:59:05
いや、私は電気通信大学じゃないですよw
電気通信大学意以外でも電通って訳すところ、以外とたくさんあるようで。
470:デフォルトの名無しさん
07/07/20 20:03:29
[1] 授業単元: 情報演習基礎
[2] 問題文(含コード&リンク):
・ 区間[ a, b ]において連続なる関数f ( x) について,定積分の計算を行う。
・適用する式は,シンプソンの公式f ( x)=1/(1+x2)とする。
・a=0, b=100, e=0.0000001の場合の積分値とnの値を表示する
・各変数(nを除く)の型はdoubleとする
[3] 環境
[3.1] OS: WinXP
[3.2] コンパイラ名とバージョン: visualstudio2005
[3.3] 言語:C++
[4] 期限: 2007 7/22
[5] その他の制限:標準ライブラリは禁止
よろしくおねがいします。
471:デフォルトの名無しさん
07/07/20 20:05:12
>>470
printfも使っちゃだめなのか?w
472:電通女 ◆v1Uy5WkQ7k
07/07/20 20:08:25
#include <stdio.h>
int add(int a,int b)
{
int c=a+b;
a=100;b=200;
return c;
}
int main(void)
{
int a,b,c;
a=1;b=2;c=add(a,b);
printf("%d+%d=%d\n",a,b,c);
return 1;
}
これの実行結果が1+2=3になるんですけど、最初の方の100も200も消えちゃってるってことですか?
473:デフォルトの名無しさん
07/07/20 20:12:04
>>472
関数の中で宣言した変数は関数を抜けると消えてなくなるよ?
474:デフォルトの名無しさん
07/07/20 20:17:42
ここは宿題スレであって質問スレではないから
質問をしたいなら質問スレに行け。
475:電通女 ◆v1Uy5WkQ7k
07/07/20 20:23:41
おっと、すみません。
初心者歓迎スレに移行しまする。
476:デフォルトの名無しさん
07/07/20 20:23:42
>>453
URLリンク(kansai2channeler.hp.infoseek.co.jp)
477: ◆UoNQqijD4I
07/07/20 20:27:13
>>457さん、fgetsに変えたのにまだエラーがでます泣
478: ◆UoNQqijD4I
07/07/20 20:30:25
>477ですが、ちなみに今度はこんなエラーです
tin.c: 関数 `main' 内:
tin.c:12: error: too few arguments to function `fgets'
tin.c:14: error: too few arguments to function `fgets'
tin.c:16: error: `gcc' undeclared (first use in this function)
tin.c:16: error: (Each undeclared identifier is reported only once
tin.c:16: error: for each function it appears in.)
tin.c:16: error: 文法エラー before "for"
tin.c:16: error: 文法エラー before ')' token
tin.c: トップレベル:
tin.c:20: error: 文法エラー before string constant
tin.c:20: 警告: conflicting types for built-in function `printf'
tin.c:20: 警告: data definition has no type or storage class
479:デフォルトの名無しさん
07/07/20 20:33:22
>>471
URLリンク(www.geocities.jp)
こういうやつのつもりで言ったんですが、違うんですか?
課題が出るときに標準ライブラリ禁止といわれただけなので、よくわからないです
480:デフォルトの名無しさん
07/07/20 20:35:13
>>478
いやゴメン、使い方はオンラインマニュアルなりで確認しようね
とりあえず
fgets(buf, sizeof(buf), stdin);
にすればおk
あと>>458
481:480
07/07/20 20:35:50
bufじゃなかった、strだった
482:デフォルトの名無しさん
07/07/20 20:49:02
finを思い出した。
483:電通女 ◆v1Uy5WkQ7k
07/07/20 20:57:35
スイマセンこれは宿題なんでこっちで教えてください。
1+2+3+…+nをつくるんですが、
#include <stdio.h>
int sum(int n)
{
int ans,i;
ans=i;
for(i=0;i<=n;i++) ans+=i;
return ans;
}
int main(void)
{
int n,s;
printf("n="); scanf("%d",&n);
s=sum(n);
printf("1から%dまでの和は%dです。\n",n,s);
return 1;
}
こうしたら実行結果が
n=5
1から5までの和は16です。
となってしまったんですが、どこで1増えてしまってるんでしょうか?
484:デフォルトの名無しさん
07/07/20 20:59:16
>>483
よく見てないけど、sum()の中の
ans=i;
485:デフォルトの名無しさん
07/07/20 20:59:42
ans=i;をans=0;に変えると幸せになれる
486:デフォルトの名無しさん
07/07/20 20:59:44
>>483
>ans=i;
何を代入してるんだ。
487:電通女 ◆v1Uy5WkQ7k
07/07/20 21:00:39
ああ!
ans=0;
ですね!ありがとうございました!
488:デフォルトの名無しさん
07/07/20 21:11:04
上に書いてあったのに読んでないんだな
489:デフォルトの名無しさん
07/07/20 21:19:48
宿題を人に投げる人間なんてそんなもん。
490:デフォルトの名無しさん
07/07/20 21:20:35
ans=iはans=1の写し間違いだとesp
491:電通女 ◆v1Uy5WkQ7k
07/07/20 21:38:53
おお、なるほど。
492:デフォルトの名無しさん
07/07/20 21:44:31
コピペに移し間違いなんt
493:デフォルトの名無しさん
07/07/20 22:48:16
>>479
C言語にprintf関数やputs関数など、多数の関数群(標準ライブラリ関数)があるように
よく読んだか?
494:デフォルトの名無しさん
07/07/20 22:49:58
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
次のようにプログラムを作成せよ。以下のプログラムのmainとnumber大域変数は変更しないで、
intのスタックを2つ作る(大域変数)。1つのスタックは数値をいれる。もう1つには演算子を表す数をいれる
#include<stdio.h>
#include<ctype.h>
char *p;char c[100];
int expression(void);
int term(void);
int number(void);
main(){
int ans;
while(1){
printf("Enter expression : ");
fgets(c,90,stdin);
p=&c;
if(*p == '\n')
{break;}
ans=expression();
printf("Answer:%d\n" , ans);
}
}
495:デフォルトの名無しさん
07/07/20 22:50:48
int expression(){
int ans;
ans = term();
while(1){
if(*p == '+'){
*p++;
ans = ans + term();
}
else if(*p == '-'){
*p++;
ans = ans - term();
}
else
break;
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2007年07月21日
[5] その他の制限:特になし
496:デフォルトの名無しさん
07/07/20 22:55:05
>>494
翻訳ソフトにかけた日本語みたいだな。さっぱりわからん。
497:デフォルトの名無しさん
07/07/20 22:56:27
>>494
こんな問題出す糞教官は死んだ方がいいな
498:デフォルトの名無しさん
07/07/20 22:58:10
>>493
読み飛ばして勘違いしていました
すみません
>>470は標準ライブラリではなく
C++標準ライブラリです
499:デフォルトの名無しさん
07/07/20 23:01:05
>>494
問題文は?
500:デフォルトの名無しさん
07/07/20 23:02:02
>>498
std::coutとかも標準ライブラリじゃねぇの?
501:デフォルトの名無しさん
07/07/20 23:23:13
必要なものはアセンブラで組めと
502:デフォルトの名無しさん
07/07/20 23:24:09
>>494です
書いたプログラムのmainとnumber大域変数は変更しないで、
intが2つのに変えます。1つにはスタックは数値をいれて、もう1つには演算子を表す数をいれます。
それで、+−*/を出来るようにします。
例えば
+の時は0
-の時は1
*の時は2
/の時は3 を入れるそうです。
503:デフォルトの名無しさん
07/07/20 23:24:54
日本語でおk
504:デフォルトの名無しさん
07/07/20 23:29:52
>>1に
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
ってあるから標準ライブラリ使うなって言うトチ狂った事が多発するんじゃね?
ここで
[5] その他の制限: (どこまで習っているか、ある特定の標準ライブラリ関数は使ってはいけない等々)
って書いとけばちょっとはマシになるのでは?
505:デフォルトの名無しさん
07/07/20 23:30:58
別にどうでも良い。
スルーするなり、非標準の関数を用いるなり、好きにすれば良いじゃん。
506:デフォルトの名無しさん
07/07/20 23:31:08
[1] 授業単元: アルゴリズム
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限: 7/23
[5] その他の制限: 特になし
よろしくお願いします
507:デフォルトの名無しさん
07/07/20 23:34:06
[5] その他の制限:(#include<stdio.h>は使ってはいけない等々)
[6] どこまで習っているか (for文を習いました等々)
もっと具体的に、そして分けたほうがいいんじゃないか?
508:デフォルトの名無しさん
07/07/20 23:39:25
>>494
括弧は使うの?
509:デフォルトの名無しさん
07/07/20 23:41:46
>>507
んなコマいこと言ってたらキリが無い
510:デフォルトの名無しさん
07/07/20 23:44:49
>>508
括弧はどこの括弧ですか?大域変数なら、その大域変数を用いて
プログラムを作成するみたいです
511:デフォルトの名無しさん
07/07/20 23:45:05
>>506
再帰
int fib(int n) {
if (n == 0) return 0;
else if (n == 1) return 1;
else return fib(n-1) + fib(n-2);
}
非再帰
int fib(int n) {
int a = 0;
int b = 1;
while (n > 0) {
int t = a+b;
a = b;
b = t;
n = n-1;
}
return a;
}
512:508
07/07/20 23:48:54
>>494, 510
入力する式で括弧を使うかってこと
513:デフォルトの名無しさん
07/07/20 23:52:35
>>506
そのフィボナッチ数列あってる?
初項と第2項は共に1じゃなかったっけ?
514:デフォルトの名無しさん
07/07/20 23:55:37
>>513
fib(1)とfib(2)を1にしたいんじゃないかな
そうすっと、fib(0)を0にしてfib(1)を1にするとちょうどよくなる
515:デフォルトの名無しさん
07/07/21 00:03:37
>>512
括弧は使っても使わなくても大丈夫です。
とにかく、問題文の内容を使い動けばいいみたいです
516:デフォルトの名無しさん
07/07/21 00:04:58
>>506
#include <stdio.h>
int fib1(int n) { //再帰
if (n == 0) return 0;
else if (n == 1) return 1;
else return fib1(n-1) + fib1(n-2);
}
int fib2(int n) { //非再帰
int a = 0;
int b = 1;
while (n > 0) {
int t = a+b;
a = b;
b = t;
n = n-1;
}
return a;
}
int main(void) {
int n[] = {10, 20, 30, 40, 45};
int i;
for (i=0;i<5;i++) printf("%d ", fib1(n[i]));
putchar('\n');
for (i=0;i<5;i++) printf("%d ", fib2(n[i]));
putchar('\n');
return 0;
}
517:デフォルトの名無しさん
07/07/21 00:20:07
>>515
>以下のプログラムのmainとnumber大域変数
mainとnumberは大域変数なのか?
>とにかく、問題文の内容を使い動けばいいみたいです
前スレで回答があったんだがな。気がつかなかった?
518:デフォルトの名無しさん
07/07/21 00:51:20
>>511 >>516
ありがとうございました
参考にさせてもらいます
519:デフォルトの名無しさん
07/07/21 02:36:41
3目並べのプログラムです。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
何度も対戦できるようにするために列の判定の配列を初期化するようにしたらコンパイルエラーが出るようになってしまいました。
頭の中がぐちゃぐちゃになってきたので、アドバイス等いただければと思います。
正常にプログラムを実行したとき、先攻or後攻を決めることになりますが
また実装はしていませんのでお飾り状態です。
520:デフォルトの名無しさん
07/07/21 02:39:33
>>517
以下のプログラムのmainとnumber大域変数は変更しないで、
1つのスタックは数値ともう1つには演算子を表す数を大域変数にすればいいと
思います
521:デフォルトの名無しさん
07/07/21 02:50:35
>>520
mainは大域変数なのか?
522:デフォルトの名無しさん
07/07/21 02:58:09
>>519
酔っぱらっているので、ロジックはチェックできないがw
まず、変数と関数に同じcheckを割り当てることを止めろ。
配列={0}とできるのは、配列変数の宣言をする時。
それ以外の箇所で初期化したいなら、
ループで各要素に0を代入するか、
>memset(area,sizeof(area),0);
とかするといいぞ。
523:デフォルトの名無しさん
07/07/21 03:18:49
>>520
宿題の回答を依頼したいなら、
使う用語は理解してからにしてくれ。
大域をpublicと言う意味で使うにしても、
mainやnumberは変数ではないよ。
スタックと言う言葉の意味は分かっているのか?
依頼したい内容が、そもそも通じてないから、
回答が無いのじゃないかな?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5373日前に更新/328 KB
担当:undef