1 名前:デフォルトの名無しさん [2012/01/13(金) 22:05:06.14 ] C言語の*入門者*向け解説スレッドです。 ★前スレ C言語なら俺に聞け(入門編)Part 94 toro.2ch.net/test/read.cgi/tech/1324648274/ ★過去スレ makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000 ★教えて欲しいのではなく宿題を丸投げしたいだけなら ↓宿題スレ↓へ行ってください。 C/C++の宿題片付けます 155代目 toro.2ch.net/test/read.cgi/tech/1325685876/ ★C++言語については避けてください。C++対応明記スレへどうぞ ★分からない事をなるべく詳しく書いて下さい。 ★ソースコードを晒すと答えやすくなるかもしれません。 # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること # サイズが大きい場合は宿題スレのアップローダ等を利用してください ★開発環境や動作環境も晒すと答えが早いかもしれません。 ★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 長くなりそうなコードはcodepadに貼り付けてもいいでしょう codepad.org/
492 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 19:10:09.97 ] じゃあ答えろよ 何をと訊かれても知らないが
493 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 21:36:33.96 ] >>491 何のプロなん?
494 名前:485 mailto:sage [2012/01/21(土) 21:52:58.18 ] >>492 何を?
495 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 22:03:31.36 ] >>494 何のプロなん?
496 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 22:24:45.54 ] >>482 に俺はプロだから答えられるって言うのもプロっぽくないよな。
497 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 23:07:06.97 ] ああ成る程、プログラマ未満でプロか。
498 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 23:18:27.22 ] 何でID無いんだよ
499 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 23:20:27.02 ] QZが自演できるようにだろ。
500 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 23:30:12.37 ] ID化必要だよな
501 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 02:03:16.11 ] C言語にsprintfがあることを知った時、感動したな
502 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 04:35:58.10 ] >>501 昨日の俺だわw strcatとか使う意味ないわwww
503 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 08:57:59.99 ] sprintf使えるよな win32apiでMessageBoxで変数の値を出力したいときとかも重宝する
504 名前:馬鹿で中2病な厨房 mailto:sage [2012/01/22(日) 14:34:55.78 ] >>484 ありがとうございます
505 名前:デフォルトの名無しさん [2012/01/22(日) 16:15:06.90 ] awabi.2ch.net/test/read.cgi/poverty/1327050821/3
506 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 18:09:40.27 ] >>444 です。 n = 10 * n + (s[i] - '0'); これの意味がわかりました。 ヒントを下さった>>448 さん、ありがとうございました。 これはK&Rに載っているatoi関数、 int atoi(char s[]) { int i, n; n = 0; for (i = 0; s[i] >= '0' && s[i] <= '9'; i++) n = 10 * n + (s[i] - '0'); return n; } の一部分でした。
507 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 18:10:41.90 ] K&Rに習って、自分でもatoi関数を書いてみました。 #include <stdlib.h> int myatoi(char s[]){ char *p = s; int i, j, n, length, len, sum; int *ptr; length = 0; while (*p++) length++; ptr = calloc(length, sizeof(int)); len = length; i = 0; while (s[i] >= 0x30 && s[i] <= 0x39) { ptr[i] = s[i] - 0x30; n = 1; for (j = 0; j < length - 1; j++) n *= 10; ptr[i] *= n; i++; length--; } sum = 0; for (i = 0; i < len; i++) sum += ptr[i]; free(ptr); return sum; } ------------------------------------------- n = 10 * n + (s[i] - '0'); この式ってすごいうまいことやってるんですね
508 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 18:56:12.52 ] #include<stdio.h> #define NUMBER 5 int main(void) { int i; int tensu[NUMBER]={0}; int b[NUMBER]={0}; puts("please put an points of your students"); for(i=0;i<NUMBER;i++) { printf("Student No.%d,Student point:",i+1); scanf("%d",tensu[i]); if(tensu[i]>=60) b[i]=tensu[i]; } puts("The success students are....."); for(i=0;i<NUMBER;i++) { printf("student No.%d:%d points.\n",i+1,b[i]); } return 0; } コンパイルできるんですがどうも全て実行できません 16行目がいけないでしょうか?
509 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 19:05:41.91 ] scanf("%d",&tensu[i]);
510 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 19:14:23.06 ] \(^o^)/ ありがとうございます 初歩的なミスですね。。。
511 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 21:51:57.76 ] 就活中 (p)livedoor.blogimg.jp/jin115/imgs/3/1/31a6f8e6.jpg 就職後 (p)livedoor.blogimg.jp/jin115/imgs/2/b/2b790359.jpg 街の人(やらせ業者)募集中です
512 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 22:58:40.48 ] 平方根を求める関数sqrt(double x)は 「math.h」をインクルードすることで使えるようになりますが このヘッダ内を文字列「sqrt」で検索しても、よくわかってないせいもありますが それらしい計算式が見当たりません sqrt関数はどのようにして、平方根を求めてるのでしょうか? 数学的な計算式は理解しています math.h内でどのように処理されてるのか知りたかったので、聞いてみました win7でVC2010を使用しています
513 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 23:15:17.23 ] プログラム自体はふつう、objやlib、DLLなどにあります ヘッダは宣言のみです
514 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 23:21:47.22 ] >>ヘッダは宣言のみです 勘違いしてました ありがとうございます
515 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 01:00:27.01 ] 本来は使用する側が、関数が組み込まれているライブラリを指定するように作られてるが 標準関数や基本的な関数ははじめから組み込むようにコンパイラやIDEが指定してくれている。 このオマケのような仕組みのために間違えたんだろう。
516 名前:デフォルトの名無しさん [2012/01/23(月) 01:32:34.59 ] C言語で二点の緯度経度から距離を求めることができますか。
517 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 01:36:10.21 ] できない理由はありません。
518 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 01:37:30.57 ] >>512 これはGNU libcのものだが、 とにかく高速である事が求められる数値計算系の実装は パッと見て何をやっているのかさっぱり分からないことも多いw sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/ieee754/dbl-64/e_sqrt.c
519 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 01:38:23.05 ] ちゃんと考えると難しいな、高低は別としても
520 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 01:39:17.77 ] >>516 できるよ 地球の中心を原点として2点の座標のなす角を 内積(内積が0に近いときは外積)から求めて半径を掛ければおk
521 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 01:42:00.26 ] 地球は楕円だから、その分を考慮した やや大仰でめんどくさい式があったはず
522 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 01:43:42.87 ] どこまでの精度が必要か明確にしないとな
523 名前:デフォルトの名無しさん [2012/01/23(月) 01:44:06.59 ] >>517 ありがとうございます。 どのように行えばいいのでしょうか。 >>520 ありがとうございます。 むずかしそうな話ですね^^; 今探してたら www2s.biglobe.ne.jp/~satosi/gmap/map_length.html こういうのがあったんですが、これで可能でしょうか。
524 名前:デフォルトの名無しさん [2012/01/23(月) 01:45:31.89 ] >>521 ありがとうございます。 ヒュベニの公式みたいなやつでしょうか。 >>522 制度は一応、mぐらいあれば大丈夫です。
525 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 01:49:23.81 ] mまで必要ならもっと正確な計算が必要だな その計算じゃ無理だし地形データと海抜情報も必要だろう
526 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 01:56:21.45 ] 緯度経度のほか高さも必要だな。 東京タワー一階と、展望台では移動距離違うしな。直線も。
527 名前:デフォルトの名無しさん [2012/01/23(月) 02:18:43.44 ] >>525 ありがとうございます。 そうですか。 結構複雑な式になるんですかね^^; >>526 ありがとうございます。 高さもですか。。。 高さは平らとして考えていました。
528 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 02:30:51.20 ] そもそもの目的を言え。 m精度がいるのに高さ無視とか、どうせ大した意味もないんだろうけど。
529 名前:デフォルトの名無しさん [2012/01/23(月) 02:40:10.74 ] >>528 はい。 2点の距離を図り速さで割って そこまでにかかる時間を求めたいのです。
530 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 02:44:24.19 ] だったら道路情報じゃねえか 話にならんわ
531 名前:531 mailto:sage [2012/01/23(月) 03:43:29.63 ] 系列データの始点座標(x,y) 移動方向dir ステップ数stepsといった 入力されたデータをテキスト形式でファイルへ保存しないといけないのですが ファイルには-1076994648 2516192 8 1536358 といったわけの分からない数字が保存されます どうすればいいでしょうか? codepad.org/T7yR4vHH
532 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 03:49:24.86 ] x,y,dir,stepsに適切なデータを代入してやればいい
533 名前:531 mailto:sage [2012/01/23(月) 04:11:49.03 ] >>532 すいません具体的にはどういうことでしょうか?
534 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 04:20:00.15 ] 課題説明に記載されている書式なんてわからんから答えようが無い
535 名前:531 mailto:sage [2012/01/23(月) 04:36:55.59 ] >>534 すいません課題説明はこちらです ideone.com/eZmWI ファイルの入出力以外は問題ないようです
536 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 04:43:16.68 ] めんどくさいからよく読んでないけど save_textfil(int startpos[][2], int movedir[][MAXMOVE + 1], int movesteps[][MAXMOVE + 1]) のように渡してそれらを順次出力するだけでは?
537 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 08:13:05.15 ] まぁ、宿題スレに行け、と。
538 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 13:15:54.94 ] 宿題スレでは干されていました。
539 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 14:02:51.92 ] じゃ、諦めろ。
540 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 20:16:49.74 ] #include<stdio.h> double asd(double dx,int no) { int i; double tmp = 1.0; for(i=1;i<=no;i++) tmp *= dx; return (tmp); } int main(void) { int n; double x=0.0; printf("No.1:"); scanf("%f",&x); printf("No.2:"); scanf("%d",&n); printf("answer=%.2f",asd(x,n)); return 0; } 実行結果が No.1:5.0 No.2:2 answer=inf となります。なぜでしょう?
541 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 20:18:01.17 ] >>540 %f だから
542 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 20:20:40.25 ] #include<stdio.h> double asd(double dx,int no) { int i; double tmp = 1.0; for(i=1;i<=no;i++) tmp *= dx; return (tmp); } int main(void) { int n; double x; printf("No.1:"); scanf("%4.1f",&x); printf("No.2:"); scanf("%d",&n); printf("answer=%.2f",asd(x,n)); return 0; } 実行結果が No.1:5.0 No.2:answer=inf となりました\(^o^)/
543 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 20:25:04.22 ] >>542 %4.1f だから
544 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 20:27:58.60 ] >>543 lですかぁ ありがとうございます 本には1とかいてあるようにみえたので・・・
545 名前:デフォルトの名無しさん [2012/01/24(火) 20:07:37.80 ] C言語を知っていれば、なんでもできると思う人います?
546 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 20:10:33.78 ] そう思うやつはC言語を理解してない。
547 名前:デフォルトの名無しさん [2012/01/24(火) 20:32:53.92 ] 結局、基本はC言語だよね
548 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 20:37:02.06 ] >>545 君の言う「なんでも」というのが「妹を作りたい」とか 「ヨガファイアを身に付けたい」とか云うことなんだとすれば、 そんなことを思う人はキチガイだ。
549 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 20:37:21.10 ] >>545 はい
550 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 20:46:11.59 ] C言語を始めたいと思ったんだけど、「Borland C++ Compiler 5.5」の設定ができない… ilink32.cfg は拡張子変更できたんだけどbcc32.cfg が .txtファイルのままになってしまう
551 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 20:50:19.84 ] >>548 自己紹介乙。
552 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 20:53:55.18 ] >>550 setbccでググるといいかも
553 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 20:56:02.76 ] >>545 Cを知っていれば他の言語は簡単、みたいな意味だったら20年くらい前はよくそんなこと言われてたなって感じ。
554 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:00:30.49 ] 「妹を作りたい」、「ヨガファイアを身に付けたい」と言う理由で C言語を学ぼうと思った人がいるかも知れない。
555 名前:デフォルトの名無しさん [2012/01/24(火) 21:02:51.91 ] 同一翻訳内で同じ文字列は、 同じ領域に割り当てられると 規格で保証されていますか? char *amanojaku(char *str) { return str == "YES" ? "NO" : "YES"; } char *say(char *str) { printf("%s,", str); return str; } main() { // VCでは期待通り、"YES,NO,YES"と出力された say(amanojaku(say(amanojaku(say(amanojaku("NO")))))); }
556 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:07:14.39 ] >>555 "YES,NO,YES,"になると思うけど 保証されないはず
557 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:07:31.46 ] >>555 × str == "YES" ?
558 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:10:04.14 ] >>547 違うな。 ゴールに近い言語を使うのが正解。 VBで目的が達成できるものに、Cを敢えて使う理由なんか、無い
559 名前:デフォルトの名無しさん [2012/01/24(火) 21:12:47.63 ] char型の数字を配列にいれたいんですけど どうすればいいんですか? char a[10]=
560 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:13:58.37 ] >>558 大概excelで出来ちゃうので、プログラムくむ必要がなくなる。
561 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:14:11.05 ] >>555 コンパイラオプションによる。
562 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:14:35.89 ] >>559 char a[10] = { 1, 2, 3 };
563 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:15:04.56 ] 数値じゃなく数字なら char a[10] = { '1'. '2'. '3' };
564 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:15:26.43 ] >>555 コンパイラ依存だったような。 >>557 この話でそこに突っ込みを?
565 名前:デフォルトの名無しさん [2012/01/24(火) 21:22:10.34 ] a3b4と入力したらaaabbbbと出力するようにしたいんですが できません。 教えてくれませんか?
566 名前:555 mailto:sage [2012/01/24(火) 21:24:14.11 ] >>556 やっぱり保証はされないですか 残念です。 >>561 具体的にこのオプションがあればOKとかあれば 注意書きして、この方法を使ってみたいのですが >>564 大抵のコンパイラならOKそうな気がするんですけどね
567 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:30:16.43 ] >>565 ab3と入力したら ・abbb ・aaabbb どっちになるの? あと0の扱いは? a01bb2 とかの文字列はどう解釈すんの? プログラム以前の問題だ
568 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:30:57.36 ] >>555 文字列の比較ならstrcmp()使えよ
569 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:32:06.26 ] >>567 ab3 => abbb a3b3 => aaabbb a01bb2 => abbb
570 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:32:54.55 ] >>565 ab0c12d5 こういう入力だと、出力はどうしたい?
571 名前:デフォルトの名無しさん [2012/01/24(火) 21:36:16.27 ] >>567 すみません。 数字の0と1は入力ミス扱い。 連続した数字も入力ミス扱い。 二桁以上も入力ミス扱い。 ab3はabbbとなります。 お願いします。
572 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 22:00:55.70 ] >>571 念のため聞くけど、 「連続した数字」と「二桁以上(の数字?)」は何か違う全くベツのモノ?
573 名前:デフォルトの名無しさん [2012/01/24(火) 22:08:36.77 ] >>572 同じです;; 二桁以上の数字は入力ミス扱いです a10やa23など。
574 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 22:13:00.32 ] >>573 もう少し聞くけど、 もしかしてその文字列は「数字から始まってはいけない」とかいうルールがあったりしない?
575 名前:デフォルトの名無しさん [2012/01/24(火) 22:19:19.40 ] 数字から始まってはいけないですね〜 まぁ早く解いて。
576 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 22:28:23.66 ] 正体は社交場かなんかと勘違いしてるお子チャマか
577 名前:デフォルトの名無しさん [2012/01/24(火) 22:31:54.75 ] あー気持ちわりいなお前 明らかにお前の方がなめてただろ こっちがいらつくのはあたり前だろ 早く寝ろおっさんw
578 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 22:41:42.77 ] ワロタ パターンマッチングの精度半端ねーな
579 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:43:34.53 ] >>565 #include <stdio.h> #include <string.h> int mprint(char *str) { int i, len, n; len = strlen(str); for (i=0; i< len; i++) { char a = str[i]; if ('0' <= a && a <= '9') return 1; else{ char b = str[i+1]; if ( b == '0') return 1; if ('1' <= b && b <= '9') { n = (b - '0'); i++; } else n = 1; while (n-- > 0)putchar(a); } } return 0; } int main() { char buf[256]; printf("input:");scanf("%s",buf); mprint(buf); return 0; }
580 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:51:28.42 ] >>566 gccで-fwritable-stringつけたら動かないんじゃないの
581 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:52:52.47 ] strings、だったごめん。 manから引用 > -fwritable-strings > 文字列定数を書き込み可能なデータセグメントに配置し、同内容の文字列を 1 つの共有オブジェクトにする処理を行いません。これは、文字定数に書き込むことができることを仮定した昔のプログラムとの互換性をと > るために提供されています。‘-traditional’ オプションも同様の効果を含みます。 > > 文字定数に書き込むという考えは非常によくない考えです。“定数” はまさに定数であり、変化すべきではありません。
582 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 00:52:06.30 ] >>555 これでいけ #include <stdio.h> #include <string.h> char *amanojaku(char *str) { return strcmp(str, "YES") == 0 ? "NO" : "YES"; } char *say(char *str) { printf("%s,", str); return str; } int main() { say(amanojaku(say(amanojaku(say(amanojaku("NO")))))); return 0; }
583 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 00:56:52.34 ] 確かにstrcmp()で何の問題があるのかとは思うけど
584 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 01:05:34.77 ] そんな話なのか? それなら単に2つポインタ使えばいいだけじゃねーのか。
585 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 07:14:03.55 ] 単に規格の範囲を疑問に思っただけなのか 「同じ領域に割り当てられると保証されて」いてほしい理由があって聞いたのか どっちでしょうね
586 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 08:01:41.80 ] 保証されている前提で書いた自分のプログラムをなんとか正当なものにしたいんじゃね? 仕事だったらありえねぇ馬鹿だがw
587 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 08:31:02.40 ] 何で攻撃しまくりなんだよw マクロで文字列リテラルが展開されまくったとき、exe サイズ膨れ上がらないかとか さらにそのソースはいろんなコンパイル環境で使いまわすとか 気にしなきゃいけない可能性はいろいろあるだろうに
588 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 08:34:18.18 ] 使いまわすようなコードに 文字リテラルなんて埋め込むなよ
589 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 09:27:52.57 ] >>587 もしそういう要求があるなら尚のこと、コンパイラ任せにするべきじゃない。 例えば、リテラルへのポインタを返す関数を用意しておけば済むことだ。 それにどうせ、マクロを使ったってリテラルの連結をする場合は別領域だ。
590 名前:デフォルトの名無しさん [2012/01/25(水) 12:24:43.54 ] こういうマクロは規格上許されていますか? VC2008では再帰展開は行われず、aaaがbbb aaaに展開されます。 #define aaa bbb aaa
591 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 12:37:28.66 ] >>590 Cリファレンスマニュアルによれば、規格上はアリ。ただし古い処理系だと 再帰展開して止まらなくなってしまうケースがあったようだ
592 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 12:51:22.39 ] >>591 ありがとう。これで安心して使えます。