Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > กระทู้สำหรับภาษาต่าง ๆ > สอบถามเรื่องการหาค่า Minimum ของ link list c++ ครับ


สอบถามเรื่องการหาค่า Minimum ของ link list c++ ครับ

 
Topic : 119550



โพสกระทู้ ( 0 )
บทความ ( 0 )



สถานะออฟไลน์



สอบถามเรื่องการหาค่า Minimum ของ link list c++ ครับ ผมต้องการหาค่าต่ำสุดของ link list ซึ่งผมสามารถทำค่าสูงสุดได้แล้วแต่เปลี่ยนเป็นค่าต่ำสุดไม่ได้เพราะมันออกมาเป็น 0 ตลอดเลยครับ และถ้าผมต้องการให้แสดงผลตัวเลขที่รับไปจากน้อยไปมากต้องแก้ตรงไหนครับ

Code
void max() { int max=0; current = head; while(current != NULL) { max=current->info>max; current = current->link; } printf("Maximum=%d\n",max); ค่าตรงนี้ออกมาตรงครับเป็นค่าสูงสุด } void min() { int min=0; current = head; while(current != NULL) { min=current->info<min; current = current->link; } printf("Minimum=%d\n",min); ผลออกมาเป็น 0 ตลอดเลยครับควรแก้ค่าไหนครับ }


รบกวนผู้รู้บอกทีครับว่าผมควรเปลี่ยนโค้ดตรงไหนครับ

อันนี้โค้ดทั้งหมดของโปรแกรมครับ
Code (C#)
001.#include <stdio.h>
002.//Defind structure
003.typedef struct list
004.{
005.    int              info;
006.    struct  list    *link;
007.}node;
008.node *head, *null, *current, *temp,*pred;
009. 
010.int ShowMenu();
011.void INSERT_FN();
012.int _FindMax();
013.int Affter(int y);
014. 
015. 
016. 
017.void DisplaySingly();  //--
018.void CreateSingly(int Number); //--
019.void InsertFronSingly(int x); //--
020.void insertRearSingly(int y); //--
021.void insertMiddleSingly(int _info, int _Affter); //--
022.void DeleteSingly(int D);
023. 
024.void average();
025.void _Sum();
026. 
027.void max();
028.void min();
029. 
030. 
031.int main()
032.{   int Menu;
033.      
034.    do
035.    int A;
036.    int D;
037.        Menu = ShowMenu(); 
038.        if(Menu == 1)
039.            {
040.            // Call Insert Function
041.            INSERT_FN();
042.            }
043.        else if (Menu == 2)
044.            {
045.                printf("Delete:");
046.                scanf("%d",&A);
047.                DeleteSingly(A);   
048.            }
049.        else if (Menu == 3)
050.            {
051.                DisplaySingly();               
052.            }
053.        else if (Menu == 4)
054.            {
055.                _Sum();
056.            }
057.        else if (Menu == 5)
058.            {
059.                average();
060.            }
061.        else if (Menu == 6)
062.            {
063.                max();
064.            }
065.        else if (Menu == 7)
066.            {
067.                min();
068.            }                                          
069.        else if (Menu == 8)
070.            {
071.                printf("\nExit\n");
072.            }
073.    }
074.    while (Menu != 8);
075.     
076.}
077. 
078. 
079.int ShowMenu()
080.{   int _Menu;
081. 
082.    printf("\nPlease select menu\n");
083.    printf(" Insert  --> 1\n");
084.    printf(" Delete  --> 2\n");
085.    printf(" Display --> 3\n");
086.    printf(" Sum     --> 4\n");
087.    printf(" Average --> 5\n");
088.    printf(" Maximum --> 6\n");
089.    printf(" Minimum --> 7\n");
090.    printf(" Exit    --> 8\n");
091.     
092.     
093.    printf("Select : ");
094.    scanf("%d",&_Menu);
095. 
096.    return _Menu;
097.}
098. 
099.void DisplaySingly (void)
100.{
101.    if (head == NULL)
102.        printf("Empty List\n");
103.     
104.    else
105.    {
106.        current = head;
107.        while(current != NULL)
108.            {
109.                printf("%d\n",current->info);
110.                current = current->link;
111.            }
112.    }
113.}
114. 
115. 
116.//InsertFunction
117. 
118.void INSERT_FN()
119.{
120.    int Y;
121.     
122.    printf("Insert : ");
123.    scanf("%d",&Y);
124.     
125.    if(head == null)
126.        {
127.            CreateSingly(Y);
128.        }  
129.    else if(Y <= head->info)
130.        {
131.            InsertFronSingly(Y);
132.        }
133.    else if(Y >= _FindMax())
134.        {
135.            insertRearSingly(Y);
136.        }
137.    else
138.        {
139.                insertMiddleSingly(Y,Affter(Y));
140.        }
141.     
142.     
143.}
144. 
145. 
146.void CreateSingly(int Number)
147.{
148.    if (head == NULL)
149.        {
150.            head = new node;
151.            head->info = Number;
152.            head->link = NULL;
153.        }
154.}
155. 
156.void InsertFronSingly(int x)
157.{
158.    if (head == NULL)
159.        printf("Empty List");
160.    else
161.        {
162.        temp = new list;
163.        temp->info = x;
164.        temp->link = head;
165.        head = temp;
166.        }
167.}
168. 
169.int _FindMax(void)
170.{
171.    current = head;
172.    while(current -> link != null)
173.    {
174.        current = current -> link;
175.    }
176.     
177. 
178.    return current -> info;
179.}
180. 
181.void insertRearSingly(int y)
182.{
183.    if(head == NULL)
184.        printf("EMPTY LIST");
185.    else
186.        {
187.            temp = new node;
188.            temp->info = y;
189.            current = head;
190.            while(current->link != NULL)
191.            current = current->link;
192.            temp->link = NULL;
193.            current->link = temp;
194.        }
195.}
196. 
197. 
198.void insertMiddleSingly(int _info, int _Affter)
199.{
200.    if(head == NULL)
201.        printf("Empty List");
202.    else
203.        {
204.            temp = new node;
205.            temp->info = _info;
206.            current = head;
207.            while(current->info!=_Affter && current->link != NULL)
208.                current = current->link;
209.            temp->link = current->link;
210.            current->link = temp;
211.        }
212.}
213. 
214.int Affter(int y)
215.{
216.    current = head;
217.     
218.    while((y<current->info) or (y>current -> link -> info))
219.    {
220.        current = current -> link;
221.    }
222.     
223.     
224.     
225.    return current -> info ;
226.}
227. 
228.void DeleteSingly(int D)
229.{  
230.    int DELETE;
231.     
232.    if(head->info==D)
233.    {
234.        current=head;
235.        head=head->link;
236.        DELETE  ; current;
237.    }
238.    else
239.    {
240.        pred=head;
241.        current =head->link;
242.        while(current->link!=NULL&& current->info!=D)
243.        {
244.            pred=current;
245.            current=current->link;
246.             
247.        }
248.        if(current->info=D)
249.          {
250.            pred->link=current->link;
251.            DELETE   ;current;
252.          }
253.          else
254.              printf("NOT FOUND");
255.    }
256.}
257. 
258.void _Sum()
259.    {
260.        float sum=0;
261.        current = head;
262.        while(current != NULL)
263.            {
264.                sum=sum+current->info;
265.                current = current->link;
266.            }
267.            printf("Sum=%.2f\n",sum);
268.    }
269. 
270.void average()
271.    {
272.         float sum=0;
273.         int counter = 0;
274.         current = head;
275.         while(current != NULL)
276.            {
277.                sum=sum+current->info;
278.                counter++;
279.                current = current->link;
280.                 
281.            }
282.            printf("average=%.2f\n",sum/counter);
283.    }
284. 
285.void max()
286.    {
287.         
288.         int max=0;
289.         current = head;
290.         while(current != NULL)
291.            {
292.                max=current->info>max;
293.                current = current->link;
294.                 
295.            }
296.            printf("Maximum=%d\n",max);
297.    }
298. 
299.void min()
300.    {
301.         int min=0;
302.         current = head;
303.         while(current != NULL)
304.            {
305.                min=current->info<min;
306.                current = current->link;
307.                 
308.            }
309.            printf("Minimum=%d\n",min);
310.    }




Tag : Objective-C



ประวัติการแก้ไข
2015-10-25 20:42:04
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-10-25 20:38:23 By : bkp1995 View : 2217 Reply : 1
 

 

No. 1

Guest


Code (C#)
001.#include <iostream>
002. 
003.//Defind structure
004.typedef struct list {
005.    int info;
006.    struct list* link;
007.} node;
008.node *head, *null, *current, *temp, *pred;
009. 
010.int ShowMenu();
011.void INSERT_FN();
012.int _FindMax();
013.int Affter(int y);
014. 
015.void DisplaySingly(); //--
016.void CreateSingly(int Number); //--
017.void InsertFronSingly(int x); //--
018.void insertRearSingly(int y); //--
019.void insertMiddleSingly(int _info, int _Affter); //--
020.void DeleteSingly(int D);
021. 
022.void average();
023.void _Sum();
024. 
025.void max();
026.void min();
027. 
028.int main()
029.{
030.    int Menu;
031. 
032.    do {
033.        int A;
034.        int D;
035.         
036.        switch(Menu = ShowMenu())
037.        {
038.            case 1: INSERT_FN(); break;
039.             
040.            case 2: std::cout << "Delete:"; std::cin >> A; DeleteSingly(A); break;
041.             
042.            case 3: DisplaySingly(); break;
043.             
044.            case 4: _Sum(); break;
045.             
046.            case 5: average(); break;
047.             
048.            case 6: max(); break;
049.             
050.            case 7: min(); break;
051.        }
052.    } while (Menu != 8);
053. 
054.    std::cout << "\nExit\n";
055.     
056.    return 0;
057.}
058. 
059.int ShowMenu()
060.{
061.    int _Menu;
062. 
063.    std::cout << "\nPlease select menu\n";
064.    std::cout << " Insert  --> 1\n";
065.    std::cout << " Delete  --> 2\n";
066.    std::cout << " Display --> 3\n";
067.    std::cout << " Sum     --> 4\n";
068.    std::cout << " Average --> 5\n";
069.    std::cout << " Maximum --> 6\n";
070.    std::cout << " Minimum --> 7\n";
071.    std::cout << " Exit    --> 8\n";
072. 
073.    std::cout << "Select : ";
074.    std::cin >> _Menu;
075. 
076.    return _Menu;
077.}
078. 
079.void DisplaySingly(void)
080.{
081.    if (head == NULL)
082.        std::cout << "Empty List\n";
083. 
084.    else {
085.        current = head;
086.        while (current != NULL) {
087.            std::cout << current->info << std::endl;
088.            current = current->link;
089.        }
090.    }
091.}
092. 
093.//InsertFunction
094. 
095.void INSERT_FN()
096.{
097.    int Y;
098. 
099.    std::cout << "Insert : ";
100.    std::cin >> Y;
101. 
102.    if (head == null) {
103.        CreateSingly(Y);
104.    } else if (Y <= head->info) {
105.        InsertFronSingly(Y);
106.    } else if (Y >= _FindMax()) {
107.        insertRearSingly(Y);
108.    } else {
109.        insertMiddleSingly(Y, Affter(Y));
110.    }
111.}
112. 
113.void CreateSingly(int Number)
114.{
115.    if (head == NULL) {
116.        head = new node;
117.        head->info = Number;
118.        head->link = NULL;
119.    }
120.}
121. 
122.void InsertFronSingly(int x)
123.{
124.    if (head == NULL)
125.        std::cout << "Empty List";
126.    else {
127.        temp = new list;
128.        temp->info = x;
129.        temp->link = head;
130.        head = temp;
131.    }
132.}
133. 
134.int _FindMax(void)
135.{
136.    current = head;
137.    while (current->link != null) {
138.        current = current->link;
139.    }
140. 
141.    return current->info;
142.}
143. 
144.void insertRearSingly(int y)
145.{
146.    if (head == NULL)
147.        std::cout << "EMPTY LIST";
148.    else {
149.        temp = new node;
150.        temp->info = y;
151.        current = head;
152.        while (current->link != NULL)
153.            current = current->link;
154.        temp->link = NULL;
155.        current->link = temp;
156.    }
157.}
158. 
159.void insertMiddleSingly(int _info, int _Affter)
160.{
161.    if (head == NULL)
162.        std::cout << "Empty List";
163.    else {
164.        temp = new node;
165.        temp->info = _info;
166.        current = head;
167.        while (current->info != _Affter && current->link != NULL)
168.            current = current->link;
169.        temp->link = current->link;
170.        current->link = temp;
171.    }
172.}
173. 
174.int Affter(int y)
175.{
176.    current = head;
177. 
178.    while ((y < current->info) or (y > current->link->info)) {
179.        current = current->link;
180.    }
181. 
182.    return current->info;
183.}
184. 
185.void DeleteSingly(int D)
186.{
187.    int DELETE;
188. 
189.    if (head->info == D) {
190.        current = head;
191.        head = head->link;
192.        DELETE;
193.        current;
194.    } else {
195.        pred = head;
196.        current = head->link;
197.        while (current->link != NULL && current->info != D) {
198.            pred = current;
199.            current = current->link;
200.        }
201.        if (current->info = D) {
202.            pred->link = current->link;
203.            DELETE;
204.            current;
205.        } else
206.            std::cout << "NOT FOUND";
207.    }
208.}
209. 
210.void _Sum()
211.{
212.    int sum = 0;
213.    current = head;
214.    while (current != NULL) {
215.        sum = sum + current->info;
216.        current = current->link;
217.    }
218.    std::cout << "Sum=" << sum << std::endl;
219.}
220. 
221.void average()
222.{
223.    float sum = 0;
224.    int counter = 0;
225.    current = head;
226.    while (current != NULL) {
227.        sum = sum + current->info;
228.        counter++;
229.        current = current->link;
230.    }
231.    std::cout << "average=" << sum / counter << std::endl;
232.}
233. 
234.void max()
235.{
236. 
237.    int max = 0;
238.    current = head;
239.    for (current = head->link, max = head->info; current; current = current->link)
240.        if (current->info > max)
241.            max = current->info;
242. 
243.    std::cout << "Maximum=" << max << std::endl;
244.}
245. 
246.void min()
247.{
248.    int min;
249.    for (current = head->link, min = head->info; current; current = current->link)
250.        if (current->info < min)
251.            min = current->info;
252. 
253.    std::cout << "Minimum=" << min << std::endl;
254.}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-12-12 23:50:09 By : Watt Duean
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่องการหาค่า Minimum ของ link list c++ ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่