- -pv
スレッドの閲覧状況:
現在、- がスレを見ています。
これまでに合計 - 表示されました。
※PC・スマホの表示回数をカウントしてます。
※24時間表示がないスレのPVはリセットされます。

c言語詳しいやつ来てくれ

1名無しさん@おーぷん:2015/12/15(火)15:25:05 ID:3tf()
今から問題かく
2名無しさん@おーぷん :2015/12/15(火)15:27:35 ID:3tf()
みてるやついる?
3名無しさん@おーぷん :2015/12/15(火)15:34:11 ID:3tf()
5・・・・要素数の入力
22630
10175
31184
26620
31914

出力
1
0
3
2
4
4名無しさん@おーぷん :2015/12/15(火)15:34:59 ID:3tf()
バブルソートアルゴリズム?ってやつなんだが
5名無しさん@おーぷん :2015/12/15(火)15:36:47 ID:3tf()
#include <stdio.h>
#include <stdlib.h>

#define DATA_MAX 10

typedef struct{
int num;
int score;
}Data;

void bsort(Data data[], int n)

int main(void)
{
int i, n;
Data data[DATA_MAX];

scanf("%d", &n);
if(n>DATA_MAX)
exit(1);

for(i=0;i<n;i++){
scanf("%d", &data[i].score);
data[i].nam = i;
}

bsort(data, n);
6名無しさん@おーぷん :2015/12/15(火)15:36:57 ID:3tf()
ここまでできてる
7名無しさん@おーぷん :2015/12/15(火)15:52:30 ID:8CP
JavaScriptで
入力に同じ数字がある場合は考慮しない

var input = [22630, 10175, 31184, 26620, 31914];

function getLessCount(n, a) {
 var result = 0;
 for (var i = 0; i < a.length; i++) {
  if (n > a[i]) result++;
 }
 return result;
}

for (var i = 0; i < input.length; i++) {
 console.log(getLessCount(input[i], input));
}
8名無しさん@おーぷん :2015/12/15(火)15:57:13 ID:3tf()
javaわからないです('_')
9名無しさん@おーぷん :2015/12/15(火)15:57:37 ID:8CP
JavaScriptだ
10名無しさん@おーぷん :2015/12/15(火)15:58:15 ID:3tf()
すいません素人で全然詳しくないいです('_')
11名無しさん@おーぷん :2015/12/15(火)15:58:38 ID:8CP
ソートせずに、
ある数字より低い数字を数えるだけ
12名無しさん@おーぷん :2015/12/15(火)16:00:31 ID:3tf()
ソートせずにですか。。。。
それが難しいorz
13名無しさん@おーぷん :2015/12/15(火)16:03:19 ID:3tf()
理解できないいいいいいいいいいいい
助けて
14名無しさん@おーぷん :2015/12/15(火)16:06:42 ID:8CP
学校の先生がソート使えって言ってるの?
ソートしたら余計面倒になるじゃない
15名無しさん@おーぷん :2015/12/15(火)16:08:54 ID:3tf()
バブルソートを使うと問題に書いているので使うのではないでしょうか?
すいませんあまり理解できてなくて
16名無しさん@おーぷん :2015/12/15(火)16:17:50 ID:8CP
構造体をソートする問題なわけね
17名無しさん@おーぷん :2015/12/15(火)16:28:53 ID:3tf()
そうだと思いまmす
ほんとに難しすぎます
18名無しさん@おーぷん :2015/12/15(火)16:43:08 ID:8CP
配列の要素の順番は変えずに、numだけ変えていくのかね?

配列の要素のソートは良くあるけど
19名無しさん@おーぷん :2015/12/15(火)16:49:20 ID:3tf()
いまいち
なんでこういう出力になるのかがわからない。。
20名無しさん@おーぷん :2015/12/15(火)17:31:03 ID:3tf()
解決しましました!!!!!
今日慮jくありがとう
21名無しさん@おーぷん :2015/12/15(火)17:34:50 ID:8CP
隣のscoreとの比較だけで、numを入れ替えていく方法は
うまくいかないと思う
22名無しさん@おーぷん :2015/12/15(火)17:46:30 ID:8CP
num score
0 22630
1 10175
2 31184
3 26620
4 31914

scoreでソートすると、
1 10175
0 22630
3 26620
2 31184
4 31914
23名無しさん@おーぷん :2015/12/15(火)17:48:52 ID:8CP
なんで >>7 と同じ結果になるんだ?
24名無しさん@おーぷん :2015/12/15(火)18:29:49 ID:8CP
>7は
22630 がソート後の配列内で何番目か表示
10175 がソート後の配列内で何番目か表示
...
と計算しているから、最初の並びを維持しないと困る
25名無しさん@おーぷん :2015/12/15(火)18:37:59 ID:8CP
>>7のやり方で、入力がこうの場合、

22630
10175
31184
26620
31914
10

出力は
2
1
4
3
5
0
26名無しさん@おーぷん :2015/12/15(火)18:39:24 ID:8CP
scoreによるソートはこうなって結果が変わる

0 22630
1 10175
2 31184
3 26620
4 31914
5 10

5 10
1 10175
0 22630
3 26620
2 31184
4 31914
27名無しさん@おーぷん :2015/12/15(火)18:44:05 ID:8CP
だから、>>23はたまたま一緒だっただけ

ソート後の配列内で何番目かを表示するのと、
ソート前の位置をソート後に順番に表示するのは違う。
28名無しさん@おーぷん :2015/12/15(火)18:50:56 ID:8CP
あえて先生は、二種類の解釈方法がある入力・出力例を出したのでは?

>>7の解釈でソートを使う場合、
ソート前とソート後の変数を使って、

ソート前代入、
scoreでソートし、ソート後代入
ソート前でソートして、ソート後の値を出力

ってやるのだと思う。
29名無しさん@おーぷん :2015/12/15(火)18:51:14 ID:8CP
あってるかな・・・
自信なくなってきた
30名無しさん@おーぷん :2016/10/05(水)19:45:40 ID:v3l
char *bin(uint32_t x);

この記述ってなんなんでしょ?
ポインタの背後に()
31名無しさん@おーぷん :2016/10/13(木)05:31:42 ID:Eh8
unit32_t型の変数 x を引数に取り、
char型へのポインタを返す、
関数 bin

ポインタを返す関数
http://www.ie.u-ryukyu.ac.jp/~e075769/study/study/c/ch10/10_1.php
char *func(引数,...);
32名無しさん@おーぷん :2016/10/13(木)22:35:28 ID:nKI
>>31
そういう関数があるんですね。お答えくださってどうもありがとうございました。

新着レスの表示 | ここまで読んだ

名前: mail:





c言語詳しいやつ来てくれ
CRITEO