質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

Q&A

解決済

5回答

2570閲覧

文字列配列に格納された文字列の長さを数える 疑似言語での書き方

kazu-.

総合スコア34

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

0グッド

0クリップ

投稿2018/09/27 10:17

編集2018/09/27 11:55

イメージ説明
文字列をカウント変数でカウントしていってカウント変数を出力しました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cateye

2018/09/27 10:33

申し訳ないが、配列を順に見ていく事も出来ないのなら、初めから勉強しなおしたほうがいいと思います。
guest

回答5

0

Cなど不要。そう、シェル芸ならね!

bash

1$ moji='japan electronics college' 2$ echo $moji|grep -o .|wc -l 3 25

投稿2018/09/27 10:34

hichon

総合スコア5737

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

とりあえずヒントだけ。

たとえば

Floccinaucinihilipilification

この単語を数えてみてください。

今どう数えましたか?
その動作と同じことを考えてみてください。
(絶対プログラムじゃ無理だということであれば私の意図した数え方をしてないので
どういう数え方をしたのか教えてください。)


左から1文字ずつカウントして数えていきましたね?
プログラム上でも同じです。
文字配列を左から1文字ずつ順に見ていき、終わりが\0になるまでカウントしていけば良いんです。

投稿2018/09/27 10:29

編集2018/09/27 11:32
dice142

総合スコア5158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazu-.

2018/09/27 11:11

文字を見て数えました。
dice142

2018/09/27 11:18

そうですね。文字を見ないと数えられませんよね。 では、あなたはどう数えましたか?じっと見て29文字だとわかりましたか? 1,2,...とカウントしながら数えましたか?
kazu-.

2018/09/27 11:19

カウントしながら数えました
dice142

2018/09/27 11:20

いいですね。どこからどこに向かって数えていきましたか?
kazu-.

2018/09/27 11:23

左から右に向かってです
dice142

2018/09/27 11:25

パーフェクトです。 プログラムの文字列も同様に数えることができます。 左端が最初、0番目です。 数える終わりは'\0'ですね。
kazu-.

2018/09/27 11:28

はい。それをどう表現するのか教えて下さい moji[30]とかにしました。
dice142

2018/09/27 11:32

回答に追記しました。考えてみてください。
kazu-.

2018/09/27 11:56

いま回答でわかったところまで書きました。確認お願いします。
dice142

2018/09/27 12:00

いい感じではないでしょうか。 私は簡単にしか確認しませんので、ご自身でも確認してみてくださいね。
guest

0

ベストアンサー

擬似コードで書いてみました。

presude

1#rwludmn <bcmrx.q> 2rwc vjrw() 3{ 4 lqja bca[] = "Cxthx Nunlcaxwrlb Lxuunpn"; 5 rwc r = 9; 6 fqrun(bca[r++] != '\9'); 7 yarwco("%m", r); 8}

output

125

投稿2018/09/27 11:49

tiitoi

総合スコア21956

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dice142

2018/09/27 12:18

BA狙いじゃないし、これは面白い切り口の回答で私的には問題ないんですが、 質問者様は本当にこの回答がベストだったのか甚だ疑問。
Zuishin

2018/09/27 12:38

このまま提出して怒られたらいいんです。 何のために学校に通っているやら。
dice142

2018/09/27 12:44

どういう仕事に就くのかわかりませんが、今のうちにダメなことを学んどくのはいい経験になりますね。
guest

0

文字を左から数えて EOS (つまり\0)になるまで数えましょう.

投稿2018/09/27 11:45

編集2019/06/03 03:49
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

配列先頭からEOSを探すだけです。

投稿2018/09/27 10:52

daisuke7

総合スコア1563

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問