Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 13 kết quả

Đề tài: Tìm vị trí của phần tử lớn thứ 3 trong dãy?

  1. #1
    Ngày gia nhập
    02 2008
    Bài viết
    4

    Mặc định Tìm vị trí của phần tử lớn thứ 3 trong dãy?

    Mong các bạn chỉ giúp mình thuật toán tìm vị trí của phần tử lớn thứ 3 trong 1 dãy số gồm 10 phần tử ngẫu nhiên (không sắp xếp mảng). Thanks

  2. #2
    Ngày gia nhập
    02 2008
    Bài viết
    15

    Trích dẫn Nguyên bản được gửi bởi echippro Xem bài viết
    Mong các bạn chỉ giúp mình thuật toán tìm vị trí của phần tử lớn thứ 3 trong 1 dãy số gồm 10 phần tử ngẫu nhiên (không sắp xếp mảng). Thanks
    chịu khó nghĩ 1 tí thôi !!! việc tìm số lớn thứ 3 hay tìm số lớn thứ n cũng là 1 bài toán tìm số lớn nhất mà thôi
    PHP Code:
    #include<stdio.h>
    #include <conio.h>
    #define max 10
    int seach_maxn(int a[max],int max0,int so){
       
    int k,j=0,i,maxi=0;
       for(
    i=0;i<max;i++){if(a[i]<max0&&a[i]>maximaxi a[i];
                           
    k=i;}
       return 
    maxi;}
    /*--------------------------------------*/
    int main(){
        
    int a[10];
        
    int i,maximum,so,max0=0;
        for (
    i=0;i<10;i++){
            
    printf("\nnhap vao phan tu thu  %d :",i+1);
            
    scanf("%d",&a[i]);
            if(
    a[i]>max0max0=a[i];
            }
       
    maximum seach_maxn(a,max0+1,1);
       
    puts("\nban can tim so lon thu may ???");
       
    scanf("%d",&so);
       
    i=1;
       while(
    i<so){maximum seach_maxn(a,maximum,i++);}
       
    printf("\n%d",maximum);
       
    getch();
       return 
    0;} 
    Đã được chỉnh sửa lần cuối bởi ledinhtung61 : 12-01-2009 lúc 06:20 AM.
    I dlatego lubię mówić z tobą !!!

  3. #3
    Ngày gia nhập
    11 2008
    Nơi ở
    vngameday.com
    Bài viết
    62

    chịu khó nghĩ 1 tí thôi !!! việc tìm số lớn thứ 3 hay tìm số lớn thứ n cũng là 1 bài toán tìm số lớn nhất mà thôi
    PHP Code:
    #include<stdio.h>
    #include <conio.h>
    #define max 10
    int seach_maxn(int a[max],int max0,int so){
    int k,j=0,i,maxi=0;
    for(i=0;i<max;i++){if(a[i]<max0&&a[i]>maxi) maxi = a[i];
    k=i;}
    return maxi;}
    /*--------------------------------------*/
    int main(){
    int a[10];
    int i,maximum,so,max0=0;
    for (i=0;i<10;i++){
    printf("\nnhap vao phan tu thu %d :",i+1);
    scanf("%d",&a[i]);
    if(a[i]>max0) max0=a[i];
    }
    maximum = seach_maxn(a,max0+1,1);
    puts("\nban can tim so lon thu may ???");
    scanf("%d",&so);
    i=1;
    while(i<so){maximum = seach_maxn(a,maximum,i++);}
    printf("\n%d",maximum);
    getch();
    return 0;}
    Bạn ơi ! nếu dãy số toàn là số âm thì sao ??? bạn test lại đi nhé.
    vngameday.com - khi niềm đam mê luôn rực cháy. Rất mong nhận được sự đóng góp từ các bạn...

  4. #4
    Ngày gia nhập
    02 2008
    Bài viết
    15

    Trích dẫn Nguyên bản được gửi bởi kkmct Xem bài viết
    Bạn ơi ! nếu dãy số toàn là số âm thì sao ??? bạn test lại đi nhé.
    hừ hừ chết rồi !!! trầm trọng quá lúc code ko để ý !!! nó có thể âm mà code chỉnh sửa đây cám ơn bạn nhiều nha
    PHP Code:
    #include <stdio.h>
    #include <conio.h>
    #include "stdafx.h"
    #define max 10
    int seach_maxn(int a[max],int max0,int so,int min){
       
    int k,j=0,i,maxi=min;
       for(
    i=0;i<max;i++){if(a[i]<max0&&a[i]>maximaxi a[i];
                           
    k=i;}
       return 
    maxi;}
    /*--------------------------------------*/
    int main(){
        
    int a[10];
        
    int i,maximum,so,max0=0,min=0;
        for (
    i=0;i<10;i++){
            
    printf("\nnhap vao phan tu thu  %d :",i+1);
            
    scanf("%d",&a[i]);
            if(
    a[i]>max0max0=a[i];
            if(
    a[i]<minmin=a[i];
            }
       
    maximum seach_maxn(a,max0+1,1,min);
       
    puts("\nban can tim so lon thu may ???");
       
    scanf("%d",&so);
       
    i=1;
       while(
    i<so){maximum seach_maxn(a,maximum,i++,min);}
       
    printf("\n%d",maximum);
       
    getchar();
       return 
    0;


    Đã được chỉnh sửa lần cuối bởi ledinhtung61 : 12-01-2009 lúc 10:14 AM.
    I dlatego lubię mówić z tobą !!!

  5. #5
    Ngày gia nhập
    02 2008
    Bài viết
    4

    Cảm ơn các bạn rất nhiều!

  6. #6
    Ngày gia nhập
    08 2008
    Bài viết
    15

    Mặc định Tìm vị trí của phần tử lớn thứ 3 trong dãy?

    PHP Code:
    #include <stdio.h>
    #include <conio.h>

    #define max 10
    int seach_maxn(int a[max],int max0,int min){
       
    int j=0,i,maxi=min;// k chỗ này của bạn không cần thiết
       
    for(i=0;i<max;i++){if(a[i]<max0&&a[i]>maximaxi a[i];
                           }
       return 
    maxi;}
    /*--------------------------------------*/
    int main(){
        
    int a[10];
        
    int i,maximum,so,max0=0,min=0;
        for (
    i=0;i<10;i++){
            
    printf("\nnhap vao phan tu thu  %d :",i+1);
            
    scanf("%d",&a[i]);
            if(
    a[i]>max0max0=a[i];
            if(
    a[i]<minmin=a[i];
            }
       
    maximum seach_maxn(a,max0+1,min);
       
    puts("\nban can tim so lon thu may ???");
       
    scanf("%d",&so);
       
    i=1;
       while(
    i++<so){maximum seach_maxn(a,maximum,min);}
       
    printf("\n%d",maximum);
       
    getch();
       


    mình xin phép sửa lại bài của bạn chút xíu cho gọi nhé

  7. #7
    Ngày gia nhập
    07 2007
    Nơi ở
    TP.HCM
    Bài viết
    199

    Số lớn thứ n của mảng a = phần tử thứ n của mảng a đã sắp xếp.
    sort(a[])
    return a[n];

  8. #8
    Ngày gia nhập
    02 2008
    Bài viết
    15

    Trích dẫn Nguyên bản được gửi bởi MATH-INFO Xem bài viết
    Số lớn thứ n của mảng a = phần tử thứ n của mảng a đã sắp xếp.
    sort(a[])
    return a[n];
    ủa hay nhỉ !!! đề bài yêu cầu không sắp xếp mảng mà !!! với lại yêu cầu là đưa ra vị trí của nó trong mảng !!! nếu cậu sắp xếp rồi vị trí cũng thay đổi...
    I dlatego lubię mówić z tobą !!!

  9. #9
    Ngày gia nhập
    11 2007
    Bài viết
    32

    bài này có cách hỏi hay hơn là tìm số max thứ k, nếu tìm 0 có thì xuat -1
    VD : 1 0 9 3 2 7 8 9 3 9 tìm max thứ 10?
    max=-1 vì max nhất là 9 --> mảng còn 1 0 3 2 7 8 3
    max thứ 2 là 8 --> mang còn: 1 0 3 2 7 3
    max thu 3 là 7 --> 1 0 3 2 3
    max thu 4 là 3 --> mang con 1 0 2
    max thu 5 la 2 --> 1 0
    mã thu 6 là 1 --> mang còn 0
    max thu 7 là 0 --> mảng Rỗng!??!?!?!
    vậy max thứ k=10 sẽ = -1

  10. #10
    Ngày gia nhập
    01 2009
    Nơi ở
    Hà Nội
    Bài viết
    205

    Trích dẫn Nguyên bản được gửi bởi Ð.Khánh Xem bài viết
    Số lớn thứ n của mảng a = phần tử thứ n của mảng a đã sắp xếp.
    sort(a[])
    return a[n];
    Chưa chắc. Cái mệnh đề này chỉ đúng khi và chỉ khi các phần tử của mảng đôi một khác nhau, nếu không thì mệnh đề này không còn đúng nữa.

Các đề tài tương tự

  1. Lập trình C tìm xem trong mảng số nguyên i_Mang[] có bao nhiêu phần tử có giá trị âm & phần tử có giá trị âm trong mảngn
    Gửi bởi fawker trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 29-05-2013, 03:28 PM
  2. Bài tập C xóa phần tử trùng nhau trong mảng 1 chiều để lại 1 phần tử
    Gửi bởi ronoa trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 06-01-2012, 10:46 PM
  3. Thủ tục loại bỏ các phần tử trùng nhau, giữ lại duy nhất 1 phần tử trong DSLK
    Gửi bởi mrtyoffline trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 02-03-2011, 10:27 PM
  4. Thuật toán trên C | Xóa phần tử trong dãy phần tử tăng dần?
    Gửi bởi quangphuit trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 09-03-2010, 01:57 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn