落書きノート

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

C/C++

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>…

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

// Grading #include <iostream> using namespace std; int main(void) { int m,f,r; int sum; while(cin >> m >> f >> r && (m != -1 || f != -1 || r != -1)) { sum = m + f; if(m == -1 || f == -1 || sum < 30) cout << 'F' << endl; else if(sum >= 80) cout << '</iostream>…

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

// Matrix Vector Multiplication #include <iostream> #include <cstdlib> #include <sstream> #include <algorithm> using namespace std; int main(void) { int n,m; int t; int mi = 0; string line,item; cin >> n >> m; cin.ignore(); int A[n][m],b[m],answer[n]; fill(A[0], A[n], 0); fill(</algorithm></sstream></cstdlib></iostream>…

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

いやー、苦戦しました。難しかったです。こんな感じです。 // Official House #include <iostream> #include <algorithm> #include <vector> using namespace std; struct data_t { int b; int f; int r; int v; bool operator<(const data_t& right) const { return b == right.b ? f == </vector></algorithm></iostream>…

C言語でアルゴリズムとデータ構造その2 前記事の修正版

考えるプログラムの問題は、結構穴が出来ますね。寝ながら考えているとそう思います。チェック漏れがあったので、ソースコードを修正しました。 新・明解C言語によるアルゴリズムとデータ構造作者: 柴田望洋,辻亮介出版社/メーカー: SBクリエイティブ発売日:…

C言語でアルゴリズムとデータ構造

今日はプログラミングが捗りました。Go言語とCrystal言語。ところで今日の最後にこの本の問題を解いてます。久しぶりにやりました。二分探索法と線形探索法を使った問題です。世界で闘うプログラミング力を鍛える本、いつやるんでしょうかね。自分でも思いま…

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

C++11/C++14を使おうと思って型推論を使ってみたら、なぜか変なエラーに阻まれて使えなかったので、今回は普通のC++でやりました。文法、ちゃんと勉強しないと駄目なんですかね。ネットで入門サイトがあるのでそこを参考にしてまたやってみます。連想配列Map…

C/C++とSDL2でアイデアが出たが失敗

前記事の続きです。アイデアが出てやってみましたがやっぱり無理でした。ソースからカスタマイズしていかないと無理だと思います。試したソースコードはこんな感じです。これで最後にします。次回以降からはAndroid(スマホ)のプログラムを作っていく予定で…

C/C++でビジュアルノベルゲーム風のプログラム作成終了

結果は失敗に終わりました。仕様が変更されて融通が効きません。文字の表示のラッピング(折り返し表示)が出来ない仕様になりましたのでここで諦めました。調べてみると以前は出来てたみたいですが、まあここで切り上げておきます。趣味プログラムで考え過…

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

// Reversing Numbers #include <iostream> #include <cstdlib> #include <sstream> using namespace std; int main(int, char ** const) { int n,j = 0; string line, item; cin >> n; int a[n]; cin.ignore(); getline(cin, line); stringstream ss(line); while(getline(ss, item, ' '</sstream></cstdlib></iostream>…

C/C++とSDL2を利用してビジュアルノベルゲーム風のプログラム作成

#include <SDL2/SDL.h> #include <SDL2/SDL_ttf.h> #include <stdio.h> #include <string> const int SCREEN_WIDTH = 640; const int SCREEN_HEIGHT = 480; void render(); void stringSettings(); bool init(); bool loadMedia(); void close(); SDL_Window *gWindow = NULL; SDL_Renderer *gRenderer = N</string></stdio.h></sdl2/sdl_ttf.h></sdl2/sdl.h>…

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

// Print a Chessboard #include <iostream> using namespace std; int main(void) { int H,W; while(cin >> H >> W && H && W) { for(int i = 0; i < H; i++) { for(int j = 0; j < W; j++) { if(i % 2 == 0 && j % 2 == 0) cout << "#"; else if(i % 2 == 1 && j % 2</iostream>…

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

準備運動に解いたつもりが、悩ましい問題に直面して苦戦しました。もう少しレベルを落としたほうが良いかなぁ…。でもまだイントロダクションですが…。 // Print a Rectangle #include <iostream> using namespace std; int main(void) { int H,W; while(cin >> H >> W </iostream>…

SDLでゲームプログラミング

ゲームプログラミングで試したいことが出来たので、とりあえず雛形を作りました。いつものように単発で作っていくだけです。次回以降の記事からメニュー選択画面を作ってみたいと思います。思いつきなのでとりあえずmacOSで試しました。 #include <SDL2/SDL.h> #include <stdio.h></stdio.h></sdl2/sdl.h>…

C言語で不定期練習 前記事の修正版

#include <stdio.h> #include <stdlib.h> int int_cmpr(const int *a, const int *b) { if(*a == *b) return 1; else if(*a > *b) return 0; else return -1; } void *binsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, co</stdlib.h></stdio.h>…

C言語で不定期練習 二分探索法 バイナリサーチ

// 演習問題3-8 #include <stdio.h> #include <stdlib.h> int int_cmpr(const int *a, const int *b) { return *a == *b; } void *binsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) { int pl = 0; int pr </stdlib.h></stdio.h>…

C言語で不定期練習

// 演習問題3-6 #include <stdio.h> #include <stdlib.h> int int_cmpr(const long *a, const long *b) { if(*a < *b) return 1; else if(*a > *b) return -1; else return 0; } int main(void) { int i, nx; long ky; long *x; long *p; puts("bsearch関数による探索"); printf</stdlib.h></stdio.h>…

C言語で不定期練習

// 演習問題3-4 #include <stdio.h> #include <stdlib.h> int bin_search(const int a[], int n, int key) { int pl = 0; int pr = n - 1; int pc; int i; do { pc = (pl + pr) / 2; printf("%*s|", 3, ""); for(i = 0; i < n; i++) { if(i == pl) printf(" <- "); else if(i ==</stdlib.h></stdio.h>…

C/C++で不定期練習 AIZU ONLINE JUDGE

// Simple Calculator #include <iostream> using namespace std; int main(void) { int a,b; char op; while(cin >> a >> op >> b) { if(op == '+') cout << a + b << endl; else if(op == '-') cout << a - b << endl; else if(op == '*') cout << a * b << endl; el</iostream>…

C++で不定期練習 AIZU ONLINE JUDGE

// A/B Problem #include <iostream> using namespace std; int main(void) { int a,b; cin >> a >> b; int d = a / b; int r = a % b; double f = (double)a / b; cout << d << " " << r << " " << fixed << f << endl; return 0; } // Circle #include <iostream> #include <cmath> us</cmath></iostream></iostream>…

C++で不定期練習 AIZU ONLINE JUDGE

// print many hello world #include <iostream> using namespace std; int main(void) { for(int i = 0; i < 1000; i++) cout << "Hello World" << endl; return 0; } // print test cases #include <iostream> using namespace std; int main(void) { int x,i = 1; while(cin ></iostream></iostream>…