Bài 28 -Bài tập xóa ký tự thừa trong C/C++

Bài 28, Nhập từ bàn phím một chuỗi ký tự và thực hiện các yêu cầu sau: Chuẩn hóa chuỗi ký tự(Xóa các khoảng trắng thừa có trong chuỗi, gi...

Bài 28, Nhập từ bàn phím một chuỗi ký tự và thực hiện các yêu cầu sau:
  • Chuẩn hóa chuỗi ký tự(Xóa các khoảng trắng thừa có trong chuỗi, giữa các từ chỉ còn giữ lại một khoảng trắng)
  • Cho biết từ có độ dài lớn nhất trong chuỗi và vị trí xuất hiện của chuỗi đó.
  • Nhập từ bàn phím từ thay thế x và từ mới sẽ thay thay thế y. Thay thế tất cả các từ gốc x đang có trong chuỗi bằng từ mới y
  • Đảo ngược thứ tự các từ có trong chuỗi và in ra màn hình chuỗi san khi đảo ngược

Bài viết nằm trong: Series thực hành cơ sở lập trình
Chú ý: phần đảo ngược code chưa được viết, xem ý tưởng

Code:  

[#include <iostream>
#include <string.h>
using namespace std;
int main()
{
    int i, j;
    char s[100]="";
    j =0;
    i = 0;
    cout<<"Nhap vao chuoi S: ";
    cin.getline(s, 100);

    //a, chuan hoa chuoi ky tu
    while(i<strlen(s) - 1) {
        if((s[i] == ' ') && (s[i+1] == ' ')) {
            strcpy(&s[i], &s[i+1]);
        }
        else {
            i++;
        }
    }
    while(s[strlen(s)-1]== ' ')
        s[strlen(s)-1] ='\0';
    cout<<s;
    // b, tu co do dai lon nhat va vi tri xuat hien cua chuoi do
    int viTri, max, n;
    viTri = 0;
    max = 0;
    n = strlen(s);
    for(i = 0; i<n; i++) {
        if(s[i-1] == ' ' && s[i] !=' ') {
            int dem;
            dem =0;
            for(j =i; j<n; j++) {
                if(s[j] == ' ')
                    break;
                else {
                    dem++;
                }
                if(dem > max ) {
                    viTri = i;
                    max = dem;
                }
            }
        }
    }
    cout<<"\nTu co do dai lon nhat la: ";
    for( i = viTri; i< viTri+ max; i++) {
        cout<<s[i];
    }
    cout<<"\nVi tri xuat hien cua chuoi  tu ky tu : "<<viTri<<" den "<<viTri+max<<endl;

    // dao nguoc thu tu cac tu
     j = 0;
        char **b = (char**)(new char[100]);
     char *p;
        p = strtok(s, ",. "); //cat chuoi bang cac ky tu ,. va space
        while(p != NULL)
        {
                b[j] = p;
                j++;
                p = strtok(NULL, ",. "); //cat chuoi tu vi tri dung lai truoc do
        }
        for (i = j-1; i>=0; i--) //in ra cac tu theo thu tu dao nguoc
                cout<<b[i]<<" ";
        //Nhap vao y va thay the cho tu x ( tuong tu viec dao nguoc)
}]

Dữ liệu test:

COMMENTS

BLOGGER
Tên

bài viết hay,4,Bài viết khác,1,cấu trúc dữ liệu và giải thuật,3,fithou,36,ghim,4,giải tích 2,1,Hướng dẫn,5,Lập trình C,1,lập trình hướng đối tượng,3,Lập trình java,1,phần mềm,2,phần mềm lập trình,2,sách,1,tác phẩm đồ họa,3,tản mạn,4,Thiết kế web,3,thực hành lập trình cơ sở,18,thực hành lập trình hướng đối tượng,16,
ltr
item
Blog NDanh: Bài 28 -Bài tập xóa ký tự thừa trong C/C++
Bài 28 -Bài tập xóa ký tự thừa trong C/C++
https://1.bp.blogspot.com/-_MTekcMV10g/Xje87CsZkDI/AAAAAAAAcfE/u0fnLyWLtiQmZdR6GZyrJNrLp0asNr6EwCEwYBhgL/s400/28.png
https://1.bp.blogspot.com/-_MTekcMV10g/Xje87CsZkDI/AAAAAAAAcfE/u0fnLyWLtiQmZdR6GZyrJNrLp0asNr6EwCEwYBhgL/s72-c/28.png
Blog NDanh
https://blog.ndanh.com/2020/02/bai-28-bai-tap-xoa-ky-tu-thua-trong-cc.html
https://blog.ndanh.com/
https://blog.ndanh.com/
https://blog.ndanh.com/2020/02/bai-28-bai-tap-xoa-ky-tu-thua-trong-cc.html
true
1596452775547375681
UTF-8
Tải tất cả bài viết Không tìm thấy bài viết nào XEM TẤT CẢ Đọc thêm Trả lời Hủy trả lời Xóa Bởi Trang chủ PAGES POSTS Xem tất cả Bài viết đề xuất CHỦ ĐỀ LƯU TRỮ SEARCH TẤT CẢ BÀI VIẾT Không tìm thấy nội dung của bạn Quay về trang chủ Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow CHIA SẺ ĐỂ XEM NỘI DUNG Bước 1: Chia sẻ lên facebook chế độ công khai Bước 2: Vào facebook, ấn vào bài đã chia sẻ công khai để hiện nội dung! Click Copy All Code Select All Code Code của bạn đã được copy Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content