リストに含まれる記号の数を求める手続きを作りたいのですが。
(0 -1 -2 -3) この場合は0を返す
(pooh piglet 2001) この場合は2を返す
(1192 538 (owl rabbit)) この場合は2を返す
再帰を使うのですがうまくいきません。
1つめと2つめの例はできるのですが、3つめは中にリストがあって
そのリストの中も数えるところがよくわかりません。
(define (count x)
(if (null? x) 0
(if (number? (car x))
(count (cdr x))
(+ (count (cdr x) 1)))))
これだとうまくいきませんでした。
おねがいします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
その最後の例だと, count を再帰したときに引数は
(1192 538 (owl rabbit))→(538 (owl rabbit))→((owl rabbit))
と変化していきますよね. つまり, 「(car x) がリストのときにはその中も調べる」という処理が必要です.
ドットペアを考慮する必要があるならそれなりな処理も追加.
この回答への補足
(if (list? (car x))
(+ (count (caar x) 1)
リストの中を調べるとき
((owl rabbit)) の owl を取り出したいのですが
caar だと owl だけ出してしまってそこで終了してしまいます・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- Excel(エクセル) 【エクセル】COUNTIFの検索条件が可変する数字の場合の数式 1 2022/09/27 15:34
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) vba シートコピーの不具合 1 2022/06/25 17:48
- PHP PHP MySql ページング 2 2022/09/20 06:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
AIの登場でプログラマーたちが...
-
IIS+ASP.NETでForms認証中の設定
-
プログラミング初心者です。 Wi...
-
本格的なWebアプリを公開する時...
-
プログラミング未経験者(殆ど未...
-
16x16のスプライトフォント
-
過剰なオブジェクト指向脳から...
-
VBAでパワーシェルを実行したい...
-
プログラミング
-
CLispのloop内の挙動について
-
プログラム言語について。
-
プログラマーと学歴の関係性に...
-
windowsでテキストファイルの各...
-
正規表現で複数マッチ条件で悩...
-
Pythonって何を意識した言語な...
-
VBA 電話番号の正規表現について
-
プログラミング ソースコード
-
ExcelVBAでFormulaR1C1を列範囲...
-
初心者powershellのPS1ファイル...
-
Arduinoに関する質問
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミング
-
小学1年生の子です。塾に行かせ...
-
vba クリップボードクリアにつ...
-
プログラマーと学歴の関係性に...
-
Webサイト内に埋め込んだmp4動...
-
正規表現で複数マッチ条件で悩...
-
windowsでテキストファイルの各...
-
楽しくて最高のプログラミング...
-
プログラミング ソースコード
-
Pythonって何を意識した言語な...
-
プログラミングを教えたいです...
-
pythonで複数画像からgifを作る...
-
pythonにてseleniumを使うも、...
-
Pythonでgif画像が上手く作れない
-
Google ColaboでGUI作成
-
テキストファイルのファイル名...
-
プログラミング、アーキテクチ...
-
そのまま使っただけなのに・・...
-
このURLで広告を出しているのは...
-
chatGPTで次々と質問をしていく...
おすすめ情報