三流大学なら仕方ないな。
名門でも三流でも同じだって。 名門大学では、大抵の場合、学生の大半がちゃんと理解しているから、講義の程度が変わらないというだけであって。 どんな大学の講義でも、大半の学生が理解してなさそうなことは、ちゃんと解説しているだろう?
>>948 日本の大学の程度が低くなったのは戦後だよ。
= = = = = = = 終 了 = = = = = = = = 続ける場合は学歴板
>>943 #include <stdio.h>
#include <stdlib.h>
int gdc(int m, int n) {
if ((m % n) == 0) {
return n;
} else {
return gdc(n, (m % n));
}
}
int main(int argc, char **argv) {
int num1 = 12;
int num2 = 8;
printf("gdc(%d,%d) = %d\n", num1, num2, gdc(num1, num2));
return 0;
}
957 :
891 :2005/07/05(火) 20:17:29
>>894 さん、ありがとうございましたm(_ _)m
<<926 #include<iostream> int main(void){ std::cout << -1.543689013 <<std::endl; return 0; }
>>926 #include <stdio.h>
int main()
{
double x1, x0 = -1.0;
double limit = 1.0e-20;
double diff = 1.0;
while(diff > limit)
{
x1 = x0 - ( x0 * (x0 + 2) + 2 + (2 / x0)) / (3 * x0 + 4 + (2/x0) );
diff = x1 > x0 ? x1 - x0 : x0 - x1;
x0 = x1;
}
printf("ans : x = %g\n", x1);
return 0;
}
961 :
960 :2005/07/05(火) 21:04:08
10桁未満じゃ詰まらんな。 > printf("ans : x = %g\n", x1); を > printf("ans : x = %.20f\n", x1); とでもして、表示桁数増やしてくれ。
>>926 #include <iostream>
double f(double x) { return ((x+2)*x+2)*x+2; }
double s(double x, double gp)
{ return gp*gp > 1e-20 ? s(x + gp, f(x) * f(x+gp) < 0 ? -gp/2 : gp) : x; }
int main(void) { std::cout << s(0, -2) << endl; }
×endl ○std::endl
964 :
960 :2005/07/05(火) 21:17:27
あ、C++だったか。
965 :
926 :2005/07/05(火) 22:20:35
[1] 授業単元: C/C++ [2] 問題文(含コード&リンク): 引数として2進数を文字列で渡すと、 16進数に変換し、文字列として返す関数を作る。 同様に引数を16進数、戻値を2進数で返す関数も作る。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ(バージョン): VC++6.0 [3.3] 言語:C/C++/ [4] 期限:7月9日 [5] その他の制限: 文字列の扱いがどうにもわかりません・・・。 どうかよろしくお願いします。
[1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 任意の整数nまでの和S(n)を求めるプログラムを再起的に関数を呼び出す形で書け [3] 環境 [3.1] OS:Windows [3.2] コンパイラ(バージョン): [3.3] 言語:C [4] 期限:7月7日まで [5] その他の制限: おねがいします
>>967 整数じゃなくて自然数だが
#include <stdio.h>
int sum(int n)
{
if (n == 0) return 0;
else if (n == 1) return 1;
return sum(n-1) + n;
}
main() { printf("%d\n", sum(10)); }
復活の埋蔵金!! でもあと30個はきついよ。
> else if (n == 1) return 1; 不要
972 :
2/1 :2005/07/06(水) 01:20:40
>>966 #include <string>
#include <sstream>
using namespace std;
bool in_range(char x, char a, char b){ return x >= a && x <= b;}
// 2進→16進
string bin2hex(const string &src)
{
stringstream ss;
int tmp = 0;
int limit2 = src.size() % 4;
int limit1 = src.size() / 4 + (limit2 ? 1 : 0);
if( limit2 == 0 ) limit2 = 4;
for(int i = 0; i < limit1; ++i, limit2 = 4)
{
for(int j = 0; j < limit2; ++j)
{
if( ! in_range(src[j], '0', '1') ) throw string("bin2hex format error");
tmp = ( tmp << 1 ) | (src[j] - '0');
if( j % limit2 == (limit2-1) )
{
ss << hex << tmp;
tmp = 0;
}
}
}
return ss.str();
}
973 :
2/2 :2005/07/06(水) 01:20:51
// 16進→2進 string hex2bin(const string &src) { stringstream ss; for(int i = 0; i < src.size(); ++i) { char ch = -1; if( in_range(src[i], '0', '9') ) ch = src[i] - '0'; else if( in_range(tolower(src[i]), 'a', 'f') ) ch = tolower(src[i]) - 'a' + 0xa; else throw string("hex2bin format error"); for(unsigned char mask = 1 << 3; mask != 0; mask >>= 1) ss << !!(ch & mask); } return ss.str(); }
[1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 2人が互いに座標を指定していくような○×クイズのプログラムをつくれ。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ(バージョン): [3.3] 言語:C [4] 期限:7月7日 [5] その他の制限: 1年生なんですが、全くわかりません・・・orz よろしくお願いします!
あ、ちなみに3×3の○×クイズです! 座標というのは 1、3と入力したら左下、 2、2と入力したら真ん中にマークがつくということらしいです。
>>974 =975
貴様はまず○×クイズというものを知れ。プログラムより前に。
[1] 授業単元:プログラミング(C言語) [2] 問題文(含コード&リンク): 下記のような整数型配列において、以下の処理を行うプログラムの作成。 処理を行った後、配列の内容を出力する #define YOUSO 10 int a[YOUSO] = {2,4,6,8,10,12,14,16,18,20} ; int b[YOUSO] = {3,6,9,12,15,18,21,24,27,30} ; (1)配列aの要素をすべて配列bに転送する (2)b=a+bを配列内の要素毎に行う (3)配列aの配列内順序を逆にして、配列bに転送する (4)配列aと配列bの各要素を交換する 以上の処理を1つのプログラムで行うものを作れ、とのことです [3] 環境 [3.1] OS:Linux [3.2] コンパイラ(バージョン): [3.3] 言語:C/ [4] 期限:7月8日まで [5] その他の制限:どこまで習っているか、等々 配列処理までです もうなにがなんだかわけわからなくなってだめぽ、状態です ほとんど丸投げで申し訳ないですがどうぞ力を貸してください
これはクイズじゃないからな、念のため ○│×│○ ─┼─┼─ ×│○│○ ─┼─┼─ ×│○│×
980 :
デフォルトの名無しさん :2005/07/06(水) 07:09:21
>>980 素早いレスdクスです!
でも、明らかにまだ習ってない関数が使われてるようです・・
関数、ポインタはまだ習ってませんorz
こちらの情報が少なすぎたみたいですいません!
>>972 うわー、なるほど。
ありがとうございました
983 :
デフォルトの名無しさん :2005/07/06(水) 10:08:39
[1] 授業単元:プログラミングC言語 [2] 問題文(含コード&リンク): int型整数の三乗値を返す関数はint cube(int x) {/*・・・*/} を作成せよ [3] 環境 [3.1] OS:Windows [3.2] コンパイラ(バージョン): [3.3] 言語:C/C++/どちらでも可 のいずれか [4] 期限:今日午後一時まで
マルチUzeeeeeeeeeeeeeeee
(ノ・ェ・ヽ) キューン U U
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
>>968 のS(n)は
S(1) S(2) S(3) S(4)
。 。 。 。
。。 。。 。。
。。。 。。。
。。。。
と並べることでわかるように三角関数と呼ばれる。
このようなひと目でわかる出力する関数を付け加えよ。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ(バージョン):
[3.3] 言語:C
[4] 期限:7月7日
[5] その他の制限:
宜しくおねがいします
988 :
デフォルトの名無しさん :2005/07/06(水) 11:00:17
[1] 授業単元:プログラミング演習I [2] 問題文: 65 91 39 31 55 76 55 52 63 71 39 38 60 59 65 70 45 51 61 44 -1 上のデータ(一番最後の -1 はデータの終りを表すものとする。)を main() 関数などで適当な実数配列 a に読み込んだとしよう。このとき配列 a[] とその要素数 n を関数の引数として渡すことによって平均、標準偏差、最高点、最低点が計算できる。 そこで、 a の平均点を求める関数: double mean( double a[], int n ) a の標準偏差を求める関数: double stddev( double a[], int n ) a の最高点を求める関数: double max_array( double a[], int n ) a の最低点を求める関数: double min_array( double a[], int n ); を作成し、これらの関数の返してきた値を表示しなさい。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ(バージョン):gcc [3.3] 言語:C [4] 期限:7/12まで [5] その他の制限:「関数と配列について」まで習いました。構造体などはまだ習っていません。 データを読み込む前のプログラムだけでいいので、どなたかご教授お願いします。
>>987 なにがなんだかさっぱりわからん
その図からひと目ではなにもわからん
三角関数ってsinとかcosだろ?
もしかして、こうか?
S(1) S(2) S(3) S(4)
。 。 。 。
。。 。。 。。
。。。 。。。
。。。。
[1] C言語 [2] 100桁同士の正整数の積を 「筆算をまねる方法(1桁ずつ乗算)」 を用いて計算するプログラムを作成せよ. プログラムは以下の仕様に従うこと: プログラムは,標準入力から 100 桁以下の正整数を2つ受け取り, その積を標準出力に出力する. 例: % ./bignum1 123456 123 15185088 [3] OS:Linux [4] 期限:7/8(金)午後一時まで [5]雛形はあるので、雛形の「// ここを頑張ってつくる」 のところをお願いします
#include <stdio.h> #include <string.h> #define MAX_FIGS 200 // 最大桁数 (100桁*100桁の計算は200桁まで) // 長大数を表す構造体 typedef struct { char fig[MAX_FIGS]; // 長大数を各桁ごとに格納 int numFigs; // 最大桁数 } BIGNUM; void readBigNum(BIGNUM *n); void printBigNum(BIGNUM *n); int main(int argc, char *argv[]) { BIGNUM x, y; readBigNum(&x); readBigNum(&y); // ここを頑張ってつくる return 0; }
/* 標準入力から長大数を1つ読み込む * 引数: n - 長大数へのポインタ(格納先)*/ void readBigNum(BIGNUM *n) { int i, j; char str[MAX_FIGS]; // 読み込み scanf("%s\n", str); // 長大数に変換する // 長大数 n の初期化 bzero(n, sizeof(BIGNUM)); // 下位の桁から順次取り出す for (i=strlen(str)-1, j=0; i >= 0; i--, j++) n->fig[j] = str[i] - '0'; // 最大桁数 n->numFigs = j; }
/* * 長大数を標準出力へ書き出す * 引数: n - 長大数へのポインタ */ void printBigNum(BIGNUM *n) { int i; // 先頭の0は無視する for (i=n->numFigs - 1; i >= 1; i--) if (n->fig[i] != 0) break; // 長大数の表示 for ( ; i >= 0; i--) printf("%c", n->fig[i] + '0'); printf("\n"); }
995 :
ななすぃ :2005/07/06(水) 11:39:02
[1] 授業単元:プログラミングC言語 [2] 問題文(含コード&リンク):配列のデータ構造を実現するプログラムを 数パターン作成する ・データの挿入、削除、表示が可能であること。 ・配列に代入するデータは整数型とする。 ・プログラムの仕様(関数への入出力、表示方法など)は自由とする [3] 環境 [3.1] OS:Windows [3.2] コンパイラ(バージョン):Borland C++ Compiler5.5 [3.3] 言語:C/C++/どちらでも可 のいずれか [4] 期限:7月9日昼まで [5] その他: できるだけ早くお願いします。それとよろしければ簡単な注釈 も書いていただければうれしいです。
>>989 それです。
図が変になってしまってすいません。
>>990 BIGNUM * multiplyBigNums( const BIGNUM * x, const BIGNUM * y, BIGNUM * z );
int main()
{
:
// ここを頑張ってつくる
multiplyBigNums( &x, &y, &z );
printBigNum( &z );
return 0;
}
BIGNUM * multiplyBigNums( const BIGNUM * x, const BIGNUM * y, BIGNUM * z )
{
int i, j, k;
memset( z, 0, sizeof( BIGNUM ) );
z->numFigs = x->numFigs + y->numFigs;
for ( i = 0; i < x->numFigs; i ++ )
for ( j = 0; j < y->numFigs; j ++ )
{
k = i + j;
z->fig[ k ] += x->fig[ i ] * y->fig[ j ];
z->fig[ k + 1 ] += z->fig[ k ] / 10;
z->fig[ k ] %= 10;
}
return z;
}
999 :
デフォルトの名無しさん :2005/07/06(水) 12:44:44
999
1000 :
デフォルトの名無しさん :2005/07/06(水) 12:44:59
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。