ただの日記ALLKGM

ただの日記ALLKGM

2010.05.21
XML
今日は大学の一部での運動会が行われる。

いろいろあるらしいが
俺にとってはただの休みにしかならない。

やったね☆

特にすることはないけど。





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2010.05.21 12:17:43
コメント(5) | コメントを書く


■コメント

お名前
タイトル
メッセージ
画像認証
上の画像で表示されている数字を入力して下さい。


利用規約 に同意してコメントを
※コメントに関するよくある質問は、 こちら をご確認ください。


プロエン  
イブラヒ  さん
#include<stdio.h>
#define N 8

int data[N];

void merge(int end_a, int end_b, int a[N], int b[N], int c[N]);
void mergesort(int p, int q, int s[N]);
void showdata (int p, int q, int s[N]);

int main(){
int i,data[N];

for(i=0;i<N;i++)
scanf("%d",&data[i]);
for(i=0;i<N;i++)
printf("%d",data[i]);
printf("\n");

mergesort(0, N-1, data);

showdata(0,N-1,data);
printf("\n");

}

void mergesort(int p, int q, int s[N]){
int i, med, a[N], b[N], c[N];

printf("(sort[%d,%d])\n",p,q);

if(p<q){
med = (p+q)/2;
mergesort(p, med, s);
printf("\n");

mergesort(med+1, q, s);
printf("\n");

for(i=p; i<=med; i++)
a[i-p] = s[i];
for(i=med+1; i<=q; i++)
b[i-med-1] = s[i];

merge(med-p+1, q-med,a,b,c);
for(i=p; i<=q; i++)
s[i] = c[i-p];
}

printf("(sort[%d,%d])\n",p,q);
printf("sort[%d,%d]\n",p,q);
showdata(p,q,s);
printf("\n");
showdata(0,N-1,s);
printf("\n");
}


void merge(int end_a, int end_b, int a[N], int b[N], int c[N]){

int i=0, j=0, k=0, m;

while( (i<end_a) && (j<end_b) )

if(a[i] < b[j])
c[k++] = a[i++];
else
c[k++] = b[j++];


if(i >= end_a)
for(m=j; m<end_b; m++)
c[m+end_a] = b[m];
else
for(m=i; m<end_a; m++)
c[m+end_b] = a[m];
}

void showdata(int p, int q, int s[N]){

int i;

for(i=p; i<q+1; i++)
printf("%d",s[i]);
}
(2010.05.21 15:55:25)

2222  
イブラヒ  さん
int main(){
int data[N];
int count = 0;
FILE *fp;
int result;
int i;

for(i=1;i<7;i++){
if(i==1) fp = fopen("/opt/local/enshu/data/sortdata1", "rt");
else if(i==2) fp = fopen("/opt/local/enshu/data/sortdata2", "rt");
else if(i==3) fp = fopen("/opt/local/enshu/data/sortdata3", "rt");
else if(i==4) fp = fopen("/opt/local/enshu/data/sortdata4", "rt");
else if(i==5) fp = fopen("/opt/local/enshu/data/sortdata5", "rt");
else if(i==6) fp = fopen("/opt/local/enshu/data/sortdata6", "rt");

if (fp == NULL){
printf("Error:File not found.\n");
exit(1);
}

count = 0;
while(count<N){
result = fscanf(fp, "%d", &data[count]);
if (result == EOF) break;
count++;
} fclose(fp);

printf("sortdata %d\n",i);
printf("Size of data = %7d\n", count);

comp = 0;
mergesort(0,count-1,data);

printf("Number of comparison = %7d\n\n",comp);
}
return 0;
}

void mergesort(int p, int q, int s[N]){

int i, med, a[N], b[N], c[N];
if(p<q){
med = (p+q)/2;
mergesort(p, med, s);
mergesort(med+1, q, s);

for(i=p; i<=med; i++)
a[i-p] = s[i];
for(i=med+1; i<=q; i++)
b[i-med-1] = s[i];

merge(med-p+1, q-med,a,b,c);
for(i=p; i<=q; i++)
s[i] = c[i-p];
}
} (2010.05.21 16:01:45)

続き  
イブラヒ  さん
void merge(int end_a, int end_b, int a[N], int b[N], int c[N]){

int i=0, j=0, k=0, m;

while( (i<end_a) && (j<end_b) ){

if(a[i] < b[j])
c[k++] = a[i++];
else
c[k++] = b[j++];
comp++;
}

if(i >= end_a)
for(m=j; m<end_b; m++)
c[m+end_a] = b[m];
else
for(m=i; m<end_a; m++)
c[m+end_b] = a[m];
}
(2010.05.21 16:02:04)

2-2-2  
イブラヒ  さん
#include <stdio.h>
#define N 10000

void selectionsort(int d[N]);
int comp;
int n;

int main(){
int data[N];
int count = 0;
FILE *fp;
int result;
int i;

for(i=1;i<7;i++){
if(i==1) fp = fopen("/opt/local/enshu/data/sortdata1", "rt");
else if(i==2) fp = fopen("/opt/local/enshu/data/sortdata2", "rt");
else if(i==3) fp = fopen("/opt/local/enshu/data/sortdata3", "rt");
else if(i==4) fp = fopen("/opt/local/enshu/data/sortdata4", "rt");
else if(i==5) fp = fopen("/opt/local/enshu/data/sortdata5", "rt");
else if(i==6) fp = fopen("/opt/local/enshu/data/sortdata6", "rt");

if (fp == NULL){
printf("Error:File not found.\n");
exit(1);
}


count = 0;
while(count<N){
result = fscanf(fp, "%d", &data[count]);
if (result == EOF) break;
count++;
}

n = count;
fclose(fp);

printf("sortdata %d\n",i);
printf("Size of data = %10ld\n", count);

comp = 0;
selectionsort(data);

printf("Number of comparison = %10ld\n\n",comp);
}
return 0;
}

void selectionsort(int d[N]){

int i, j, temp, min;

for(i=0;i<n-1;i++){
for(j=i+1; j<n; j++){
comp++;
if(d[i]>d[j]){
temp=d[i];
d[i]=d[j];
d[j]=temp;
}
}
}
}
(2010.05.21 16:04:36)

2-3-2  
イブラヒ  さん
#include<stdio.h>

int zenkamax(int n);
int zenkamin(int n);

int main(){
int i, a, b;

scanf("%d", &i);

a = zenkamax(i);
b = zenkamin(i);

printf("n=%d\n",i);
printf("%7d\n", a);
printf("%7d\n", b);

return 0;
}

int zenkamax(int n){

if(n==1)
return 0;
else
return (n-1) + (2*zenkamax(n/2));

}

int zenkamin(int n){

if(n==1)
return 0;
else
return (n/2) + (2*zenkamin(n/2));
}
(2010.05.21 16:07:06)

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

PR

×

プロフィール

イブラヒ

イブラヒ

コメント新着

【もんて】 @ 日記が 更新されていないが大丈夫か?
でんち@ Re:11日の日記(08/11) おれもかえった
でんち@ Re:誕生日 1日遅れでおめでた

カレンダー

バックナンバー

2026.05
2026.04
2026.03
2026.02
2026.01
2025.12

キーワードサーチ

▼キーワード検索


© Rakuten Group, Inc.
Design a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: