落書きノート

ふと自分が気になった事を書いてます

C/C++

C言語で問題を解く

解きながら学ぶC言語作者: 柴田望洋,肘井真一,高木宏典,赤尾浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/11/09メディア: 単行本購入: 2人 クリック: 43回この商品を含むブログ (9件) を見る // q8-6 #include <stdio.h> int factorial(int n) { if(n </stdio.h>…

C言語で問題を解く

解きながら学ぶC言語作者: 柴田望洋,肘井真一,高木宏典,赤尾浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/11/09メディア: 単行本購入: 2人 クリック: 43回この商品を含むブログ (9件) を見る // q8-3 #include <stdio.h> #define max(x, y) x > y ? x </stdio.h>…

C言語で問題を解く

解きながら学ぶC言語作者: 柴田望洋,肘井真一,高木宏典,赤尾浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/11/09メディア: 単行本購入: 2人 クリック: 43回この商品を含むブログ (9件) を見る // q7-9 #include <stdio.h> #include <limits.h> int main(void) { u</limits.h></stdio.h>…

C言語で問題を解く

解きながら学ぶC言語作者: 柴田望洋,肘井真一,高木宏典,赤尾浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/11/09メディア: 単行本購入: 2人 クリック: 43回この商品を含むブログ (9件) を見る // q7-8 #include <stdio.h> int count_bits(unsigned x) {</stdio.h>…

C言語で問題を解く

7章目に差し掛かって色々試していたのですが、仕様が変わっている?ので、答えと同じ表示にならないですね。それにしてもビット計算難しいですよね。自分で考えて頭がパンクしそうでしたが、なんとか出来ました。答えを見たのもありますが、まあこれぐらいな…

C言語で問題を解く

解きながら学ぶC言語作者: 柴田望洋,肘井真一,高木宏典,赤尾浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/11/09メディア: 単行本購入: 2人 クリック: 43回この商品を含むブログ (9件) を見る // q7-1 #include <stdio.h> #include <limits.h> int main(void) { p</limits.h></stdio.h>…

C言語でコンパイラ作成その2

今のところ順調ですが、機能が増えると悩ましいことが増えるんだろうなぁと予期してます。機能的には従来の便利な手続き型のスクリプト言語と関数型言語を混ぜたような文法にしようかなと思ってこんな感じに仕上がりました。まだputsとtoupperしか実装してま…

C言語で問題を解く

解きながら学ぶC言語作者: 柴田望洋,肘井真一,高木宏典,赤尾浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/11/09メディア: 単行本購入: 2人 クリック: 43回この商品を含むブログ (9件) を見る // q6_16 #include <stdio.h> const int max(const int kam</stdio.h>…

C言語でコンパイラを作成してみる

プログラミングを日課にしていると作りたいものも自然と出てきますね。今回はC言語でコンパイラを作ってみてます。今のところputs文だけ実装しました。Hello Worldを出力するだけでも結構大変ですね。このプログラムはまだまだですけど。 #include <stdio.h> #include <string.h></string.h></stdio.h>…

C++でデータベースを作成してみる

MariaDBやPostgreSQLを真似て作ってみてます。表示がおかしいのでここを直せばそれっぽく出来てると思います。今のままでも整ってはいますが、既存のデータベースの表示に近づけてみます。今日は疲れたのでここまで。デストラクタに苦しめられた…。 #include <iostream></iostream>…

C言語で問題を解く

解きながら学ぶC言語作者: 柴田望洋,肘井真一,高木宏典,赤尾浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/11/09メディア: 単行本購入: 2人 クリック: 43回この商品を含むブログ (9件) を見る // q6-10 #include <stdio.h> #define MAX 20 void fill(in</stdio.h>…

C言語で問題を解く

解きながら学ぶC言語作者: 柴田望洋,肘井真一,高木宏典,赤尾浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/11/09メディア: 単行本購入: 2人 クリック: 43回この商品を含むブログ (9件) を見る // q6_4 #include <stdio.h> int cube(int x) { return x *</stdio.h>…

C言語で問題を解く

解きながら学ぶC言語作者: 柴田望洋,肘井真一,高木宏典,赤尾浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/11/09メディア: 単行本購入: 2人 クリック: 43回この商品を含むブログ (9件) を見る // q5_17 #include <stdio.h> #define MAX 1000 int main(v</stdio.h>…

C++で問題を解く AOJ

OpenGLで三角関数を使っておきながら、引数にラジアンを指定するのを忘れていて、立ち往生してました。とりあえずこんな感じです。 // Distance #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main(void) { double x1,y1,x2,y2; cin >> x1 >> y1 </iomanip></cmath></iostream>…

C++で問題を解く AOJ

// Card Game #include <iostream> using namespace std; int main(void) { int n; int taro_cnt = 0, hanako_cnt = 0; string taro,hanako; cin >> n; for(int i = 0; i < n; i++) { cin >> taro >> hanako; if(taro > hanako) taro_cnt += 3; else if(taro < hanako)</iostream>…

C言語で問題を解く

解きながら学ぶC言語作者: 柴田望洋,肘井真一,高木宏典,赤尾浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/11/09メディア: 単行本購入: 2人 クリック: 43回この商品を含むブログ (9件) を見る // q5_1 #include <stdio.h> int main(void) { int i,j,k; </stdio.h>…

C++で問題を解く AOJ

char型の配列とかstringクラスを使って地道にやってましたけど、なぜかAcceptされなかったので解説を見てみたら、stringクラスのsubstrメソッドを使えと書いてあって、やってみるとAcceptされました。解説見て良かったです。かなり頭を使った…。頭がかなり痛…

C++で問題を解く AOJ

// Finding a Word #include <iostream> #include <string> #include <sstream> #include <algorithm> using namespace std; int main(void) { string W, T; string item; string t; int cnt = 0; cin >> W; cin.ignore(); while(getline(cin, T) && T != "END_OF_TEXT") { transform(T.begin(), T.</algorithm></sstream></string></iostream>…

C言語で問題を解く

解きながら学ぶC言語作者: 柴田望洋,肘井真一,高木宏典,赤尾浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/11/09メディア: 単行本購入: 2人 クリック: 43回この商品を含むブログ (9件) を見る // q4_15 #include <stdio.h> int main(void) { int i,num;</stdio.h>…

C++で問題を解く AOJ

// Ring #include <iostream> using namespace std; int main(void) { string s,p; bool flag = false; cin >> s; cin >> p; s += s; if(s.find(p) != string::npos) flag = true; if(flag) cout << "Yes" << endl; else cout << "No" << endl; return 0; }</iostream>

C言語で問題を解く

解きながら学ぶC言語作者: 柴田望洋,肘井真一,高木宏典,赤尾浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/11/09メディア: 単行本購入: 2人 クリック: 43回この商品を含むブログ (9件) を見る // q4_3 #include <stdio.h> int main(void) { int n,sourc</stdio.h>…

C言語で問題を解く AOJ

ASCIIコードを使って、大文字を小文字に変換するアルゴリズムで解いてみました。そんなに難しくはないんですけどね。 // Counting Characters #include <stdio.h> #include <string.h> int main(void) { char buf[1200]; char c; int i; int answer[26]; memset(answer, 0, size</string.h></stdio.h>…

C言語で問題を解く AOJ

// Counting Characters #include <stdio.h> #include <ctype.h> #include <string.h> int main(void) { char buf[1200]; char c; int i; int answer[26]; memset(answer, 0, sizeof(answer)); while(fgets(buf, sizeof(buf), stdin) != NULL) { for(i = 0; buf[i] != '\0'; i++) { if(bu</string.h></ctype.h></stdio.h>…

C言語で問題を解く

解きながら学ぶC言語作者: 柴田望洋,肘井真一,高木宏典,赤尾浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/11/09メディア: 単行本購入: 2人 クリック: 43回この商品を含むブログ (9件) を見る // q3_17 #include <stdio.h> int main(void) { int no; pr</stdio.h>…

C++で問題を解く AIZU ONLINE JUDGE

まー、ここまでやったら配列でやってもいけると思いますが、C言語かC++言語でまた原始的にやってみようと思いますが、とりあえずこんな感じです。 // Counting Characters #include <iostream> #include <map> #include <cctype> using namespace std; int main(void) { char line[1</cctype></map></iostream>…

C++で問題を解く AIZU ONLINE JUDGE

// Sum of Numbers #include <iostream> using namespace std; int main(void) { string number; int answer = 0; while(cin >> number && number[0] != '0') { for(int i = 0; i < number.length(); i++) { answer += number[i] - '0'; } cout << answer << endl; ans</iostream>…

C++で問題を解く AIZU ONLINE JUDGE

// Toggling Cases #include <iostream> #include <cctype> using namespace std; int main(void) { char line[1200]; string answer = ""; cin.getline(line, sizeof(line)); for(int i = 0; line[i] != '\0'; i++) { if(line[i] >= 'a' && line[i] <= 'z') answer += toupper</cctype></iostream>…

C言語で問題を解く

解きながら学ぶC言語作者: 柴田望洋,肘井真一,高木宏典,赤尾浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/11/09メディア: 単行本購入: 2人 クリック: 43回この商品を含むブログ (9件) を見る // q3-4 #include <stdio.h> int main(void) { char buf[10</stdio.h>…

C++で問題を解く AIZU ONLINE JUDGE

// Matrix Multiplication #include <iostream> #include <algorithm> using namespace std; int main(void) { int n,m,l; cin >> n >> m >> l; long long A[n][m],B[m][l],C[n][l]; fill(C[0], C[n], 0); for(int i = 0; i < n; i++) for(int j = 0; j < m; j++) cin >> A[i][j];</algorithm></iostream>…

C++で問題を解く AIZU ONLINE JUDGE

// Spreadsheet #include <iostream> #include <cstdlib> #include <sstream> #include <algorithm> using namespace std; int main(void) { int r, c; int j = 0; string item, line; cin >> r >> c; cin.ignore(); int sheet[r + 1][c + 1]; int row = 0; int column = 0; fill(sheet[0], sheet[r]</algorithm></sstream></cstdlib></iostream>…