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

سؤال ( كيف يتم ادخال سلسلة نصية و اضافة عناصرها الى مصفوفة ) ؟

بدأه المبرمج علي نوري في 9 أبريل 2014 · 7 رد · 916 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم :

 

اخواني الاعزاء ( بيئة العمل باسكال )

 

سؤال ( كيف يتم ادخال سلسلة نصية و اضافة عناصرها الى مصفوفة تحتوي هذه المصفوفة الحروف الابجدية الانكليزية 

 

فاذا وجد البرنامج الحرف A  مرة واحدة في السلسلة النصية , فيجب ان يزداد العداد المقابل للحرف A بواحد واذا وجد 

 

الحرف A  مرتين فيجب ان يزداد عداد الـ A  بأثنين وهكذا ...

 

مثال توضيحي ( المثال بلغة فيجول بيسك 6 ) وهو للتوضيح فقط 

 

FGO9CL.jpg

 

وشكرا مقدما للجميع 

#2

تقارن الحرف الاول مع البقية اذا وجدته متساوي تحذف التشابه ونبقي على الحرف الاول

وهكذا نحصل على

حروف[0]=a

عدد[0] = inc(j)/ j=عدد الحرف الاول

ثم ننتقل للحرف الثاني نقارنه مع البقية ولا نرجع للوراء ونحصل

حروف[1]=b

عدد[1] = inc(j)/ j=عدد الحرف الثاني

تم تعديل هذه المشاركة بواسطة onoffwy في 9 أبريل 2014 في 14:25

1
#3

شكرا اخي الكريم على الاجابة :)

 

ممكن توضيح الكلام في الكود .. انا مبتدئ في باسكال 

 

واسف اتعبتك 

#4
type  TDynamicSA= array of string;
function OccurrencesOfChar(const S: string; const C: char): integer;var  i: Integer;begin  result := 0;  for i := 1 to Length(S) do    if S = C then      inc(result);end;
procedure TForm1.btn2Click(Sender: TObject);var text:string;list,ss:TDynamicSA;i:Integer;begin text:='ABCDFEFGHIJKMLMNOPQRXXSTUVWXYZAARAA'; for i:=0 to Length(text)-1 do begin SetLength(list,i+1);  SetLength(ss,i+1);  list :=IntToStr(OccurrencesOfChar(text,text));  ss:= text; end; for i:=1 to 26 dommo1.Lines.Add(ss+' : '+list);

27ub.png

تم تعديل هذه المشاركة بواسطة onoffwy في 9 أبريل 2014 في 14:57

1
#5

اخي الكريم انا استخدم الكونسول ابليكشين في برنامج الـ lazarus  لذلك لا يوجد .btn2Click 

 

D9ZtiG.jpg

 

اعتذر تعبتك معي 

#6

program Project2;

{$APPTYPE CONSOLE}

uses

  SysUtils;

  type

  TDynamicSA= array of string;

function OccurrencesOfChar(const S: string; const C: char): integer;

var

  i: Integer;

begin

  result := 0;

  for i := 1 to Length(S) do

    if S = C then

      inc(result);

end;

var text:string;

count,Alpha:TDynamicSA;

i:Integer;

begin

 text:='ABCDFEFGHIJKMLMNOPQRXXSTUVWXYZAARAA';

 for i:=0 to Length(text)-1 do begin

 SetLength(count,i+1);

  SetLength(Alpha,i+1);

  count :=IntToStr(OccurrencesOfChar(text,text));

  Alpha:= text;

 end;

 for i:=1 to 26 do

Writeln(Alpha+' : '+count);

Readln;

end.

1
#7

program Project1;

{$APPTYPE CONSOLE}

uses

  SysUtils;

  function DeleteChar(var S: string; const C: char): string;

var

  i: Integer;

begin

 // result := s;

  for i := 0 to Length(S)-1 do

    if S = C then

      Delete(S,i,1);

      result := S;

end;

type

  TDynamicSA= array of string;

function OccurrencesOfChar(const S: string; const C: char): integer;

var

  i: Integer;

begin

  result := 0;

  for i := 1 to Length(S) do

    if S = C then

      inc(result);

end;

var text:string;

count,Alpha:TDynamicSA;

i:Integer;

begin

 //text:='ABCDFEFGHIJKMLMNOPQRXXSTUVWXYZAARAA';

 Writeln('tapez votre texte ici : ')  ;

 read(text);

 text:=UpperCase(text)  ;

 for i:=1 to 26 do begin

 SetLength(count,i+1);

  SetLength(Alpha,i+1);

  count :=IntToStr(OccurrencesOfChar(text,Char(64+i)));

  Alpha:= Char(64+i);

 end;

 for i:=1 to 26 do

 Writeln(Alpha+' : '+count);

 //Writeln('----------------');

// for i:=1 to 26 do

 //Writeln(Char(64+i)+ ' : '+ inttostr(OccurrencesOfChar(text,Char(64+i))) );

//Writeln(Alpha+' : '+count);

 Readln;

Readln;

end.

1
#8

شكررررررا جزيلا وفقك الله لكل خير 

 

اشتغل البرنامج .. روووعة اشكرك جدا 

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…