نصائح و استشارات برمجية
1.44K subscribers
546 photos
10 videos
83 files
398 links
• نصائح واستشارات برمجية متعلقة باسئلة تم طرحها

• لطرح استفسار او سؤال: @m4md24
Download Telegram
نصائح و استشارات برمجية
return 0; }
• دا الشرح مع تصحيح الخطأ و حذف التعليق ↓
#include <iostream>
#include <cmath>
#include <string>
#include <algorithm>
#include <fstream>
#include <utility>
#include <vector>
#include <iterator>

using namespace std;

// تعريف هيكل العقدة
struct node
{
int item;
node *next;
};

// متغير لتتبع عدد العقد في القائمة المرتبطة
int counter = 0;

// إعلان عقدة الرأس
node *head;

// إدراج عقدة من الجهة الأمامية للقائمة
void insert_from_front(int item)
{
// إنشاء عقدة جديدة
node *newnode = new node;
newnode->item = item;
newnode->next = NULL;

// إذا كانت القائمة فارغة، قم بتعيين العقدة الجديدة كرأس
if (head == NULL)
{
head = newnode;
}
else
{
// إذا لم تكن القائمة فارغة، ضع العقدة الجديدة في الجهة الأمامية وقم بتحديث الرأس
newnode->next = head;
head = newnode;
}
counter++;
}

// إدراج عقدة من الجهة الخلفية للقائمة
void insert_from_back(int item)
{
// إنشاء عقدة جديدة
node *newnode = new node;
newnode->item = item;
newnode->next = NULL;

// إذا كانت القائمة فارغة، قم بتعيين العقدة الجديدة كرأس
if (head == NULL)
{
head = newnode;
}
else
{
// إذا لم تكن القائمة فارغة، ابحث عن العقدة الأخيرة وضع العقدة الجديدة بعد العقدة الأخيرة
node *t = head;

while (t->next != NULL)
{
t = t->next;
}
t->next = newnode;
newnode->next = NULL;
}
counter++;
}

// إدراج عقدة في موقع محدد
void insertpos(int pos, int element)
{
// إذا كان الموقع هو الجهة الأمامية، قم بإدراج من الجهة الأمامية
if (pos == 1)
{
insert_from_front(element);
}
// إذا كان الموقع غير الجهة الأمامية، ابحث عن الموقع وقم بإدراج العقدة في هذا الموقع
else if (pos > 1)
{
node *newnode = new node;
newnode->item = element;
node *f = head;
node *p = f;
int i = 1;
while (i < pos)
{
p = f;
f = f->next;
i++;
}
p->next = newnode;
newnode->next = f;
counter++;
}
}

// حذف العقدة من الجهة الأمامية
void delete_front()
{
// إذا كانت القائمة فارغة، قم بطباعة رسالة خطأ
if (head == NULL)
{
cout << "linked list under flow\n";
}
// إذا كانت هناك عقدة واحدة فقط، قم بحذفها وقم بتحديث الرأس
else if (counter == 1)
{
delete head;
head = NULL;
counter--;
}
// إذا كانت هناك أكثر من عقدة، قم بحذف العقدة الجديدة من الجهة الأمامية وقم بتحديث الرأس
else
{
node *temp = head;
head = head->next;
delete temp;
counter--;
}
}

// حذف العقدة من الجهة الخلفية
void delete_back()
{
// إذا كانت القائمة فارغة، قم بطباعة رسالة خطأ
if (head == NULL)
{
cout << "linked list under flow\n";
}
// إذا كانت هناك عقدة واحدة فقط، قم بحذفها وقم بتحديث الرأس
else if (counter == 1)
{
delete head;
head = NULL;
counter--;
}
// إذا كانت هناك أكثر من عقدة، قم بالبحث عن العقدة قبل العقدة الأخيرة وحذف العقدة الأخيرة وقم بتحديث الرأس
else
{
node *f = head;
node *p = f->next;
while (p->next != NULL)
{
f = p;
p = p->next;
}
f->next = NULL;
delete p;
counter--;
}
}

// حذف العقدة من موقع محدد
void deletpos(int pos)
{
// إذا كان الموقع هو الجهة الأمامية، قم بحذف من الجهة الأمامية
if (pos == 1)
{
delete_front();
}
// إذا كان الموقع غير الجهة الأمامية، ابحث عن الموقع وقم بحذف العقدة في هذا الموقع
else if (pos > 1 && pos <= counter)
{
node *f = head;
node *p = f;
int i = 1;
while (i < pos)
{
p = f;
f = f->next;
i++;
}
p->next = f->next;
delete f;
counter--;
}
}

// عرض محتوى القائمة المرتبطة
void display()
{
node *cur = head;
while (cur != NULL)
{
cout << cur->item << " ";
cur = cur->next;
}
cout << "\n";
}
نصائح و استشارات برمجية
return 0; }


// دالة main تحتوي على القائمة الرئيسية للتفاعل مع المستخدم
int main()
{
while (true)
{
// عرض الخيارات الممكنة للمستخدم
cout << "Choose operation:\n"
<< "1. Append\n"
<< "2. Prepend\n"
<< "3. Insert After\n"
<< "4. Delete from Front\n"
<< "5. Delete from End\n"
<< "6. Delete After\n"
<< "7. Display\n"
<< "8. Exit\n";

int choice, value, key;
cin >> choice;

// تنفيذ العملية المختارة
switch (choice)
{
case 1:
cout << "Enter value to append: ";
cin >> value;
insert_from_back(value);
break;

case 2:
cout << "Enter value to prepend: ";
cin >> value;
insert_from_back(value);
break;

case 3:
cout << "Enter key after which to insert: ";
cin >> key;
cout << "Enter value to insert: ";
cin >> value;
insertpos(key, value);
break;

case 4:
delete_front();
break;

case 5:
delete_back();
break;

case 6:
cout << "Enter key after which to delete: ";
cin >> key;
deletpos(key);
break;

case 7:
display();
break;

case 8:
return 0;

default:
cout << "Invalid choice\n";
}
}
}
This media is not supported in your browser
VIEW IN TELEGRAM
كيف اشغل الكود
نصائح و استشارات برمجية
كيف اشغل الكود
• انت كاتب كود java في ملف html
• لازم تنشئ ملف java و تكتب فيه الاكواد
This media is not supported in your browser
VIEW IN TELEGRAM
نصائح و استشارات برمجية
Photo
طالب منك تجيبي عدد ايام كل شهر لانه طبعا الاشهر عدد ايامهم بيختلفوا في اشهر بيكونوا 30 يوم و في اشهر بيكونوا 31 و في اشهر بيكونوا 28 و 29 يوم فا طالب منك لما المستخدم يدخل شهر معين تطلع النتيجة و تكون مستخدم switch
This media is not supported in your browser
VIEW IN TELEGRAM
تعرفون برامج تساعد لانشاء تطبيق>عندي مشروع تخرج ومشروعي انشاء تطبيق اللي يعرف ياليت يفيديني
• مجال التطبيقات مجال واسع بيضم نوعين:
- Native
- Cross-Platform
دي مقارنة بسيطة بينهم ⬇️
t.me/Software_Consulting/644
طبعا كل شئ و له استخدامة

• تطبيقات ال Cross-Platform بتضم الاتي ⬇️
- Flutter, Dart
- MAUI, C#
- React Native, JavaScript
- Xamarin, C#
للمعلومة، React Native من نوع Cross-Platform، كلمة native هى مجرد شئ تابع للاسم فقط لا اكثر ولا يمد لنوع ال Native بأي صلة

• تطبيقات ال Native بتضم الاتي ⬇️

• Android:
- Android Studio, Java, Kotlin, XML

• IOS:
- (UIKit || SwiftUI), Swift, Objective C

• Desktop:
- Windows Form, C#
- WPS, C#

◆ طبعاً مش شرط يكون دول بس هما كل الانواع، انا ذكرت اشهر التقنيات الخاصة بالمجالات اللي تم ذكرها فقط.
This media is not supported in your browser
VIEW IN TELEGRAM
مساء النور
ممكن تساعدني بدروس او مواقع تساعدني ب انشاء تطبيق لاندرويد
Forwarded from برمجة
/*
دي roadmap للِ حابب يتخصص تطوير برامج اندرويد native باختصار، من محمد سعداوي (@M3MD69) مهندس البرمجيات، متخصص تطوير برامج اندرويد native ⬇️💙

■ تتعلم java و تطبق عليها
- Basics
- OOP
- Data Structure
- Algorithms
• الواجب:
- CRUDS System

■ و تتعلم xml و تطبق عليه
- Basics

■ بعدها تتعلم andriod studio بلغة java و xml و تطبق عليهم، بعدها تتعلم تنشئ مشاريع صغيرة
- Basics
- Room
- NoSQL
- MySQL
- Online Realtime Database
• الواجب:
- CRUDS System

■ بعدها تتعلم kotlin و تطبق عليها
- Basics
- OOP
- Data Structure
- Algorithms
• الواجب:
- CRUDS System

- بعدها تتعلم andriod studio بلغة kotlin و xml و تطبق عليهم ، بعدها تتعلم تنشئ مشاريع صغيرة
- Basics
- Room
- NoSQL
- MySQL
- Online Realtime Database
• الواجب:
- CRUDS System

- بعدها تتعلم ازاي تستخدم لغة java و kotlin مع بعض في android studio لعمل مشاريع، و بعدها تنشئ مشاريع سواء كانت بلغة java او kotlin و بعدها تجمع افكار عشان تطور مشاريع وحدك بعد ما تتعلم تطوير مشاريع و تبدأ حياتك في مرحلة التدريب الذاتي

- بعدها خلاص نقدر كدا نقول انك بقيت Junior 🤝🏻💙
*/
This media is not supported in your browser
VIEW IN TELEGRAM
يطلعلي كذا اذا سويت رن
نصائح و استشارات برمجية
يطلعلي كذا اذا سويت رن
ملف ال html مش بيشتغل كدا
عندك طريقتين
1. اما بتفتح ملف ال html بشكل مباشر
2. او تنزل اضافة اسمها live server و لما تنتهي من تثبيتها داخل visual studio code تقوم ضاغط ضغطة يمين بالماوس على صفحة ال اكواد ال html و تختار open in live server
This media is not supported in your browser
VIEW IN TELEGRAM