廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 2284 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
aaa0916
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++][求助] 請各位大大幫我看一下副程式哪錯了
請大大幫忙解答一下~~謝謝

#include <stdio.h>
#include <stdlib.h>

int Partition(int a[],int left,int right,int n){
int j,temp;
int x=a; //指定的中樞
int i=left-1;
for(j=left;j<right;j++){
if(a<=x){
i++;
if(i!=j){
temp=a;
a=a;
a=temp;
}
}
}

temp=a;
a=a;
a=temp;
printf("\n");
for(j=0;j<n;j++)
printf(" %d",a);
printf("\n" ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容




獻花 x0 回到頂端 [樓 主] From:上海 | Posted:2008-03-18 18:05 |
overing 手機
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x55
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

PO錯誤訊息來看看...


Zippy G2 600W
Intel C2Q Q9550
Gigabyte GA-X48-DQ6
Gigabyte GV-NX96T512H-B
G-skill pi 1100MHz 2Gx4
ACARD ANS-9010 32GB (Windows7 10sec boot!!)
WD 150GB(WD1500ADFD)/640GB(6400AASK)
獻花 x0 回到頂端 [1 樓] From:未知地址 | Posted:2008-03-18 22:57 |
aaa0916
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

沒顯示錯誤訊息....不過跑的時候迴圈錯誤了!!!跑不完!!!



int Partition(int a[],int left,int right,int n){
int j,temp;
int x=a[right];                   //指定的中樞
int i=left-1;                  
for(j=left;j<right;j++){              
  if(a[j]<=x){
    i++;                
    if(i!=j){
      temp=a;
      a=a[j];
      a[j]=temp;
    }
  }
}                  
                       
temp=a[i+1];
a[i+1]=a[j];
a[j]=temp;
printf("\n");
for(j=0;j<n;j++)
  printf(" %d",a[j]);
printf("\n");
return i+1;           }

問題應該出在這邊....


獻花 x0 回到頂端 [2 樓] From:上海 | Posted:2008-03-18 23:00 |
overing 手機
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x55
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

圖 1. 執行畫面   
執行畫面



剛剛有把你頭一篇的程式碼複製到Bloodshed Dev-C++上面編譯執行
結果是可行的...也正常的RUN了...排序也有完整的呈現
可以麻煩提供一下你錯誤的時候所輸入的數據嗎??


Zippy G2 600W
Intel C2Q Q9550
Gigabyte GA-X48-DQ6
Gigabyte GV-NX96T512H-B
G-skill pi 1100MHz 2Gx4
ACARD ANS-9010 32GB (Windows7 10sec boot!!)
WD 150GB(WD1500ADFD)/640GB(6400AASK)
獻花 x0 回到頂端 [3 樓] From:未知地址 | Posted:2008-03-18 23:40 |
aaa0916
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

以解決~感謝!!


[ 此文章被aaa0916在2008-03-19 00:32重新編輯 ]


獻花 x0 回到頂端 [4 樓] From:上海 | Posted:2008-03-19 00:00 |
overing 手機
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x55
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

所以你現在要做的就是把第一篇那個正常可執行的程式碼
改成以左邊界當作中心的方式就是了?

如果是要挑左邊界當作下個遞回的中央
基本上就把一些大小於的地方交換
還有你說的改成left
不過你上面這篇回復有些地方邏輯不太對~
建議先單純把用到left跟right兩個變數的地方作交換
再看看大小於判斷是否需要改寫

比方說你Partition方法中的第一個IF就寫錯了
a是個陣列 不能拿來直接跟 int型態的x做大小比較
必須是a陣列的元素a[?]才可以拿來跟同事int型態的x比較...etc


Zippy G2 600W
Intel C2Q Q9550
Gigabyte GA-X48-DQ6
Gigabyte GV-NX96T512H-B
G-skill pi 1100MHz 2Gx4
ACARD ANS-9010 32GB (Windows7 10sec boot!!)
WD 150GB(WD1500ADFD)/640GB(6400AASK)
獻花 x0 回到頂端 [5 樓] From:未知地址 | Posted:2008-03-19 00:35 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.088211 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言