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,027

HOME > .NET Framework > Forum > อยากทราบแนวคิดการเขียนโปรแกรมเข้ารหัสด้วยภาษา C# ครับ



 

อยากทราบแนวคิดการเขียนโปรแกรมเข้ารหัสด้วยภาษา C# ครับ

 



Topic : 051254



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



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




ผมเคยได้มีโอกาสไปอบรมการเขียนโปรแกรม C# อยู่ครั้งหนึ่งครับ แล้วที่ค่ายนั้นก็มีโจทย์ท้าทายสุดท้าย คือให้เขียนโปรแกรมเข้ารหัส โดยมีเงื่อนไขว่า ในชุดตัวอักษร 4 ตัว ให้เรียงลำดับที่ใหม่ เป็น 4213 เช่น พิมพ์ข้อความ 4 ตัวลงไป คือ abcd เมื่อแสดงผลออกมา จะได้เป็น dbac เป็นต้น แล้วให้ลดลำดับอักษรลงไป ตามลำดับใหม่ คือ ลำดับที่ 1 ให้ลดลำดับอักษรลง 1 ตัว, ลำดับที่ 2 ให้ลดลำดับอักษรลง 2 ตัว เป็นเช่นนี้ไปเรื่อยๆจนถึงลำดับที่ 4 โดยเรียงจากลำดับของรหัส ASCII เช่นพิมพ์ a ลงไปในลำดับที่ 4 จะถูกสลับขึ้นมาในตำแหน่งที่ 1 และถูกลดลำดับอักษรลงไป 1 ตัว คือ จาก b จะกลายเป็น a เป็นต้น

ตัวอย่าง พิมพ์คำว่า efghijklmnop ลงไป จะได้คืนมาว่า gdbckhfgoljk เป็นต้น

ในตอนนั้นผมกับเพื่อนได้มีโอกาสได้ลองรวมหัวกันคิด แล้วก็สามารถทำออกได้จนสำเร็จ แต่เนื่องจากเป็นการช่วยกันคิด ตอนนี้ผมจะลองกลับมาเขียนดูอีกครั้ง จึงไม่สามารถทำได้สำเร็จ ผมเลยรบกวนพี่ๆ ลองทำดูแล้วก็นำแนวคิดมาแชร์กันนะครับ เพราะผมว่ามันน่าสนใจดี แหะๆ

ขอขอบคุณทุกท่านมา ณ โอกาสนี้ด้วยนะครับ



Tag : .NET, Win (Windows App), C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-11-06 10:27:24 By : devil707 View : 4525 Reply : 14
 

 

No. 1



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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


ง่ายเกินไปเปล่า

mod 4

วนลูป + convert to char array + เรียงใหม่ + shift char + covert to string

วนลูป + ต่อ string







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-06 11:23:27 By : tungman
 


 

No. 2



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



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


แนวการเขียนหรอครับ
เขียนแนวนอนครับ จากซ้ายไปขวา บนลงล่าง

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-06 15:58:32 By : nooknoname
 

 

No. 3



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



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


ผมก็เข้าใจนะครับว่า แบบ มันอาจจะง่ายในความคิดของคนที่เก่งแล้ว หรืออาจจะบอกว่าให้ลองศึกษาเองดู แต่คือ ถ้ามันง่ายจริงๆ จนขนาดว่า ไม่ต้องมาแชร์ความรู้กัน แบบนั้นก็เหมือนกับผมโง่มากจนเขียนโปรแกรมไม่ได้เลยเหรอครับ ที่ผมมาถามเนี่ย หลายคนอาจจะบอกว่าเป็นนิสัยเสีย คือ ไม่ศึกษาเอง แต่มาถามเลยตรงๆ แต่ผมก็อยากจะบอกว่า ถึงแม้ว่ามันจะเป็นการลอกไปเลย แต่อย่างน้อย การลองในครั้งนี้ ผมก็สามารถนำไปทำความเข้าใจ และต่อยอดต่อไปได้ในอนาคต อีกอย่าง ผมเองก็อยากพัฒนาตัวเองเหมือนกัน ผมเลยใช้คำว่า ให้มาแชร์แนวคิดกัน

บางคนอาจจะบอกว่า ในเมื่อผมเขียนว่าให้มาแชร์แนวคิดกัน แล้วไหนล่ะแนวคิดของคุณ?

ผมขอสารภาพตามตรงเลยครับว่า ผมยังไม่ได้เขียนเลยครับ เพราะผมคิดไม่ออกจริงๆ ต้องขออภัยมา ณ ที่นี้ด้วยนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-06 23:07:46 By : devil707
 


 

No. 4



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


อย่าเพิ่งคิดมากครับ คุณ คนในบอร์ดหลายคน อาจจะแรง แต่ถ้าคุณมาอ่านบ่อย คุณจะรู้ว่าเขาไม่ได้อะไรมากมาย เดี๋ยวก็ชินครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-07 00:04:36 By : PlaKriM
 


 

No. 5



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



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


การสอนมีหลายประเภทค่ะ โดยส่วนตัวการสอนแบบป้อนแล้วเคี้ยวส่งให้ในปากจะทำให้คนเรียนพาลจะเป็นง่อยเอาง่ายๆ

การคิดเองค้นคว้าเป็นย่อมจะทำให้ผู้เรียนพึ่งพาตัวเองและเข้มแข็งพอจะยืนหยัดได้ทุกสถานะการณ์ น้องคิดแบบนี้ปะคะ

ถ้าไม่ก้อหมายเหตุไว้ ผมเป็นคนอ่อนไหวใจบอบบางไม่เหมาะต่อคำบ่นคำประชดประชันกรุณาสอนผมด้วยความทนุถนอม

เช่นนั้น พี่ๆก้อจะสอนตามที่น้องต้องการค่ะ

ส่วนโจทย์ของน้อง ถ้าพี่จำไม่ผิดเป็นการเข้ารหัสของโรมันตั้งกะครั้งนู้นที่ในแผนที่โลกยังไม่มีประเทศไทยมังคะ

หลักการคือ แยก string ออกเป็น character ทีละตัวจะโดยการตัดต่อ string หรือ array ก็ได้

จากนั้นแปลงค่า charactor แต่ละตัวเป็น int แล้วลบค่ามันลงไป ทีนี้ถ้าเป็นตัว 'a' หรือ 'A' แทนที่จะลบค่า

ก้อให้มันเป็น 'z' หรือ 'Z' แทน พอเข้าใจยังคะ

แล้วพี่ก้อมีโจทย์ให้น้องลองไปทำดูค่ะ ไหนลองเขียนโปรแกรมรับ string (เป็นคำ-ประโยคภาษาอังกฤษ)

แล้วให้หาว่าใน string นั้นมีคำกี่คำ

(โจทย์นี้เหมือนจะง่ายนะคะ แต่จะใช้ดูความถี่ถ้วนการมองปัญหาให้รอบด้าน อย่างไรเสียพี่ก้อคิดว่าน้องคงทำไม่ถูก/ครบหรอกมังคะ)


ประวัติการแก้ไข
2010-11-07 05:38:55
2010-11-07 05:39:34
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-07 05:38:18 By : blurEyes
 


 

No. 6



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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


เค้าก็ตอบไว้แล้วนี่

1
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-07 12:36:08 By : tungman
 


 

No. 7

Guest


ขอโทษคุณ tungman ด้วยครับ ผมไม่ได้สังเกตจริงๆ ขอโทษจริงๆครับ พอดีเครียดไปหน่อย ไปอบรมภาษา Java มา แล้วเซฟงานไม่ทัน คนดูแลห้องเขาปิดเครื่องไปซะก่อน เลยเครียดๆน่ะครับ

ความผิดนี้ผมขอรับไปแต่เพียงผู้เดียวเลยครับ แหะๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-07 13:11:33 By : ตั๊ก
 


 

No. 8



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



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


ส่งงานคุณ Stupid gurl ครับ แต่ขออณุญาติส่งเป็นภาษา C ก่อนนะครับ เดี๋ยวจะเขียนเป็น C# ให้นะครับ

++++++++++++++++++++++++++++

Code
#include<stdio.h> #include<string.h> #include<stdlib.h> main(){ char str[100]; int cnt=0,i=0; printf("Enter str: "); gets(str); if(strlen(str)){ while(str[i]!='\0'){ if(str[i]==' '){ if(str[i+1]!=' ' && str[i+1]!='\0') cnt++; } i++; } if(str[0]!=' ' && str[i]!=' ') cnt++; } printf("%d",cnt); printf("\n"); system("pause"); }



++++++++++++++++++++++++++++

เสร็จแล้วครับ โค้ดภาษา C#

Code (C#)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string str;
            int x = 0, i = 0;
            str = textBox1.Text;

            if (str.Length > 0)
            {
                for (; i < str.Length-1; i++)
                {
                    if (str[i].ToString() == " ")
                    {
                        if (str[i + 1].ToString() != " ") x++;
                        else if (str[i + 1] == str.Length && str[i + 1].ToString() != " ") x++;
                    }
                }
                if (str[0].ToString() != " ") x++;
            }

            textBox2.Text = x.ToString();
        }
    }
}


รบกวนช่วยตรวจสอบด้วยนะครับ ขอบคุณครับ


ประวัติการแก้ไข
2010-11-08 10:18:33
2010-11-08 13:10:29
2010-11-08 13:14:07
2010-11-09 23:54:01
2010-11-09 23:54:44
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-08 10:04:18 By : devil707
 


 

No. 9

Guest


อาจารย์ให้ลองทำเป็น VB แต่น้องไม่เคยเรียน แทบจะไม่รุศัพท์ วิธีการเขียนของ VB เลย
น้องต้องแก้ปัญหานี้ยังไงดี
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-10 20:42:28 By : kalarm
 


 

No. 10



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



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


ตอบคุณ kalarm ครับ ผมสามารถเขียน VB ได้ครับ แต่โจทย์ที่ให้มาจะเป็น C# ครับ

ตามนิสัยผมคือใช้ความรู้เท่าที่มีในการแก้ปัญหาครับ เพราะผมจะไม่รู้เลยว่าผมขาดความรู้ในส่วนไหนไป เพราะผมอ่านเองและไม่มีเรียนในตารางเรียนครับ

การหาความรู้ใหม่ของผมมาจากการเล่นและอยากได้นู่นนี่จึงสามารถไปหามาได้ครับ เพราะผมรู้จุดประสงค์ที่เป็นรูปธรรมกับตัวเองแล้วว่า ต้องการอะไรครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-10 20:55:00 By : devil707
 


 

No. 11



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : tungman เมื่อวันที่ 2010-11-06 11:23:27
รายละเอียดของการตอบ ::
- -* แมพขิงๆ มันคือเคล็ดวิชาในตำนาน ต้องเอาเมาส์ลากคลุมถึงมองเห็น
อ๋องี้นี่เอง ของดีไม่สามารถมองเห็ได้ตัวตาปล่าว

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-10 21:00:17 By : nooknoname
 


 

No. 12

Guest


เป็นการ เขียนโปรแกรมแบบ reverse คือการเขียนโปรแกรมแบบ สลับที่ จาก ตัวหน้าไป ข้างหลังครับ ถ้าเป็น ภาษา C ก็จะมีฟังชั่นก์ ต่างๆอยู่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-06 17:22:32 By : HTRAE
 


 

No. 13

Guest


เป็นการ เขียนโปรแกรมแบบ reverse คือการเขียนโปรแกรมแบบ สลับที่ จาก ตัวหน้าไป ข้างหลังครับ ถ้าเป็น ภาษา C ก็จะมีฟังชั่นก์ ต่างๆอยู่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-06 17:23:15 By : HTRAE
 


 

No. 14

Guest


เป็นการ เขียนโปรแกรมแบบ reverse คือการเขียนโปรแกรมแบบ สลับที่
จาก ตัวหน้าไป ข้างหลังครับ ถ้าเป็น ภาษา C ก็จะมีฟังชั่นก์ ต่างๆอยู่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-06 17:25:06 By : HTRAE
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : อยากทราบแนวคิดการเขียนโปรแกรมเข้ารหัสด้วยภาษา 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

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