Chuyển đến nội dung chính

Bài tập lập trình C/C++

Bài tập C/C++ (xử lý chuỗi) - 07.12.18
/* Viết các hàm:
 - Nhập vào một chuỗi bất kỳ
 - Loại bỏ các dấu cách ở đầu và ờ cuối
 - Đếm số ký tự trong chuỗi
 - Kiểm tra tính đối xứng của chuỗi
 - In mỗi từ 1 dòng, Đếm số tử trong chuỗi
 */

#include <iostream>
#include <stdio.h>
#include <math.h>

using namespace std;
char str[100];
int n;

// Nhap chuoi
void NhapChuoi(){
    cout<<"\n Nhap chuoi bat ky: ";
    cin.get(str,99);
}
// Loai bo dau cach o dau va cuoi
void XoaDauCach(){
    // Xoa dau cach o dau
    int demDau=0, i=0;
    while (str[i]==' '){
        demDau++;
        i++;
    }
    cout<<"\n So dau cach o dau: "<<demDau;
    // Xoa dau cach
    i=0;
    if(demDau!=0){
        while(i<n){
            str[i]=str[i+demDau];
            str[i+demDau]=' ';
            i++;
        }
    }
    cout<<"\n In chuoi: "<< str;
    
    
    // Xoa dau cach o cuoi
    n=strlen(str);
    
    int demCuoi=0, j=n-1;
    while(str[j]==' '){
        demCuoi++;
        j--;
    }
    cout<<"\n So dau cach o cuoi: "<<demCuoi;
    
    //str[n-demCuoi-1]='\0';
    n=n-demCuoi;
}

// Dem so ky tu trong chuoi
void DemKyTu(){
    cout<<"\n So ky tu trong chuoi: "<<strlen(str);
}

// Kiem tra tinh doi xung
void KiemTraDoiXung(){
    
    int test=0,dau=0,cuoi=n-1;
    while(dau<=cuoi){
        if(str[dau]!=str[cuoi])
        {
            test=1;
            break;
        }
        dau++;
        cuoi--;
    }
    if(test==0) cout<<"\n Chuoi doi xung \n ";
    else cout<<"\n Chuoi khong doi xung \n ";
}

// In moi tu 1 dong
void InMoiTuMotDong(){
    int dem=0, i=0; // lay do dai chuoi
    while(i<n)
    {
        cout<<str[i];
        int t=0;
        while (str[i]==' '&&i<n) {
            t=1; i++;
        }
        
        if(t==1)
        {
            dem++;
            cout<<"\n";
            cout<<str[i];
        }
        i++;
        
    }
    if(str[0]==' ') dem--;
    if(str[n-1]==' ') dem--;
    cout<<"\n So tu trong chuoi: "<<dem+1<<"\n";
}

// ham chinh
int main() {
    NhapChuoi();
    XoaDauCach();
    DemKyTu();
    KiemTraDoiXung();
    InMoiTuMotDong();
    
    return 0;
}





//***************************************

Ngày 07.03.2018
// Turbo C++ 3.0

/******************************************************************************
Bài 1-Ca1: Viết chương trình:
- Nhập vào từ bàn phím 5 số thực
- Tính tổng các số
- Tính giá trị trung bình cộng
- Tìm max
*******************************************************************************/



#include <iostream.h>
#include<conio.h>
#include<stdio.h>

//using namespace std;

int main()
{
    cout<<"Chua bai 1 - ca1";

    // khai bao bien
    float a1, a2, a3, a4, a5;

    // nhap 5 so
    cout<<"\n a1: "; cin>>a1;
    cout<<"\n a2: "; cin>>a2;
    cout<<"\n a3: "; cin>>a3;
    cout<<"\n a4: "; cin>>a4;
    cout<<"\n a5: "; cin>>a5;

    // Tinh tong
    float tong= a1+a2+a3+a4+a5;
    cout<<"\n Tong ="<<tong;

    // Tinh gia tri trung binh cong
    float tbc = tong/5;
    cout<<"\n Trung binh cong: "<<tbc;

    // Tim so lon nhat
    float max=a1;
    if(max<a2) max=a2;
    if(max<a3) max=a3;
    if(max<a4) max=a4;
    if(max<a5) max=a5;
    cout<<"\n Max= "<<max;
 
    getch();
    return 0;
}



/******************************************************************************
Bài 2-Ca1: Viết chương trình: Giải và biện luận ax^2 + bx + c = 0
 (a, b, c là số thực nhập vào từ bàn phím)
*******************************************************************************/

#include <iostream.h>
#include<conio.h>
#include<stdio.h>
#include<math.h>

//using namespace std;

int main()
{
    cout<<"Chua bai 2 - ca1";

    // khai bao bien
    float a,b,c;

    // nhap 3 so
    cout<<"\n a: "; cin>>a;
    cout<<"\n b: "; cin>>b;
    cout<<"\n c: "; cin>>c;

    // bien luan
    if (a==0)
        if (b==0)
            if(c==0)
             cout<<"\n Phuong trinh co VSN";
            else
             cout<<"\n Phuong trinh vo nghiep";
        else
            cout<<"\n Phuong trinh co 1 nghiem x= "<<-c/b;
    else
    {
        float delta = b*b-4*a*c;
        if(delta==0)
            cout<<"\n Phuong trinh co nghiem kep x1=x2="<<-b/(2*a);
        else
           if(delta<0)
             cout<<"\n Phuong trinh vo nghiep";
           else
            {
              cout<<"\n Phuong trinh co 2 nghiem:";
              cout<<" x1 = "<< (-b-sqrt(delta))/(2*a);
              cout<<"; x2 = "<< (-b+sqrt(delta))/(2*a);
            }
    }
 
    getch();
    return 0;
}



/******************************************************************************

Bài 1-Ca2: Viết chương trình:
- Nhập vào từ bàn phím điểm tổng kết 4 năm học
- Tính giá trị trung bình cộng
- Tìm max, min
*******************************************************************************/

#include <iostream.h>
#include<conio.h>
#include<stdio.h>

//using namespace std;



int main()
{
    cout<<"Chua bai 1 - ca2";

    // khai bao bien
    float d1, d2, d3, d4;

    // nhap diem 4 nam
    cout<<"\n Diem nam 1: "; cin>>d1;
    cout<<"\n Diem nam 2: "; cin>>d2;
    cout<<"\n Diem nam 3: "; cin>>d3;
    cout<<"\n Diem nam 4: "; cin>>d4;

    // Tinh tong diem
    float tong= d1+d2+d3+d4;
    cout<<"\n Tong ="<<tong;

    // Tinh diem trung binh cong
    float tbc = tong/4;
    cout<<"\n Trung binh cong: "<<tbc;

    // Tim diem lon nhat
    float max=d1;
    if(max<d2) max=d2;
    if(max<d3) max=d3;
    if(max<d4) max=d4;
    cout<<"\n Diem max= "<<max;

 // Tim diem nho nhat

    float min=d1;
    if(min>d2) min=d2;
    if(min>d3) min=d3;
    if(min>d4) min=d4;
    cout<<"\n Diem min= "<<min;

    getch();
    return 0;

}




/******************************************************************************
Bài 2-Ca2: Viết chương trình: Giải và biện luận hệ phương trình bậc nhất 2 ẩn
*******************************************************************************/

#include <iostream.h>
#include<conio.h>
#include<stdio.h>
#include<math.h>

//using namespace std;

int main()
{
    cout<<"Chua bai 2 - ca2";

    // khai bao bien
    float a1,b1,c1,a2,b2,c2;

    // nhap he so
    cout<<"\n a1: "; cin>>a1;
    cout<<"\n b1: "; cin>>b1;
    cout<<"\n c1: "; cin>>c1;
    cout<<"\n a2: "; cin>>a2;
    cout<<"\n b2: "; cin>>b2;
    cout<<"\n c2: "; cin>>c2;

    // tinh d, dx, dy
    float d, dx, dy;
    d= a1*b2-a2*b1;
    dx=c1*b2-c2*b1;
    dy=a1*c2-a2*c1;
 
 
    // bien luan
    if(d==0)
        if(dx==0&&dy==0)
            cout<<"\n He phuong trinh co VSN";
        else
            cout<<"\n He phuong trinh vo nghiem";
    else
     {
         float x= dx/d;
         float y = dy/d;
         cout<<"\n He PT co 1 cap nghiem ("<<x<<" , "<<y<<") ";
     }
 
    getch();
    return 0;
}


--------------------------------------------------------------------------------------------
>> Giáo Trình C++ Và Lập Trình Hướng Đối Tượng

Công cụ viết chương trình online Tại đây
--------------------------------------------------------------------------------------------


BÀI ĐỌC NHIỀU

[Java] Hướng dẫn lập trình Java với NetBean [Clip hướng dẫn]

[Đồ họa trong C\C++] Sử dụng các hàm đồ họa thông dụng trong C\C++ [C\C++]

[ C++ ] Tính đa hình, phương thức ảo, lớp trừu tượng trong C++ [Lập trình hướng đối tượng với C++]

[ Sort ] Thuật toán Heap-Sort [Code C++]

[Algorithm] Thuật toán Đệ quy và một số bài toán Đệ quy cơ bản

[Assembly] Tính tổng 2 số nguyên nhỏ hơn 10 [Lập trình hợp ngữ]

[Assembly] Hướng dẫn sử dụng Emu8086 [Lập trình hợp ngữ]

Bài tập +đáp án Lý thuyết đồ họa máy tính

[Thuật toán đồ thị / code C++] Thuật toán Dijkstra tìm đường đi ngắn nhất trên đồ thị G

[ C++ ] Kế thừa trong C++ [Lập trình hướng đối tượng với C++]