الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طلب اضافة لكود (#C) يقوم بتحليل وتشفير نص مدخل

بدأه MODA88 في 11 مارس 2014 · 2 رد · 880 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ,,,

 

 

اخوكم في الله المهندس محمد حافظ خريج هندسة حاسب وهاوي لأمن المعلومات والتشفير

الطلب هو لأمر شخصي مهم جداً بالنسبة لي.. لذلك اتمنى المساعده,,

 

 

اريد القيام بكتابة برنامج يقوم بتغيير النص المدخل له وتحليله بحساب عدد تكرار كل حرف وجد بالنص المدخل

هذه الخطوة قمت بكتابتها والتاكد منها ولله الحمد بالرغم انني جديد على لغة البرمجة #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 stringInput = StringBox.Text;            List<string> outputString = new List<string>();            char[] chrs = stringInput.ToCharArray();            for (int i = 0; i < chrs.Length; i++)            {                if (chrs.ToString() != " ")                {                    var s = chrs.ToString().ToUpper() + " => " + Occurence(stringInput, chrs);                    if (outputString.IndexOf(s) == -1)                    {                        outputString.Add(s);                    }                }            }            output.Text = string.Join("\r\n", outputString);        }        private int Occurence(string text, char chr)        {            int i = 0, count = 0;            while ((i = text.IndexOf(chr, i)) != -1)            {                count++;                i++;            }            return count;        }    }}

المطلوب الآن هو:

 

 

1- طباعة الآسكي كود لكل حرف تم استخراجه من النص

 

2- عمل ازاحة للأحرف بعدد معين من الخانات اقوم بادخاله 

 

مثال على ذلك

لو قمنا بادخال النص : ABCD

وقمنا باختيار عدد ازاحة بمقدار : 1

 

 

فان الناتج يكونBCDE

 

 

هذا وجزاكم الله خيراً أجمعييييين

1
#2

الأخ صاحب السؤال :

اخي لم تحدد نوع الإزاحة التي تريدها وجهتها ؟؟ " يمينية أم يسارية "

على كل : 

يمكنك إستخدام معامل الإزاحة على مستوى البت BitWise Shift Operetor المضمن في لغة C#

 

<< لليمين او >> لليسار

مثال 

x << 1

هنا ستتم عمل إزاحة لل x مقدار 1 بت " بت وليس بايت انتبه "

 

اما بخصوص سؤالك الأول :

اخي العزيز يبدوا انك لاتعرف ان في اي لغة برمجة في العالم النوع char هو في الحقيقة نوع من الانواع الرقمية وليس النصية اي اللغة في الحقيقة تتعامل مع ال char على اساس رقمي وليس نصي 

لذلك يمكنك عندما تحول سلسلة نصية إلى مصفوفة محارف ان تطبع مباشرة القيمة الرقمية الحقيقية لل char بدلاً من التمثيل النصي له عن طريق الميثود GetBytes من الكلاس Encoding 

مثال 

 

Encoding.Unicode.GetBytes(X);                    a

 

هذا الكلاس موجود في الكلاس الرئيسي Text الموجودة بدوره في الآسمبلي System

اي يصبح المجال الكامل System.Text.Encoding.Unicode.GetBytes(x)             0

 

 

 

الأخت التي سئلت : هذا السؤال للأخ لذلك يجب ان تقومي بفتح سؤال آخر جديد لا ان تطرحي سؤالك في اسئلة الآخرين !!!!!

بالتوفيق ان شاء الله

2

{ وَيَوْمَ تَقُومُ السَّاعَةُ يُقْسِمُ الْمُجْرِمُونَ مَا لَبِثُوا غَيْرَ سَاعَةٍ ۚ كَذَٰلِكَ كَانُوا يُؤْفَكُونَ () وَقَالَ الَّذِينَ أُوتُوا الْعِلْمَ وَالْإِيمَانَ لَقَدْ لَبِثْتُمْ فِي كِتَابِ اللَّهِ إِلَىٰ يَوْمِ الْبَعْثِ ۖ فَهَٰذَا يَوْمُ الْبَعْثِ وَلَٰكِنَّكُمْ كُنْتُمْ لَا تَعْلَمُونَ } الروم 55-56

#3
هكذا تقوم بطباعة آسكي كل حرف : 
string s = "9quali52ty3";
byte[] ASCIIValues = Encoding.ASCII.GetBytes(s);
foreach(byte b in ASCIIValues) {
Console.WriteLine(b);
}

مواضيع مشابهة