ตัวอย่าง 1:
*
* *
* * *
* * * *
* * * * *
เราพิจารณาจากรูป จะเห็นว่า เป็นรูปสามเหลี่ยมที่มีจุดเริ่มต้นอยู่ทางด้านซ้ายเป็นหลัก มีแถวทั้งหมด 5 แถว (rows) โดยแต่ละแถวจะแสดงเครื่องหมาย "*" ตามจำนวนของบรรทัดหรือแถวนั้นๆ เช่น แถวแรก จะแสดงเครื่องหมาย "*" ตัวเดียวเท่านั้น และถ้าเป็นแถวที่ 4 ก็จะแสดงเครื่องหมาย "*" 4 ตัวด้วยกัน เพราะฉะนั้นเราจะใช้ loop ในการทำงานทั้งหมด 2 loop ด้วยกัน โดยกำหนดให้ loop แรก ทำหน้าที่เป็นแถว และ loop ที่ 2 ทำหน้าที่แสดงเครื่องหมาย "*" เท่ากับจำนวนของแถวนั้นๆ (อธิบายก่อนหน้า)
Source Code:
int main ( ) {
int r, c; // r - row, c - column
for (r = 0; r < 5; r++) {
for (c = 0; c <= r; c++) {
printf("*");
}
printf("\n");
}
return 0;
}
จาก Source Code ที่เขียนมาได้ใช้ for loop ซึ่งง่ายและสะดวก แต่ถ้าต้องการใช้ loop อื่นก็สามารถทำได้นะครับ ลองนำไปประยุกต์ดูครับ
ตัวอย่าง 2:
* * * * *
* * * *
* * *
* *
*
เราพิจารณาจากรูป จะเห็นว่าเป็นรูปสามเหลี่ยมที่มีจุดเริ่มต้นอยู่ทางด้านซ้ายเป็นหลัก มีแถวทั้งหมด 5 แถว (rows) โดยแต่ละแถวจะแสดงเครื่องหมาย "*" เช่นกัน (คล้ายตัวอย่างที่ 1) ในการแสดงเครื่องหมาย "*" ของแถวแรกจะแสดงทั้งหมด 5 ตัวด้วยกัน และลดลงตามลำดับ เพราะฉะนั้นเราจะ loop ในการทำงานทั้งหมด 2 loop ด้วยกัน โดยกำหนดให้ loop แรก ทำหน้าที่เป็นแถว และ loop ที่ 2 ทำหน้าที่แสดงเครื่องหมาย "*"
Source Code:
int main( ) {
int r, c; // r - row, c - column
for (r = 0; r < 5; r++) {
for (c = 0; c < 5-r; c++) {
printf("*");
}
printf("\n");
}
return 0;
}
ถ้าพิจารณาจาก Source Code ที่เขียนจะเห็นว่ามีลักษณะคล้ายกัน ใช่ไหมครับ แต่สิ่งที่เปลี่ยน (แก้ไข) คือ c < 5-r ซึ่งเป็นเงื่อนไขในการตรวจสอบที่อยู่ใน loop ของ c และยังใช้ for loop ซึ่งง่ายและสะดวก แต่ถ้าต้องการใช้ loop อื่นก็สามารถทำได้นะครับ ลองนำไปประยุกต์ดูครับ แต่ถ้าเขียนอีกรูปแบบหนึ่งก็จะได้ผลลัพธ์เช่นเดียวกััน (เหมือนกัน)
Source Code:
int main ( ) {
int r, c; // r - row, c - column
for (r = 5; r > 0; r--) {
for (c = 0; c < r; c++) {
printf("*");
}
printf("\n");
}
return 0;
}
ถ้าพิจารณาจาก Source Code ที่เขียนจะเห็นว่ายังมีลักษณะคล้ายกัน แต่ปรับเปลี่ยนหลักการทำงานใหม่ คือ ให้ค่าเริ่มต้นของแถว จากเดิมเป็น 0 เปลี่ยนเป็น 5 ที่ loop ของ r และเป็นเงื่อนไขที่ loop ของ c ด้วย (สังเกตที่สีนะครับ)
สุดท้ายเป็นข้อคิดนะครับ:
จากตัวอย่างที่แสดงให้เห็นนั้นจะสังเกตได้ว่าแนวคิดจะเหมือนกัน (คล้ายกัน) เพียงแต่กระบวนการประมวลผลหรือการเปรียบเทียบเงื่อนไขอาจแตกต่างกัน แต่ผลลัพธ์ที่ได้จะเหมือนกัน เพราะฉะนั้น แนวคิดอาจจะเหมือนกัน แต่กระบวนการอาจจะไม่เหมือนกันก็ได้ครับ (ฝากให้คิด)
ยา กกกโค ดด อ่ะ !!!!!!!!!!!
ตอบลบมันก็ต้องยากสิคุณต้องหมั่นฝึกฝนครับ
ลบถ้าทำเป็นรูปต้นสนละ
ตอบลบไปทำบ้านป้าคุนดูสิค่ะ รูปต้นสนอ้ะ ^^
ลบเก่งจังเลยปาก
ลบมันก็ทำได้หนิ อิเจ๊ ทำไม่ได้แล้วทำเป็นปากดี
ลบการเป็นโปรเเกรมเมอ ต้องคิดนอกกรอบสิคับ ยิ่งไม่มีทางยิ่งท้าทาย
ลบอยากได้โค้ดที่รับค่าแล้วเก็บค่าไว้ แล้วประมวลผลออกมาทีเดียวอ่ะค่ะ ทำยากไหมค่ะ
ตอบลบอยากได้เป็นรูปสามเหลี่ยมทำไงคะ
ตอบลบแล้วแบบนี้ล่ะครับ? รูปสามเหลี่ยม
ตอบลบ_____*
____***
___*****
__*******
ถามพี่ดูซ่อ
ลบint n;
ลบscanf("%d",&n);
for(int i=1;i<=n;i++)
{
for(int j=0;j=n)
printf("*");
else
printf(" ");
}
printf("\n");
}
scanf(" ");
}
ถูกปะครับ
ลบ#include
ลบmain(){
int num=10;
int i,j,x;
for(i=1; i<=num; i++){
for(j=num-i; j>0; j--)
printf(" ");
for(x=i; x>=1; x--)
printf("#");
printf("\n");}
}
ทำรูปผีเสื้อทำไงคะ แบบสามเหลี่ยมหันหลังชนกันอะค่ะ
ลบง่ายอ้ะ อั้ยย้ะ !! ^^
ตอบลบง่ายมาก
ตอบลบสร้างสี่สามเหลี่ยม ละทำ ไง (for)
ตอบลบอยากได้
ตอบลบ1
12
123
1234
12345
123456
1234567
12345678
123456789
12345678910
123456789
12345678
1234567
123456
12345
1234
123
12
1
ตอบช้าไปป่าวค่ะ #include
ลบmain()
{
int a,b,c;
for(a=1;a<=10;a++)
{
for(b=1;b<=10-a;b++)
printf("");
for(c=1;c<=a;c++)
printf("%d",c);
printf("\n");
}
for(a=9;a>=1;a--)
{
for (b=1;b<=10-a;b++)
printf("");
for (c=1;c<=a;c++)
printf("%d",c);
printf("\n");
}
}
protected void Page_Load(object sender, EventArgs e)
ลบ{
int i,j;
for (i = 1; i <= 10; i++)
{
for (j = 1; j <= i; j++)
{
Response.Write(j + " ");
}
Response.Write("
");
}
for (i = 9; i >= 1; i--)
{
for (j = 1; j <= i; j++)
{
Response.Write(j + " ");
}
Response.Write("
");
}
}
}
ความคิดเห็นนี้ถูกผู้เขียนลบ
ตอบลบความคิดเห็นนี้ถูกผู้เขียนลบ
ลบ-----4
ตอบลบ----34
---234
--1234
วนยังไงคับ
และก็
-----4
----343
---23432
--1234321
ใช้ c# คับ งงมากเลย วอนผู้รู้ช่วยด้วยครับ
อยากได้โปรเเรมรับค่าเลขจำนวนเต็ม เเล้วสร้างพีระมิดกลางจอครับจำนวนชั้นคือเลขที่เราป้อน
ลบผมอยากได้ 1 โปรแกรมที่มี 3 ฟังชั่น อ่คับ ช่วยหน่อยได้ใหม เป่นโปรเจ็คงาน
ตอบลบอยากได้ที่มันเป็นรูปวงกลม 1.01 อ่ะค่ะ ทำได้ไมค่ะ
ตอบลบพิม 9 (enter)
ตอบลบ999999999
9999999
999999
99999
9999
999
99
9
ขอแบบคำสั่ง if ครับ :)
อยากได้
ตอบลบ*
***
*****
********
***
***
Merry X'mas
ความคิดเห็นนี้ถูกผู้เขียนลบ
ตอบลบพี่คับ แล้ว ผมอยากได้ ให้มันสามารถป้อนค่าบรรทัดได้ด้วยอะคับ เช่น ผมใส่เลข 5
ตอบลบผล *
***
*****
*******
*********
ช่วยทีคับ ขอร้องๆๆ
ผลนะคับ มันติดไป ตัว (-) ไม่นัดนะคับ
ลบ----------------------*
---------------------***
--------------------*****
-------------------*******
------------------*********
C....C
ตอบลบCC..CC
CCCCCC
CC..CC
C....C
มีใครทำรูปผีเสื้อได้บ้างคะ?
*
ตอบลบ**
***
**
*
แบบเนี้ยค่ะ ใครเขียนได้บ้างค่ะ
using System;
ลบusing System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
int i,j;
for (i = 1; i <= 10; i++)
{
for (j = 1; j <= i; j++)
{
Response.Write("*" + " ");
}
Response.Write("
");
}
for (i = 9; i >= 1; i--)
{
for (j = 1; j <= i; j++)
{
Response.Write("*" + " ");
}
Response.Write("
");
}
}
}
ความคิดเห็นนี้ถูกผู้เขียนลบ
ตอบลบความคิดเห็นนี้ถูกผู้เขียนลบ
ลบ*
ตอบลบ-**
---**
-----**
-------**
---------**
แบบนี้เขียนไงครับ รับค่าแถวกับคอร์ลั่น แล้วให้รันออกมาดอกจันเป็นขั้นบันได ช่วยทำให้ดูน่อยครับ ภาษาซี
________1
ตอบลบ_______121
______12321
_____1234321
____123454321
___12345654321
__1234567654321
_123456787654321
12345678987654321
แบบนี้ต้องทำยังไงหรอครับ
#include
ลบmain(){
int num=0;
int r,a,c;
printf("Input Num : ");
scanf("%d",&num);
for(r=1; r<=num; r++){
for(a=num-r; a>0; a--)
printf(" ");
for(c=r; c>=1; c--)
printf("%d",c);
for(c=2; c<=r; c++)
printf("%d",c);
printf("\n");}
getch();
}
//Kitsada Ch. 59130040172
ลบ//pattern (*)
#include
main(){
int a,b;
for(a=1;a<6;a++){
for(b=9-a;b!=0;b--){
printf(" ");
}
for(b=1;b!=a;b++){
printf("*");
}
for(b=a;b>0;b--){
printf("*");
}
printf("\n");
}
return 0;
}
#include
ตอบลบ#include
main(){
int i,j;
for(i=8;i>=0;i--){
for(j=9-i;j!=0;j--){
printf(" ");
}
for(j=0;j!=i;j++){
printf("*");
}
for(j=i;j>0;j--){
printf("*");
}
printf("\n");
}
for(i=0;i<10;i++)
{
for(j=9-i;j!=0;j--)
{
printf(" ");
}
for(j=0;j!=i;j++)
{
printf("*");
}
for(j=i;j>0;j--)
{
printf("*");
}
printf("\n");
}
getch();
}
1
ลบ123
12345
1234567
123456789
เขียนยังไงอ่ะครับผมงงง การวนรloopยังไงบอกผมทีเขียนนยังไง
____________1
ลบ_________ 123
__________12345
_________1234567
________123456789
ให้เป็นรูปพีระมิดแบบนี้อ่ะครับ
อาจารย์สั่งให้เขียน
ตอบลบName=......
Row= 2
Column=5
ค่าที่แสดงออกมา
Name=......
Row= 2
Column=5
1 2
3 4
5 6
7 8
9 10
ใครทำได้ช่วยหน่อยครับ
12345654321
ตอบลบ12345_54321
1234___4321
123_____321
12_______21
1_________1
1_________1
12_______21
123_____321
1234___4321
12345_54321
12345654321
ทำยังไงค่ะ
1 2 3 4 5 6 7 8 9
ตอบลบ2___________8
3___________7
4___________6
5___________5
6___________4
7___________3
8___________2
9 8 7 6 5 4 3 2 1
ขอรูปนี้ครับ ขอบคุณครับ ^^
1___2___3___4___5___6___7___8___9
ตอบลบ________________________________
2_______1_2_3_4_5_6_7_8_9_______8
3_______2_______________8_______7
4_______3_______________7_______6
5_______4_______________6_______5
6_______5_______________5_______4
7_______6_______________4_______3
8_______7_______________3_______2
________8_______________2_______
________9_8_7_6_5_4_3_2_1_______
________________________________
9___8___7___6___5___4___3___2___1
เป็นรูปสี่เหลี่ยมซ้อนกัน 2 รูปครับ อยากได้โค้ด
ขอบคุณครับ
ความคิดเห็นนี้ถูกผู้เขียนลบ
ตอบลบพิมพ์ 5
ตอบลบX O X O X
X O X O
X O X
X O
X
X O
X O X
X O X O
X O X O X
กรุสอนไหมเพื่อน
ลบความคิดเห็นนี้ถูกผู้เขียนลบ
ตอบลบขอโทษครับ พี่พอจะรู้วิธีทำสามเหลี่ยมออกมาประมาณนี้มั้ยครับ ให้เป็นเลข 1-10 เรียงกันแบบนี้เลยอะครับ
ตอบลบ----------------------------1
_______________2__3
_____________4___5___6
___________7__8____9__10
ปล.
คือผมเพิ่งหัดเรียนภาษา C อะครับ ยัง งงๆ อยู่เลย 555
แล้ว อันนี้ล่ะค่ะ
ตอบลบI
* (1)
I
** (2)
I
*** (3)
I
**** (4)
I
***** (5)
I
****** (6)
I
******* (7)
อาจารย์สั่งให้หาloop for 20บรรทัดนะ แต่ 2 โค้ด
ตอบลบ*
ตอบลบ**
***
****
*****
*****
****
***
**
*
โดยใช้ loop while
123456789
ตอบลบ2345678
34567
456
5
แบบนี้ทำยังไงหรอคะ รบกวนช่วยหน่อยค่ะ ต้องรีบส่งงานภายฝย16.40แล้วค่ะ
แบบที่เป็นรูปแบบสามเหลี่ยมคว่ำอ่ะค่ะ
ลบ#รูปผีเสื้อค้ะทำไง
ตอบลบ#รูปผีเสื้อค้ะทำไง
ตอบลบพี่น้อง อยากได้รูปสามเหลี่ยมค่ะ
ตอบลบช่วยหน่อนนะคะ
พี่ค่ะ ทำดอกจันเป็นรูปเพชรล่ะค่ะ ช่วยหน่อยค่ะ
ตอบลบอยากได้ตัวหนังสือรูปเพชรค่ะ ใครทำได้บาง
ตอบลบANT
N
ANT
N
ประมาณนี้คะ
ขอบคุณมากครับ สำหรับเรื่องราวความรู้ดีๆครับ ^^
ตอบลบอยากให้ช่วยร฿ปผีเสื้อค่ะ
ตอบลบA A
AB BA
ABC CBA
ABCD DCBA
ABCDEEDCBA
ABCD DCBA
ABC CBA
AB BA
A A
ผมพิมไปแล้วมันบอกว่าตรงprintf("*");มันผิดอะครับแก้ยังไงดี
ตอบลบบางทีมันก็บอกไม่ตรงลองเลื่อนดูบรรทัดอื่นๆดู
ลบใช้คนละภาษาหรือป่าวครับ อาจจะใช้C# เพราะมันใช้ก้วยกันไม่ได้
ลบความคิดเห็นนี้ถูกผู้เขียนลบ
ตอบลบ________1
ตอบลบ_______212
______32123
อาจารย์สั่งมาทำทำยังไงครับบอกที
ตอบลบ1
123
12345
1234567
123456789
อาจารย์สั่งมา ช่วยผมหน่อยครับ
ตอบลบ1
123
12345
1234567
123456789
ให้เป็นรูปพีรมิดอ่ะครับ
ลบ_______________1
________-_____ 123
_____________ 12345
____________ 1234567
___________ 123456789
11111*
ตอบลบ2222**
333***
44****
5*****
อยากได้อันนี้ค่ะ🙏👆👆
*
ตอบลบ*+*
*+++*
*+++++*
*+++++++*
*+++++++++*
*+++++++++++*
*+++++++++++++*
*+++++++++++++++*
*******************
แบบนี้ค่ะ ช่วยหน่อยนะคะ
ผมอยากได้ flowchart อันข้างบนสุดครับ
ตอบลบอยากได้โปรเเรมรับค่าเลขจำนวนเต็ม เเล้วสร้างพีระมิดกลางจอครับจำนวนชั้นคือเลขที่เราป้อน
ตอบลบ111111111
ตอบลบ2222222
33333
444
5
ช่วยทำแบบนี้ให้หน่อยได้ไหมครับ ปวดหัวมากเลย
111111111
ตอบลบ-2222222
--33333
---444
----5
ตรง - เป็นพื้นที่ว่างนะครับ
ช่วยทำแบบนี้ให้หน่อยได้ไหมครับ ปวดหัวมากเลย
อยาก ได้
ตอบลบ001
011 012
021 022 023
031 032 033 034
041 043 044 045 046
วนแบบนี้ จนถึง 100
อยากได้รูป*เป็นพีระมิดกลับด้านค่ะ ที่หันปลายเเหลมลง
ตอบลบ