Viết hàm để tạo 1 xâu , là xâu được viết theo thứ tự ngược lại của xâu S
Viết chương trình cho 1 xâu kí tự, hãy kiểm tra tính đối xứng của nó.
gthik: xâu đối xứng là xâu đọc từ trái sang phải hay ngược lại là như nhau.
Input: chứa 1 xâu S
Output: in ra YES nếu S là xâu đối xứng ngược lại in ra NO.
#include <iostream>
#include <string>
using namespace std;
int main()
{
string st;
int dai,i,kt;
cout<<"Nhap chuoi:"; getline(cin,st);
dai=st.length();
kt=0;
for (int i=0;i<dai;i++)
if (st[i]!=st[dai-i-1]) kt=1;
if (kt==0) cout<<"YES";
else cout<<"NO";
return 0;
}
Xâu kí tự được gọi là đối xứng nêu thay đổi thứ tự ngược lại các kí tự của xâu thì vẫn nhận được dãy ban đầu. Ví dụ xâu “abcdcba" là đối xứng, còn xâu “1011” không là đối xứng. Thiết kế và viết chương trình kiểm tra một xâu kí tự cho trước có là đối xứng hay không. Yêu cầu đưa ra quy trình thiết kế theo phương pháp làm mịn dần.
Tham khảo:
Quy trình thiết kế theo phương pháp làm mịn dần để kiểm tra xâu kí tự có là đối xứng hay không gồm các bước sau:
Bước 1: Nhận đầu vào là xâu kí tự cần kiểm tra.
Bước 2: Loại bỏ các kí tự không cần thiết, chẳng hạn khoảng trắng và dấu cách, để chuẩn bị cho quá trình kiểm tra.
Bước 3: Chuyển đổi xâu kí tự về dạng chữ thường hoặc dạng chữ hoa (tuỳ thuộc vào yêu cầu của đề bài) để đảm bảo tính nhất quán trong quá trình kiểm tra.
Bước 4: Sử dụng một vòng lặp để so sánh các kí tự ở đầu và cuối xâu kí tự, sau đó di chuyển lần lượt về phía nhau.
Bước 5: Trong quá trình lặp lại, so sánh các kí tự ở hai vị trí tương ứng với nhau. Nếu chúng khác nhau, xâu kí tự không là đối xứng và chương trình dừng lại, trả về kết quả là "Không đối xứng".
Bước 6: Nếu các kí tự ở hai vị trí tương ứng với nhau đều giống nhau, tiếp tục di chuyển các con trỏ về phía nhau và so sánh các kí tự tiếp theo cho đến khi hoàn thành kiểm tra toàn bộ xâu kí tự.
Bước 7: Nếu tất cả các cặp kí tự ở vị trí tương ứng với nhau đều giống nhau, tức là xâu kí tự là đối xứng, chương trình dừng lại và trả về kết quả là "Đối xứng".
Bước 8: Kết thúc chương trình và đưa ra kết quả cuối cùng.
Chương trình:
def kiem_tra_doi_xung(xau):
# Loại bỏ các kí tự không cần thiết và chuyển đổi xâu về dạng chữ thường
xau = xau.replace(" ", "").lower()
n = len(xau)
# Sử dụng vòng lặp để kiểm tra từ đầu và cuối xâu kí tự
for i in range(n // 2):
if xau[i] != xau[n - i - 1]:
return "Không đối xứng"
return "Đối xứng"
viết chương trình nhập vào xâu S. In ra màn hình xâu S1 là xâu đảo ngược của xâu S gồm các kí tự được in hoa
Program HOC24;
var s1,s2: string;
i: byte;
begin
write('Nhap xau S: '); readln(s);
s1:=''
for i:= length(s) downto 1 do
if s[i] in ['A'..'Z'] then s1:=s1+s[i];
write('Xau S1 : ',s1);
readln
end.
Viết công thức nhập vào một xâu a. In ra xâu đó theo thứ tự ngược lại b. Đưa ra độ dàu của xâu c. Đếm số lượng ký tự 'a' có trong xâu. Giúp em câu này với ạ 🥺❤
xau = input('Nhập vào một xâu: ')
# In ra xâu đó theo thứ tự ngược lại
xau_nguoc = xau[::-1]
print('Xâu đảo ngược: ', xau_nguoc)
# Đưa ra độ dài của xâu
do_dai = len(xau)
print('Độ dài của xâu: ', do_dai)
# Đếm số lượng ký tự 'a' có trong xâu
so_luong_a = xau.count('a')
print('Số lượng ký tự a trong xâu: ', so_luong_a)
Nhập 1 xâu vào từ bàn phím và đưa ra màn hình xâu đó nhưng được viết theo thứ tự ngược lại.(mn giúp em với ạ, em đang cần gấp ạ)
uses crt;
var st:string;
i,d:integer;
begin
clrscr;
readln(st);
d:=length(st);
for i:=d downto 1 do
write(st[i]);
readln;
end.
#include <bits/stdc++.h>
using namespace std;
string s;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);cout.tie(NULL);
cin>>s; reverse(s.begin(),s.end());
cout<<s;
return 0;
}
Viết chương trình nhập từ bàn phím một xâu kí tự st1 có độ dài tối đa là 50 1- Đếm số kí tự “N” và “n” trong xâu st1 2- Đưa ra màn hình xâu st2 gồm tất cả kí tự in hoatrong xâu st1 3- Đưa ra màn hình xâu st1 viết theo chiều ngược lại Giúp mik với ạ
program stringManipulation;
var
st1, st2: string;
countN, i: integer;
begin
write('Nhap vao xau ki tu st1: ');
readln(st1);
countN := 0;
for i := 1 to length(st1) do
begin
if (st1[i] = 'N') or (st1[i] = 'n') then
begin
countN := countN + 1;
end;
end;
writeln('So ky tu N va n trong xau st1 la: ', countN);
st2 := ''
for i := 1 to length(st1) do
begin
if (st1[i] >= 'A') and (st1[i] <= 'Z') then
begin
st2 := st2 + st1[i];
end;
end;
writeln('Cac ky tu in hoa trong xau st1 la: ', st2);
write('Xau st1 viet theo chieu nguoc lai la: ');
for i := length(st1) downto 1 do
begin
write(st1[i]);
end;
readln;
end.
st1 = input("Nhập vào xâu kí tự: ")
count_n = 0
st2 = ""
for char in st1:
if char == 'N' or char == 'n':
count_n += 1
if char.isupper():
st2 += char
print("Số lần xuất hiện của kí tự 'N' và 'n' là:", count_n)
print("Xâu kí tự chỉ chứa kí tự in hoa là:", st2)
print("Xâu kí tự đảo ngược là:", st1[::-1])
Cho một xâu S có N kí tự. Người ta viết các kí tự của xâu S lên vòng tròn theo chiều kim đồng hồ. Như vậy, nếu đi trên vòng tròn theo chiều kim đồng hồ thì kí tự thứ N+1 chính là kí tự thứ nhất của xâu S. Xuất phát từ ký tự thứ nhất của xâu S trên vòng tròn, ta đếm từng ký tự theo chiều kim đồng hồ đến kí tự thứ K rồi cắt vòng tròn tại vị trí sau kí tự thứ K này, ta được một xâu mới R mà ký tự đầu tiên của xâu mới là kí tự thứ K+1. Dữ liệu vào: Cho từ tệp văn bản DOIXAU.INP dòng đầu tiên là xâu S, dòng thứ 2 là số nguyên K(1 ≤ K ≤ 104). Kết quả: Ghi vào file DOIXAU.OUT xâu R.
Hãy viết chương trình nhập vào từ bàn phím xâu kí tự S (không quá 200 kí tự). Sau đó thực hiện các công việc sau:
+ In lại xâu S theo chiều ngược lại.
+ Đếm xem trong xâu S có bao nhiêu từ.
VD: S= ‘Do Minh Thom87’
=> In lại xâu S: ’78mohT hniM oD’
=> Số từ: 3
Mọi người giúp mình với ạ!
Program HOC24;
var S: string;
d,i: byte;
begin
write('S= '); readln(s);
For i:= length(s) downto 1 do write(s[i]);
writeln;
while s[length(s)]=#32 do delete(s,length(s),1);
while pos(#32#32,s)<>0 do delete(s,pos(#32#32,s),1);
while s[1]=#32 do delete(s,1,1);
d:=0;
for i:=1 to length(s) do d:=d+1;
write('So tu :',d);
readln
end.
uses crt;
var s:string[200];
i,d,dem:integer;
begin
clrscr;
write('Nhap xau:'); readln(s);
d:=length(s);
write('Xau viet theo chieu nguoc la: ');
for i:=d downto 1 do
write(st[i]);
writeln;
dem:=0;
for i:=1 to d do
if st[i]=#32 then inc(dem);
writeln('So tu la: ',dem);
readln;
end.
Viết chương trình nhập vào một xâu ký tự S từ bàn phím. Xuất xâu đã nhập. Tạo xâu đảo ngược P từ xâu đã nhập. Xuất xâu P ra màn hình
Use crt;
Var S : String;
P: longint;
Begin
Write('Nhap s: '); readln (S);
For P:=length(S) downto 1 do
Write(P);
Readln;
End.
uses crt;
var st:string;
i,d:integer;
begin
clrscr;
write('Nhap xau:'); readln(st);
d:=length(st);
writeln('Xau ban vua nhap la: ',st);
writeln('Xau nguoc la: ');
for i:=d downto 1 do
write(st[i]:4);
readln;
end.