ようかんマンがC/C++の宿題を片付けて見せます 26棹 815 :
デフォルトの名無しさん :04/07/09 23:34
>>813 申し訳ございません
どなたか作ってください
重ね重ねお願いいたします
>>812 サイズ指定のない配列って、mallocを使えってことかな?
>>813 スマソ単位かかってて切羽詰ってた(;´Д`)
>>814 回答ありがとうございます!
おかげで夏休み、不安を残さず迎えられそうです(゚∀゚)
>>816 いいえ
mallocは使わなくてもいいです。
そういうことなら嘘プログラム書けばよかったな
>>812 ヽ|・∀・|ノあいよ〜 (1問目は誰かやってると思うから2問目)
#include <stdio.h>
int main(void){
char *mojip[3];
int i, j, k;
mojip[0] = "one"; mojip[1] = "two"; mojip[2] = "three";
for(i=0; i<3; i++){
for(j=0; j<3; j++){
for(k=0; k<3; k++){
if(i!=j && i!=k && j!=k) printf("%s %s %s\n",mojip[i],mojip[j],mojip[k]);
}}}
return 0;
}
「サイズ指定の無い配列」というのがわからん。
>>821 こいういことでは?
int hairetsu[3][] = { { 1, 2, 3, 4 }, { 1, 4, 9, 16 }, { 1, 8, 27, 64 } };
↑これが「サイズ指定の無い」ってこと
これじゃ無理か。
テーブルサイズを容易に変更できるよう・・・ #define使っとけって意味かな・・・?
int[][] = { {1, 1, 1}, {2, 4, 8}, {3, 9, 27}, {4, 16, 64}, {5, 25, 125}, {6, 36, 216}, {7, 49, 343}, {8, 64, 512}, {9, 81, 729}, {10, 100, 1000} }; こういう風にするのかな?
エラー
/* 812 (1) 前半 */ #include<stdio.h> #define TABLE_SIZE 10 int table[TABLE_SIZE][3]; void table_init() { int i; for (i=1; i<=TABLE_SIZE; i++) { table[i-1][0] = i; table[i-1][1] = i*i; table[i-1][2] = i*i*i; } }
/* 812 (1) 後半 */ void func(int x) { int i; for (i=0; i<TABLE_SIZE; i++) { if (table[i][2] == x) { printf("3乗根 %d\n", i+1); break; } } if ((1 <= x) && (x <= TABLE_SIZE)) printf("2乗 %d\n", table[x-1][1]); } int main() { int x; table_init(); printf("数値を入力してください."); scanf ("%d", &x); func(x); return 0; }
834 :
デフォルトの名無しさん :04/07/10 00:20
ライブニッツの公式よりせいどの良い公式を調べて見つけ、Cプログラムを 作成せよ。またその公式とライブニッツの公式との比較も行え と言う宿題が出たのですが、がんばっても解けなかったので よろしくお願い済ます!!
2次元配列だと、両方サイズ指定無しにする訳にはいかないぞ?
>>835 int mat[][3] = {{1,0,0}, {2,0,0}, {3,0,0}, ・・・};
こういうことかと思ったけど。
>>812 一番の問題ちょっと説明いいかげんですね
誰か自分の宿題お願いします。(・_・)/ 入力された3値を辺にもつ三角形の種類およびその面積を表示する プログラムを作成せよ。 ただし「ポインタ変数を引数にもつ関数を作成、使用する」 面積=√s(s-a)(s-b)(s-c) s=(a+b+c)/2 三辺はそれぞれa,b,cとする。 です。お願いします
int pointer_dunc(int *a){ return *a; } int main(){ int a; pointer_dunc(&a); } 後は自分で考えろ。
>>838 ポインタが引数の関数を使えないことはないけど、
ポインタの引数の練習にふさわしい問題かなぁ?
出題者の意図がわからん。
#include <stdio.h> #include <math.h> int menseki(double a, double b, double c, int *result); int main(int argc, char *argv[]) { double result; if (argv != 4 || !menseki(atof(argv[1], argv[2], argv[3]), &result)) { printf("なんかヘンよ\n"); } else { printf("面積 = %f", result); } return 0; } int menseki(double a, double b, double c, int *result) { double s; /* エラーチェックはもっとあるんで、自力で考えてくれ */ if (a <= 0 || b <= 0 || c <= 0) { return 0; } s = (a + b + c) / 2; *result = sqrt(s(s-a) * (s-b) * (s-c)); return 1; }
>>839 ,840
教官によると、できるだけ凝ったプログラムにして欲しいと言っていましたが、
問題の意図も解き方も僕にはわかりません。
ポインタの意味すらわからないんで、どうかお願いします。
>>842 意味も意図も考えず紙を埋めるだけ。
それになんの意味があるのか。
さっさとやめてしまえ。路はいくらでもある。
凝りようもないんだがなあ。。。
>>841 リターン値でエラーを返して、引数で結果を返すってことなら、
ポインタの引数を使う必然性があるな。
気づかなかった。
> if (argv != 4 || !menseki(atof(argv[1], argv[2], argv[3]), &result)) {
これは
if (argv != 4 || !menseki(atof(argv[1]), atof(argv[2]), atof(argv[3]), &result)) {
こうだと思うが。
三角形の種類も表示させるらしいぞ
>>843 ごもっともです。これが専門ではありませんが
>>846 846さんの言うように修正した、841のプログラムでも、エラーが出ます。
「エラー E2314 26: 関数でないものを呼び出している(関数 menseki )」
どうすればいいんでしょうか??
>>841 ありがとうございまふ
三角形のいろんな公式をひっぱってきて判定をガーッとかけまくれば性質抽出は出来るね
>>848 動作確認はしないけど、コンパイルは通るようにしてみた。
#include <stdio.h>
#include <math.h>
int menseki(double a, double b, double c, double *result);
int main(int argc, char *argv[])
{
double result;
if (argc != 4 || !menseki(atof(argv[1]), atof(argv[2]), atof(argv[3]), &result)) {
printf("なんかヘンよ\n");
} else {
printf("面積 = %f", result);
}
return 0;
}
int menseki(double a, double b, double c, double *result)
{
double s;
/* エラーチェックはもっとあるんで、自力で考えてくれ */
if (a <= 0 || b <= 0 || c <= 0) {
return 0;
}
s = (a + b + c) / 2;
*result = sqrt(s * (s-a) * (s-b) * (s-c));
return 1;
}
>>838 ヽ|・∀・|ノ 三角形種類表示
include <stdio.h>
#include <string.h>
#include <math.h>
double Triangular(int a,int b,int c,char *kind){
double s = (a+b+c)/2;
s = sqrt(s*(s-a)*(s-b)*(s-c));
if(a == b && b == c ) strcpy(kind,"正三角形");
else if(a == b || b == c || a == c) strcpy(kind,"二等辺三角形");
else if(a*a + b*b == c*c || a*a + c*c == b*b || b*b + c*c == a*a) strcpy(kind,"直角三角形");
else strcpy(kind,"三角形");
return s;
}
int main(){
int a, b, c;
double s;
char kind[100], gc[100];
printf("A="); a=atoi(gets(gc));
printf("B="); b=atoi(gets(gc));
printf("C="); c=atoi(gets(gc));
s = Triangular(a, b, c, kind);
printf("%s 面積=%f",kind,s);
return 0;
}
>>851 なんかへんよと表示されるだけです・・・。
どなたか、三角形の種類の判別もできるプログラムお願いします。
2等辺とか、正三角とかの判別です。
お忙しいと思いますがどうかお願いします。
おお!ようかんまんさんありがとうございます!感謝です('-'*)
直角二等辺三角形とかは?
#include <stdio.h> #include <string.h> #include <math.h> double Triangular(int a,int b,int c,char *kind){ double s = (a+b+c)/2; s = sqrt(s*(s-a)*(s-b)*(s-c)); if(a == b && b == c ) strcpy(kind,"正三角形"); else if(a*a + b*b == c*c || a*a + c*c == b*b || b*b + c*c == a*a){ if(a == b || b == c || a == c) strcpy(kind,"直角二等辺三角形"); else strcpy(kind,"直角三角形"); }else if(a == b || b == c || a == c) strcpy(kind,"二等辺三角形"); else strcpy(kind,"不等辺三角形"); return s; } int main(){ int a, b, c; double s; char kind[100], gc[100]; printf("A="); a=atoi(gets(gc)); printf("B="); b=atoi(gets(gc)); printf("C="); c=atoi(gets(gc)); s = Triangular(a, b, c, kind); printf("%s 面積=%f",kind,s); return 0; }
以下の(1)〜(3)の全処理をこの順に行うプログラムを作成してください。 (1) ファイルから以下のフォーマット書籍データを読み込み、構造体に格納する。 ファイルは /lesson/cs.endo/04Prog1/biblio.txtからコピーして使用する。 書籍データのファイルの抜粋(「著者名」,「書名」,「出版社」,「発行年」の4つの属性がそれぞれカンマで区切られ、1行に1書籍のデータが格納されている) (例)B.W.Kernighan & D.M.Ritchie,The C Programming Language,Practice Hall,1988 H.M.Deitel & P.J.Deitei,C How to Program,Prentice Hall,2001 (2) (1)で読み込んだ書籍データすべてを、発行年の昇順に並べ替えて次の形式でファイル(ファイル名 formatted.txt)に出力する。 ただし並べ替えのアルゴリズムは何を使ってもよいです。まだ、各書籍データの区切りには空白一行を1つ入れてください。 (例)Author: Brian W. Kernighan & Dennis M. Ritchie Title: The C Programming Language Publisher: Prentice Hall Year: 1988 (3) 書籍データの書名に現れるすべての相異なる単語の出現頻度を求め、標準出力に書き出してください。 ここで、単語は出現した順に並べるものとします。また、大文字は小文字に読み替え、両者を区別しないでください。 また、単語のうち次の冠詞と前置詞 a, the, by, in, on, of, to, with は除外し、カウントしないでください。 という課題があるのですが、助けてください。誰かお願いします。
どこまで分かった?
a・w・k
(1)だけ出来た。
(2)まで出来た。
864 :
デフォルトの名無しさん :
04/07/10 04:11