Hiển thị các bài đăng có nhãn Lập trình căn bản. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Lập trình căn bản. Hiển thị tất cả bài đăng

Thứ Ba, 1 tháng 10, 2013

Code C-C++: Các bài toán xử lý chuỗi (string) - (Phần 2)


1. Viết chương trình đổi những kí tự đầu tiên của mỗi từ thành chữ in hoa.
void chuhoadau(char *s){
    s[0]=toupper(s[0]);
while(strstr(s," ")!=NULL){
    s=strstr(s," ")+1;
    s[0]=toupper(s[0]);
} 
}

2. Viết chương trình đổi chữ xen kẻ 1 chữ hoa và 1 chữ thường.
Ví dụ: nhập ABCDEfgh đổi thành AbCdEfGh
void chuxenke(char *a){
  int n=strlen(a);
for(int i=0;i<n;i++){
  if(i%2==0)
  if((int)a[i]>=97 && (int)a[i]<=122)
     a[i]=char((int)a[i]-32);
     if(i%2==1)
     if((int)a[i]>=65 && (int)a[i]<=90)
     a[i]=char((int)a[i]+32);
} 
  puts(a);
}

3. Viết chương trình  đảo ngược các kí tự trong chuỗi.
Ví dụ: nhập ABCDE, xuất ra màn hình là:EDCBA
void daochuoi(char *s)
{   
puts(strrev(s)); 
}

4. Viết chương trình tìm kiếm 1 kí tự xem có trong chuỗi không, nếu có xuất ra vị trí của từ chứ kí tự  đó. (Vd: xâu a là “ho chi minh”: nhập ‘m’=>kết quả là 3)

int vitri(char *a,char *b){
int kq,d=0;
if(strstr(a,b)!=NULL){
kq=strlen(a)-strlen(strstr(a,b));
for(int i=kq;i>=0;i--)
if(a[i]==' ')
d++;
return d+1;
}
else return -1;
}

5. Viết 1 chương trình đếm một kư tự  xuất hiện bao nhiêu lần trong chuỗi.(vd: xâu a nhập là “ho chi minh”, nhập ‘i’ => kq: 2)
int diemtu(char *a,char *b){
int d=0;
while(strstr(a,b)!=NULL){
d++;
a=strstr(a,b)+1; 
} 
return d;
}
Tags: Lập trình, C, C++, C#, String, string, xử lý chuỗi

Thứ Hai, 30 tháng 9, 2013

Code C-C++: Các bài toán xử lý chuỗi (string) - (Phần 1)


1. Đếm có bao nhiêu khoảng trắng trong chuỗi (string)
int demkhoangtrang(char *s){
int d=0;
while(strstr(s," ")!=NULL){
   d++;
   s=strstr(s," ")+1;
}
return d;

}
2. Nhập vào một chuỗi, hãy loại bỏ những khoảng trắng thừa trong chuỗi (string).
void xoakhoangtrang(char *s){   
char *c=strstr(s,"  "); 
while(c!=NULL){
int t=strlen(s)-strlen(c);
for(int i=t;i<strlen(s);i++)
   s[i]=s[i+1];
   c=strstr(s,"  ");
}
if(s[0]==' ')
   s=s+1; //xoa khang trang dau chuoi
   int n=strlen(s);
   if(s[n-1]==' ')
   s[n-1]='\0';//xoa khoang trang cuoi chuoi
       cout<<s;  //for(int i=0;i<n;i++)

//cout<<s[i];
3. Nhập vào hai chuỗi s1 và s2, nối chuỗi s2 vào s1. Xuất chuỗi (string) s1 ra màn hình
void noichuoi(char *a,char *b){
   strcat(a,b);
   puts(a); 
}
4. Đổi tất cả các kí tự (string) có trong chuỗi thành chữ thường (không dùng hàm strlwr).
void chuthuong(char *a)
{
    for(int i=0;i<strlen(a);i++)
        if(a[i]>=65 && a[i]<=90)
            a[i]=a[i]+32;
        puts(a);                        
}
5. Đổi tất cả các kí tự (char) trong chuỗi sang chữ in hoa (không dùng hàm struppr).
void chuhoa(char *a)
{
for(int i=0;i<strlen(a);i++)
a[i]=toupper(a[i]); 
puts(a);                       
}

Code C-C++: Các bài toán sử dụng mảng 1 chiều


Các bài toán thao tác với mảng 1 chiều:
- Nhập vào 1 dãy số nguyên có n số (1<=n<=100)
- In ra màn hình các số lớn hơn 0
- Tìm max
- Tính tổng các số lớn hơn 10

#include<iostream.h> 
#include<conio.h> 
void main(){
        int a[100],n;
// Nhap so phan tu n
        do{ 
        cout<<"\n n= "; cin>>n; 
        if(n<1||n>100)   cout<<"\n Nhap lai n!";
        }while (n<1||n>100);
 // Nhap day so
        cout<<"\n Nhap day so:";
        for (int i=0; i<n;i++){
         cout<<"\n a["<<i<<"]= "; 
        cin>>a[i];  }
 // In ra cac so >=0
         cout<<"\n In ra so khong am: ";
        for (i=0;i<n;i++)
        if (a[i]>=0)
        cout<<a[i]<<", ";
 // Tim max
        int max=a[0];
        for (i=0;i<n;i++)
               if (a[i]>max) max=a[i];
               cout<<"\n Max= "<<max;
 // Tinh tong so >10
        long s=0;
        for (i=0;i<n;i++)
               if (a[i]>10) s+=a[i];  cout<<"\n Tong= "<<s;
         getch();

} 

Chủ Nhật, 29 tháng 9, 2013

Code C-C++: Tính giá trị của biểu thức: S = 2! + 4! + 6! + … + n! (với n nguyên, nhập vào từ bàn phím).


Tính giá trị của biểu thức: S = 2! + 4! + 6! + … + n! (với n nguyên, nhập vào từ bàn phím).
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
void main(){
    int n;
    cout<<"\n Nhap n="; cin>>n;
    int gt=1,s=0;
    for(int i=2; i<=n;i=i+2){
for (int j=1;j<=i;j++) gt=gt*j;
     s=s+gt;
     gt=1;
   }
    cout <<"\n Tong S="<<s;
    getch();
}

Thứ Hai, 24 tháng 6, 2013

Java: Viết chương trình Giải phương trình bậc 2.


import java.io.*;
public class Gptb2{
        public static void main(String args[]){
               InputStreamReader isr = new InputStreamReader(System.in);
               BufferedReader br = new BufferedReader(isr);
               try{
                       System.out.println("Nhap gia tri a");
                       String stra = br.readLine();
                       float a = Float.valueOf(stra).floatValue();
                      
                       System.out.println("Nhap gia tri b");
                       String strb = br.readLine();
                       float b = Float.valueOf(strb).floatValue();
                      
                       System.out.println("Nhap gia tri c");
                       String strc = br.readLine();
                       float c = Float.valueOf(strc).floatValue();

                       float delta = b*b - 4*a*c;
                       if(a==0)
                              if(b==0)
                                    if(c==0){
                                                System.out.print("PT co vo so nghiem");
                                    }
                                    else{
                                                System.out.print("PT vo nghiem");
                                    }
                              else{
                                    System.out.println("PT co nghiem duy nhat: " +c/b);
                              }
                       else{
                              if(delta<0){
                                    System.out.println("PT vo nghiem");
                              }
                              else if(delta>0){
                                    float x1 = (float)(-b + Math.sqrt(delta))/(2*a);
                                    float x2 = (float)(-b - Math.sqrt(delta))/(2*a);
                                    System.out.println("PT co 2 nghiem: x1= " +x1 + " va " +x2);
                              }
                              else{
                                    float x = (float)(-b)/(2*a);
                                    System.out.println("PT co nghiem kep: " +x);
                              }
                       }                      
               }
               catch(IOException ie){
                       System.out.println("Error: " +ie);
               }
        }
}

Thứ Tư, 12 tháng 6, 2013

Java: Viết chương trình kiểm tra 1 số được nhập từ bàn phím có phải là số Thuận nghịch không


import java.io.*;
public class Test_Tng{
        public static void main(String args[]){
                InputStream is = System.in;
               InputStreamReader isr = new InputStreamReader(is);
               BufferedReader br = new BufferedReader(isr);
               try{
                       String n = br.readLine();
                       long l = Long.valueOf(n).longValue();
                       long k=l, p=0;
                      
                       while(k!=0){
                              p=p*10 + k%10;
                              k=k/10;
                       } 
                       if(l==p) System.out.print(l + " la so thuan nghich ");
                       else System.out.print(l + "khong la so thuan nghich");           
               }
               catch(IOException ie){
                       System.out.println("Error: " +ie);
               }            
        }

}

Thứ Ba, 11 tháng 6, 2013

Java: Viết chương trình kiểm tra 1 số được nhập từ bàn phím có phải là số Nguyên tố hay không


import java.io.*;
public class Test_Ngto{
        public static void main(String args[]){
               InputStream is = System.in;
               InputStreamReader isr = new InputStreamReader(is);      
               BufferedReader br = new BufferedReader(isr);
               try{
                       String n = br.readLine();
                       long l = Long.valueOf(n).longValue();
                       long range = (long)Math.sqrt(l);

                       int ok = 1;
                       for(int i=2;i<=range;i++){
                              if(l % i == 0) ok = 0; break;
                       }
                      
                       if(ok == 1){
                              System.out.println("So nay la nguyen to");
                       }
                       else{
                              System.out.println("So nay khong la nguyen to");
                       }
               }
               catch(IOException ie){
                       System.out.print("Error: " +ie);
               }
        }

}

Thứ Hai, 10 tháng 6, 2013

Java: Viết chương trình nhập vào một chuỗi ký tự. Đổi chuỗi thành chữ in hoa.

import java.io.*;
public class ReadLine{
   public static void main(String args[]){
           InputStreamReader isr = new InputStreamReader(System.in);
           BufferedReader br = new BufferedReader(isr);
           try{
                        String line = br.readLine();                                        
                        System.out.print(line.toUpperCase());
                       
           }
           catch(IOException ie){
                        System.out.print("Error: " +ie);
           }
          
   }

}

Thứ Năm, 21 tháng 3, 2013

Code C#: Tính tổng của n số (nhập từ bàn phím). Tìm giá trị lớn nhất, nhỏ nhất trong n số đó. Sử dụng MẢNG


//Yêu cầu: Viết chương trình Console Application. Tính tổng của n số nhập từ bàn phím. Tìm giá trị lớn nhất, giá trị nhỏ nhất trong n số đó. 
//Cách 1: Sử dụng mảng lưu trữ

class Program{
        static void Main(){
            intn,s=0;
            int[] a;
            Console.Write("Nhap so can tinh tong: ");
            n = int.Parse(Console.ReadLine());
            a = newint[n];
            for (inti = 0; i < n; i++){
                Console.Write("Nhap phan tu thu {0}: ",i+1);
                a[i] = int.Parse(Console.ReadLine());
            }
            for(int i = 0; i < n; i++){
                s += a[i];
            }
            for(int i = 0; i < n - 1; i++)
                for(int j = i; j < n;j++ )
                    if(a[i] <= a[j]) {
                        int tg = a[i];
                        a[i] = a[j];
                        a[j] = tg;
                    }
            Console.WriteLine("Tong cua {0} so nhap tu ban phim la: {1}", n, s);
            Console.WriteLine("Gia tri lon nhat: {0}",a[0]);
            Console.WriteLine("Gia tri nho nhat: {0}",a[n-1]);
            Console.ReadLine();
        }
}

Code C#: Nhập vào độ dài 3 đoạn. Kiểm tra 3 đoạn đó có tạo thành tam giác không? Và thuộc loại tam giác nào.


//Yêu cầu: Viết chương trình với loại ứng dụng Console Application, nhập vào 3 số. Kiểm tra xem đó có phải là 3 cạnh của một tam giác không. Nếu phải thì xem đó là loại tam giác gì.
class Program{
        static void Main(){
            floatx, y, z;
            Console.Write("Nhap chieu dai canh x: ");
            x = float.Parse(Console.ReadLine());
            Console.Write("Nhap chieu dai canh y: ");
            y = float.Parse(Console.ReadLine());
            Console.Write("Nhap chieu dai canh z: ");
            z = float.Parse(Console.ReadLine());
            if(x <= 0 || y <= 0 || z <= 0 || x + y <= z || y + z <= x || x + z <= y)
                Console.WriteLine("Ban nhap sai");
            else{
                if((x == y && x * x * 2 == z * z) || (x == z && x * x * 2 == y * y) || (y == z && y * y * 2 == x * x))
                    Console.WriteLine("Tam giac vuong can");
                else{
                    if(x == y && y == z && z == x)
                        Console.WriteLine("Tam giac deu");
                    else{
                        if (x == y || y == z || z == x)
                            Console.WriteLine("Tam giac can");
                        else
                            Console.WriteLine("Tam giac thuong");
                    }
                }
            }
            Console.ReadLine();
        }
}

Thứ Tư, 20 tháng 3, 2013

Code C#: Nhập vào số nguyên N có 4 chữ số. Tìm chữ số lớn thứ nhì trong 4 chữ số.


//Yêu cầu: Viết chương trình với loại ứng dụng Console Application, nhập vào số nguyên n có 4 chữ số. Hãy tìm chữ số lớn thứ nhì.
Ví dụ: n = 1895. n có 4 chữ số 1,8,9,5. Chữ số lớn thứ nhì: 8.
class Program{
        static void Main(){           
            intn;
            int[] a = new int[4];
            do{
                Console.Write("Nhập số n có 4 chữ số: ");
                n = int.Parse(Console.ReadLine());
            } while(n < 1000 || n > 9999);           
            for(int i = 0; i < 4; i++) {
                a[i] = n % 10;
                n = n / 10;
            }
            for(int i = 0; i < 3; i++)
                for(int j = i; j < 4;j++)
                    if(a[i] <= a[j]){
                        int tg = a[i];
                        a[i] = a[j];
                        a[j] = tg;
                    }            
            Console.WriteLine("So lon thu nhi trong 3 so la: {0}", a[1]);   
            Console.ReadLine();
        }
}

Bài đăng phổ biến