კვირა, 2024-05-19, 2:18 AM
Welcome Guest | RSS

News Search Engine

C ++ დამწყებებს- 4 გაკვეთილი - Forum

[ New messages · Members · Forum rules · Search · RSS ]
  • Page 1 of 1
  • 1
Forum moderator: DL1MP1K  
Forum » პროგრამირება/programming » C ++ » C ++ დამწყებებს- 4 გაკვეთილი (მასივები)
C ++ დამწყებებს- 4 გაკვეთილი
DL1MP1KDate: ხუთშაბათი, 2012-02-09, 7:43 PM | Message # 1
Lieutenant colonel
Group: VIP
Messages: 77
Awards: 0
Reputation: 1
Status: გასული
მასივები ერთ-ერთი ფუნდამენტალური მცნებაა პროგრამირების სამყაროში, ეს არის მეხსიერების ბლოკების(ბაიტების) თანმიმდევრული გამოყოფა. როგორც ვიცით (და თუ არ ვიცით ეხლა გავიგებთ) წინა თემებიდან ოპერატორის მეშვეობით შეგვიძლია გამოვაცხადოთ ცვლადი რომელიც მეხსიერებაში რაღაც ადგილს დაიკავებს, ყოველი შემდგომი ცვლადის გამოცხადებისას ჩვენ არა გვაქვს გარანტია რომ ცვლადები რომლებიც გამოვაცხადეთ, ერთმანეთის მიყოლებით განლაგდებიან მეხსიერებაში, და თუკი დაგვჭირდება მეხსიერებიდან ამ ცვლადების წაკითხვა ჩვენ უნდა სახელებით მივმართოთ მათ, სხვანაირად მათი მოძებნა შეუძლებელია. მასივი ამ მხრივ უნიკალურია რადგანაც ყოველი ცვლადი რომელიც მასივში იქნება, გარანტირებულად ერთმანეთის მიყოლებით იქნება მეხსიერებაში ჩაწერილი და მეხსიერებიდან შეიძლება ასევე მიმდევრობით წაკითხვა; მასივი შეიძლება არსებობდეს ნებისმიერი ტიპის;
მაგ
int masivi [10]; // int არის ოპერატორი რომელიც განსაზღვრავს რომ მასივი რომელიც გამოიყოფა და ჩვენს შემთხვევაში მასივს ქვია masivi მის თითოეულ წევრს ექნება 4 ბაიტის სიდიდე. აქ გამოყოფილი არის 10 წევრიანი მასივი(ანუ 10 არის მასივის სიგრძე) და თითოეული წევრის სიდიდე ოთხი ბაიტია;
ჩვენ შეგვიძლია მის თითოეულ წევრს ცალცალკე მივანიჭოთ მნიშვნელობა
მაგ:
masivi[2] = 18;

masivi[0]=100;

masivi [5]=20;

masivi [9]=43;

masivi [10]=234; //EROR!!!

საგულისხმოა ერთი რამ რომ , თუმცა მასივის სიგრძე 10 ის ტოლია ჩვენ არშეგვიძლია მივმართოთ მასივის მე 10 ელემენტს, რადგანაც მასივის ათვლა იწყება 0 დან და ამიტომაც მისი ბოლო წევრი არის მეათ ელემენტი ინდექსით 9; თუმცა მასივის გამოცხადებისას რიცხვი 10 განსაზღვრავს მასივის სიგრძეს მინიჭებისას ოთხკუთხედ ფრჩხილებში მოთავსებული რიცხვები უკვე მიუთითებენ არა სიგრძეს არამედ ინდექსს თუ მასივის რომელ წევრთან ხდება მოქმედება;
განვიხილოთ ტექსტური მასივი;
char TeMas[20]; // char არის ოპერატორი რომელიც განსაზღვრავს რომ მასივი რომელიც გამოიყოფა და ჩვენს შემთხვევაში მასივს ქვია TeMas მის თითოეულ წევრს ექნება 1 ბაიტის სიდიდე. აქ გამოყოფილი არის 20 წევრიანი მასივი(ანუ 20 არის მასივის სიგრძე) და თითოეული წევრის სიდიდე ერთი ბაიტია;
განსხვავებით სხვა მასივებისა, რომლებიც რიცხვებთან სამუშაოთაა განკუთვნილი, char მასივების ინიციალიზაცია (ანუ მნიშვნელობის მინიჭება) გამოცხადებისთანავეა შესაძლებელი; გამოვიყენებ იგივე მასივს;
char TeMas[20]="Hello C++"; //მართალია მასივი 20 ბაიტიანია მაგრამ ჩვენ მხოლოდ 9 ბაიტი შევავსეთ, თითოეული ასო მეხსიერებაში იკავებს 1 ბაიტს. ცხრა ბაიტის შემდეგ ისე რომ ჩვენ არც ვიცით თავისთავად ეწერება დასასრულის აღმნიშვნელი \0. ეს ხდება იმ მიზეზით რომ წაკითხვისას წაკითხული იქნეს მხოლოდ მეხსიერების ის ნაწილი რომელიც შევსებულია და დანარჩენი იგნორირებული იქნება. აუცილებელი პირობაა ტექსტის ბრჭყალებში მოთავსება, სხვანაირად ტრანსლიატორისთვის გაუგებარი ხდება მინიჭების მოქმედება.
ისევე როგორც სხვა მასივებში აქაც არის საშუალება რომ ცალცალკე მივანიჭოთ მნიშვნელობა მასივის წევრებს
TeMas[0] = "H";

TeMas[1]="e";

TeMas[2]="l";

TeMas[3]="l";

TeMas[4]="o";

TeMas[5]=" ";
და ასე შემდეგ.
მართალია ჩვენი მასივი თავიდანვე 20 ბაიტი გამოვყავით და აქედან მხოლოდ 9 ბაიტი შევავსეთ, სინამდვილეში 10 ბაიტია შევსებული. მეათე არის დასასრულის ნიშანი "\0". თუკი ჩვენ გამოვყოფდით აი ასე ;
char TeMas[9]="Hello C++"; // თითქოს გამართლებულია რომ გვაქვს 9 სიმბოლო და ამიტომაც 9 ბაიტი მოვითხოვეთ, მაგრამ ტრანსლიატორი შეცდომას აფიქსირებს რადგანაც არ რჩება ადგილი დასასრულის აღმნიშვნელი სიმბოლოსათვის:

ისეთი შემთხვევებისათვის როცა არა აქვს მნიშვნელობა მასივის სიგრძეს, შეგვიძლია გამოვაცხადოთ მასივი წინასწარ განსაზღვრული სიდიდით, რომელიც ტრანსლიაციის დროს შემოწმდება და გამოიყოფა იმხელა მეხსიერება რამდენი სიმბოლოც არის ტოლობის შემდეგ. ამ სახის მასივი გამოცხადებისთანავე უნდა იქნეს ინიცირებული, მისი დინამიური ინიციალიზაცია არ მოხდება. მაგ:
char TeMas[ ] ="gamarjoba Cemo Tbilis qalaqo";
როდესაც არანაირი მანიპულაციების ჩატარება არ იგეგმება ტექსტურ მასივთან და უბრალოდ ეკრანზე გამოსაყვანად გვჭირდება მასივი, მაშნ მიზანშეწონილია ამ სახით მასივის გამოცხადება, თუმცა არც ეს მასივია ურიგო მანიპულაციებისთვის, რასაც შემდეგ თავებში გავარკვევთ; ტექსტური მასივების გარდა ყველა სხვა დანარჩენი მასივები შეიძლება განხილულ იქნას ერთ ჯგუფში, ამიტომ ყველაზე ცალ ცალკე აღარ შევჩერდები;
არაფრის შეცვლა არ არის საჭირო, ბოლო ხაზის შემდეგ დავწეროთ ეს კოდი
cout < <"/////////////////////////////////////////////////////////////////////////////////////////////////////////////////"< < endl;

int array[10];

double darray[5];

char TextMas[20];

char Text2[]="ganusazgvreli sididis masivi";

array[0]=10;

array[1]= 15;

array[8]=25;

darray[2]=9.27;

darray[1]=23.5;

darray[4]=22.87;

flomas[2]=22.987;

flomas[8]=12.55;

flomas[0]=10;

TextMas[0]='I';

TextMas[1]='L';

TextMas[2]='I';

TextMas[3]='A';

cout < < "1.int masivis pirveli elementi = "< < array[0 ] < < endl;

cout < < "2.int masivis meore elementi = " << array[1 ]< < endl;

cout < < "3.int masivis meSvide elementi = " < < array[8] < < endl;

array[2]=array[0] + array[8] *array[1];

cout < < "4.int masivis mesame elementi = " < < array[2] < < endl;

cout < < "5.double masivis mesame elementi = " < < darray[2] < < endl;

cout < < "6.double masivis meore elementi = " < < darray[1] < < endl;

cout < < "7.double masivis mexuTe elementi = " < < darray[4] < < endl;

darray[0]=(darray[2] + darray[4] )/(darray[1] + 30.76);

cout < < "8.double masivis pirveli elementi = " < < darray[0] < < endl;

cout < < "9.char masivis pirveli elementi = " < < TextMas [0] < < endl;

cout < < "10.char masivis meore elementi = " < < TextMas [1] < < endl;

cout < < "11.char masivis mesame elementi = " < < TextMas [2] < < endl;

cout < < "12.char masivis meotxe elementi = " < < TextMas [3] < < endl;

cout < < "13.ganusazgvreli masivi = "< < Text2 < < endl;


მიზანი ამართლებას საშუალებას !
ვინც ეძებს ის პოულობს : http://therealgta.ucoz.com
ითამაშე ფლეშ თამაშები : http://gamesforboys.in
 
Forum » პროგრამირება/programming » C ++ » C ++ დამწყებებს- 4 გაკვეთილი (მასივები)
  • Page 1 of 1
  • 1
Search:

1-1 biography magari gogo for DLE Desing pretty to Design template Dle design dle template math dizaini NeedGames Templates uCoz Group Sluts უყურე ონლაინში ფილმი გადმოწერე ფილმი ფილმის გადმოწერა უფასოდ ფილმის ყურება Big hardcore and Fun Threesome busty of City 2012 Need download movies in Life თამაში თამაშები GTA Andreas Tits news the Search Freeway Engine Facebook at Babe Getting ფილმები Movies Movie filmebi Pro theme პროგრამები programs soft softs Program programebi my LOve Fuck 18+ traki mineti სიახლეები 18 + porno online porno muteli Sex tynauri seqsi PSD elegant მინეტი ონლაინ 1X1 სექსი HD ხარისხი Game Games Man Enterprise edition tynaven elcomsoft Elcomsoft System Recovery themes Girl MULTI with hard Her pussy magari ass
Copyright MyCorp © 2024
Create a free website with uCoz