Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

จำนวนตัวอักษรที่มีค่า ASCII น้อยกว่าและมากกว่า k ใน C++


เราได้รับสตริงที่มีความยาวเท่าใดก็ได้ และภารกิจคือการคำนวณจำนวนตัวอักษรที่มีค่า ASCII น้อยกว่าหรือมากกว่าหรือเท่ากับค่าจำนวนเต็มที่กำหนด k

ค่า ASCII สำหรับอักขระ A-Z แสดงไว้ด้านล่าง

A B C D E F G H ฉัน J K L ไม่มี O P Q R S
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83


T U V W X ใช่ Z
84 85 86 87 88 89 90

ค่า ASCII สำหรับอักขระ a-z แสดงไว้ด้านล่าง

a b c d f g h ผม j k l n o p q r s
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 114


t u v w x y z
116 117 118 119 120 121 122

ป้อนข้อมูล − str =“TuTorials PoinT”, int k =100

ผลผลิต

จำนวนตัวอักษรที่มีค่า ASCII น้อยกว่า k คือ − 6

จำนวนตัวอักษรที่มีค่า ASCII เท่ากับหรือมากกว่า k คือ − 9

คำอธิบาย

เราได้รับ k เป็น 100 ดังนั้นเราจะตรวจสอบค่า ASCII ของอักขระในสตริง ดังนั้น ค่า ASCII ของ T คือ 84 <100 u คือ 117> 100 o คือ 111> 100 r คือ 114> 100 i คือ 105> 100 a คือ 97 <100 l คือ 108> 100 s คือ 115> 100, P คือ 80 <100, n คือ 110> 100 ดังนั้น จำนวนตัวอักษรทั้งหมดที่มีค่า ASCII น้อยกว่า k คือ 6 และจำนวนตัวอักษรทั้งหมดที่มีค่า ASCII เท่ากับหรือมากกว่า k คือ 9

ป้อนข้อมูล − str =“HellO All”, int k =90

ผลผลิต

จำนวนตัวอักษรที่มีค่า ASCII น้อยกว่า k คือ − 3

จำนวนตัวอักษรที่มีค่า ASCII เท่ากับหรือมากกว่า k คือ − 5

คำอธิบาย

เราได้รับ k เป็น 100 ดังนั้นเราจะตรวจสอบค่า ASCII ของอักขระในสตริง ดังนั้นค่า ASCII ของ H คือ 72 <90 e คือ 101> 90 l คือ 108> 100 l คือ 108> 100 O คือ 79 <90 A คือ 65 <90 l คือ 108> 100 l คือ 108> 100 ดังนั้น จำนวนทั้งหมดของตัวอักษรที่มีค่า ASCII น้อยกว่า k คือ 3 และจำนวนตัวอักษรทั้งหมดที่มีค่า ASCII เท่ากับหรือมากกว่า k คือ 5

แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้

  • ป้อนสตริงของตัวพิมพ์ใหญ่และตัวพิมพ์เล็กและค่าจำนวนเต็มของ k

  • คำนวณความยาวของสตริงโดยใช้ฟังก์ชัน str.length() และส่งไปยังฟังก์ชันเพื่อดำเนินการต่อไป

  • สร้างการนับตัวแปรชั่วคราวเพื่อเก็บค่าที่น้อยกว่า k และตั้งค่าเป็น 0

  • เริ่มวนรอบ FOR จาก i ถึง 0 จนถึงความยาวของสตริง

  • ภายในลูป ให้ตรวจสอบ IF str[i]

  • คืนค่าการนับสำหรับค่าที่น้อยกว่า k

  • ในการคำนวณหาค่าที่มากกว่า k ให้ตั้งค่า int มากกว่า =len - Less_than(str,k, len);

  • พิมพ์ผลลัพธ์

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
//Count of alphabets having ASCII value less than and greater than k
int Less_than(string str, int k, int length){
   int count = 0;
   for (int i = 0; i < length; i++){
      if (str[i] < k){
         count++;
      }
   }
   return count;
}
int main(){
   string str = "TuTorials PoinT";
   int k = 100;
   int len = str.length();
   cout<<"Count of alphabets having ASCII value less than k are: "<<Less_than(str,k, len);
   int greater = len - Less_than(str,k, len);
   cout<<"\nCount of alphabets having ASCII value equals or greater than k are: "<<greater;
   return 0;
}

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -

Count of alphabets having ASCII value less than k are: 6
Count of alphabets having ASCII value equals or greater than k are: 9