[過去ログ] 【初心者】課題をクリアしていくスレ【講習会】 (787レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
72: 名前は開発中のものです。 [sage] 04/06/16 09:07 ID:E0t6wJPT(2/3) AAS
>>70
70(1): 名前は開発中のものです。 [sage] 04/06/16 01:41 ID:qW9lKpJw(1) AAS
>>68
間違ってる希ガス。
1000までの数の中の素数を上げるんじゃないですよん。
変数chknumが必要かもう一度考え直してみなはれ。(こっちのが見やすいかもしんないけど)
最初、オレもそう思ったけど、
問題には、小さい方から1000個って書いてある悪感。

for(j=0;count<1000;j++){
これが紛らわしい。
73: 名前は開発中のものです。 [] 04/06/16 14:41 ID:Zcc4AjKX(1) AAS
              ∩
             | |
             | |
       ∧_∧  | |    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      ( ´Д`)//  < 先生!今から参加していいですか?
      /     /    \_______________
     / /|    /
  __| | .|     | __
  \   ̄ ̄ ̄ ̄ ̄   \
  ||\            \
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
     .||              ||

数当てゲーム
外部リンク[zip]:gamdev.org
74: 生徒(C++) [sage] 04/06/16 15:06 ID:KVxQtTo1(1) AAS
先生、標準講座C++という本を読み終わった程度ですが参加してみます。
でもアルゴリズムは全然知らないので、総当りです。

#include<iostream>
#include<list>
using namespace std;
int main()
{//総当りで素数を探す
 list<int> prime;//素数
 int num=2;//走査する値
 while(1)
 {
  for(list<int>::iterator itr=prime.begin();itr!=prime.end();itr++)
   if(num%(*itr)==0)break;//素数以外はループを抜ける
  if(itr==prime.end())prime.push_back(num);//素数は保存
  if(prime.size()==1000)break;//1000個目で終了
  num++;//値を1増やす
 }
 cout<<"1000個目の素数:"<<(*prime.rbegin())<<endl;
 return 0;
}
75: 4 [] 04/06/16 15:59 ID:XOSz7qTz(2/2) AAS
参加は嬉しい限りですよね >>1
1(8): 名前は開発中のものです。 [] 04/06/10 18:05 ID:VshiFFV8(1/2) AAS
ゲームに必要な要素を先生が出してくれます

その課題をクリアしていく講習会です
さん
でもむしろ…先生役やりたい人誰か居ない?
激しく募集中です…
76: 名前は開発中のものです。 [sage] 04/06/16 18:33 ID:Ls5cfn3b(1) AAS
<html><body><script>
function s(n){
for (i=2;i<=n/2;i++)if(n%i==0)return false;
return true;
}
o="2,3,";c=0;
for(j=4;;j++){
if (s(j)){c++;o+=j+',';}
if (c>999)break;
}
document.write(o);
</script></body></html>
77
(2): 63 ◆xdaKt6k1XI [sage] 04/06/16 20:42 ID:KZI0wz/S(1) AAS
挫折しますた・・・orz
78
(1): 名前は開発中のものです。 [sage] 04/06/16 22:21 ID:uyNGxE8j(1) AAS
>>77
外部リンク[html]:www.ese.yamanashi.ac.jp
79
(1): 名前は開発中のものです。 [sage] 04/06/16 23:54 ID:E0t6wJPT(3/3) AAS
>>77
どこでどう挫折したのか書いてみましょうよ。
80: 名前は開発中のものです。 [sage] 04/06/17 00:05 ID:AAkEHKib(1/2) AAS
よし、俺も素数のと数当てやってみる
81: 名前は開発中のものです。 [sage] 04/06/17 00:44 ID:AAkEHKib(2/2) AAS
#include <stdio.h>
#include <math.h>

int IsPrime(int);

int main()
{
int i, n = 1;
printf(" 2 ");
for(i = 0; i < 999; i++){
for(n+=2; IsPrime(n) == 0; n+=2);
printf("%4d ", n);
}
return 0;
}

int IsPrime(int n)
{
int i;
if(n % 2 == 0 && n != 2) return 0;
for(i = 3; i <= sqrt(n); i += 2)
if(n % i == 0) return 0;
return 1;
}

2を出すべきか出さざるべきか小一時間悩んだ…
82: 63 ◆xdaKt6k1XI [sage] 04/06/17 07:40 ID:wIlIrMhO(1) AAS
>>78
結構難しそうっすね。
>>79
2から自分自身のまで順番に割ってって計算結果が1以外だったら自分自身の数を1足してやりなおして、計算結果が1だけだったらその数を表示するってようにしたんですが。
83
(1): 名前は開発中のものです。 [sage] 04/06/17 10:39 ID:qLkBm+a6(1) AAS
その考え方で問題ないか確認してみる。...のあとの数字は余り。

5/1 = 5 ... 0
5/2 = 2 ... 1
5/3 = 1 ... 2
5/4 = 1 ... 1
5/5 = 1 ... 0

6/1 = 6 ... 0
6/2 = 3 ... 0
6/3 = 2 ... 0
6/4 = 1 ... 2
6/5 = 1 ... 1
6/6 = 1 ... 0
84: 63 ◆xdaKt6k1XI [sage] 04/06/18 15:04 ID:uMGX0XjB(1) AAS
>>83
駄目でしたか・・・・もう一度がんばります!
85
(2): 名前は開発中のものです。 [sage] 04/06/19 14:57 ID:W8craWnM(1/2) AAS
#include <stdio.h>
void main()
{
unsigned long cun;
int a,i;
printf("2\n");
for(i=3;i<=1000;i+=2){
for(a=3;a<i;a+=2){
cun++;
if(i%a==0)
break;
}
if(i==a)
printf("%d\n");
}
}
暇なんで参加
86
(1): 85 [sage] 04/06/19 14:58 ID:W8craWnM(2/2) AAS
unsigned long cun; とcun++;
は無視で <(_ _)>
87: 名前は開発中のものです。 [sage] 04/06/19 17:01 ID:olZSV2kJ(1) AAS
>>85-86
Upするまえにテストしよ〜よ。
それから、問題文をちゃんと読むべし。
88: 生徒A [sage] 04/06/19 19:27 ID:GZf8LDr8(1) AAS
そういえば、新しい課題って無いの?
89
(1): 名前は開発中のものです。 [sage] 04/06/19 20:08 ID:hqj9xu9C(1) AAS
素数とかはロジックを考えるのは大切だけど、できてもあまり嬉しくないからなぁ。
かといって特定の分野に特化すると、それぞれの分野には初心者スレがあるし。
「適当なウィンドウを作成してsin波形を描画する」あたりはどう?
90
(1): 4 ◆3VUXqvbfSY [] 04/06/19 21:47 ID:wn6hjF1m(1/3) AAS
良いねその課題!…ってチョットレベル上がり杉な…
…まあ良いか…
でもまずは、640*480のウィンドウに
(0,0)320*240の赤い四角を描いてください。
91: 4 ◆3VUXqvbfSY [] 04/06/19 22:17 ID:wn6hjF1m(2/3) AAS
前課題解答例

#include <stdio.h>

int Check_Prime(long n)//素数判定
{
long loops;
loops=1;
while(loops*loops < n)
{
if(loops>2
2(3): 先生 [sage] 04/06/10 18:07 ID:4pS/jyZe(1) AAS
まずはコンパイラを用意しましょう。
用意できました?
)loops+=2;
else loops++;
if(n%loops==0)return 1;
}
return 0;
}

void main(void)
{
long loops=2,m=1;
printf("%ld %ld\n",m,loops);
while(m<2000)
{
m++;
printf("%ld %ld\n",m,loops);
}
if(loops>2)loops+=2;
else loops++;
}
92
(1): 63 ◆xdaKt6k1XI [sage] 04/06/19 22:23 ID:D2QJG2Dd(1/2) AAS
素数は無理でしたが・・・
>>90の課題はできました。

WIDTH 640,480
COLOR 255
BOXF 320,240,1,0
stop
93: 63 ◆xdaKt6k1XI [sage] 04/06/19 22:24 ID:D2QJG2Dd(2/2) AAS
>>92
BOXF 320,240,1,0

BOXF 320,240,0,0
です。
94: 4 [] 04/06/19 22:25 ID:wn6hjF1m(3/3) AAS
ミスった(汗。訂正
void main(void)
{
long loops=2,m=1;
printf("%ld %ld\n",m,loops);
while(loops<2000)
{
if(Check_Prime(loops)==0)
{
m++;
printf("%ld %ld\n",m,loops);
}
if(loops>2)loops+=2;
else loops++;
}
}
95: 生徒A [sage] 04/06/20 04:33 ID:9LoKJ5Oe(1/3) AAS
なんだか、構造体とかポインタとかWin32APIとかGDIとかメッセージループとか
難しすぎなんですけど…

できたには、できました。

#include "windows.h"
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow )
{
WNDCLASSEX wcex;HWND hWnd;MSG msg;
// ウィンドウクラス構造体を設定
wcex.cbSize = sizeof(WNDCLASSEX);wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = (WNDPROC)WndProc;wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;wcex.hInstance = hInstance;wcex.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wcex.lpszMenuName = NULL;wcex.lpszClassName = "ModelApp";
wcex.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
// ウインドウクラスを登録
RegisterClassEx(&wcex);
// ウインドウを作成
hWnd = CreateWindow(wcex.lpszClassName,
"640×480のウィンドウ上の(0,0)へ320×240の赤い四角を描く",
WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,640,480,NULL,NULL,hInstance,NULL);
ShowWindow(hWnd, nCmdShow);UpdateWindow(hWnd);
// メッセージループ
while(GetMessage(&msg, NULL, 0, 0))
{TranslateMessage(&msg);DispatchMessage(&msg);}return msg.wParam;
}
96: 生徒A [sage] 04/06/20 04:33 ID:9LoKJ5Oe(2/3) AAS
// ウインドウプロシージャ
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
HDC hDC;PAINTSTRUCT ps;static HPEN hPen;static HBRUSH hBr;
RECT box;box.bottom =480;box.left =0;box.right =640;box.top =0;
// メッセージの種類に応じて処理を分岐
switch (message){
case WM_CREATE:hPen=CreatePen(PS_SOLID,1,RGB(255,0,0));hBr=CreateSolidBrush(0x00000000);
return 0;
case WM_PAINT:
hDC=BeginPaint(hWnd,&ps);SelectObject(hDC,hBr);FillRect(hDC,&box,hBr);
SelectObject(hDC,hPen);Rectangle(hDC,0,0,320,240);EndPaint(hWnd,&ps);return 0;
case WM_DESTROY:PostQuitMessage(0);return 0;
default:return DefWindowProc(hWnd, message, wParam, lParam);}
}
1-
あと 691 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.027s