إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

C++ II .. Please help .. Assignment II

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • C++ II .. Please help .. Assignment II

    السلام عليكم

    أخواني وأخواتي الاعزاء

    الرجاء المساعدة في حل الأسايمنت 2 في مادة problem solving

    تعبت كثيرا في محاولة حل part 2 ولكن بدون جدوى


    الرجاء لمن يعرف منكم الحل أن يتفضل برد على الموضوع وبأقصى سرعة

    أعرف أن الأسايمنت طويل شوي بس ياريت أحد يفيدني ولو بنصيحة

    الأسايمنت في المرفق التالي .. الجزئية الثانية فقط


    ولكم جزيل الشكر
    الملفات المرفقة

  • #2
    نلتقي هني بعدين
    خله كوز الستات يروح بالاول

    تعليق


    • #3
      عليكم السلآم

      للأسف مآ عندي خلفيه

      عسى الجمآعة يفيدوك .. كل التوفيج
      sigpic





      خـلگ ســـــمـآ واتـرگ القآع للقآع

      تعليق


      • #4
        وعليكم السلام ..

        صعب حد يحله لك كذا ع البارد ..

        you have to practice !

        لو عندك سؤال ف جزئية بعد ممكن ,,

        كل التوفيق !
        ||
        دخيلك يا دنـــيا , لا تخلي الألـم يكبر

        لا تقسي على الأحباب, خلي قسوتك فيني
        ||

        تعليق


        • #5
          السموحة ما عندي فكرة
          بالعافية قاعدة أحل الاسايمنت حقنا o.0 ..
          لَيسَ يتَحسَّر أهْل الجَنّة علَى شَيءٍ ،
          إلاَّ سَاعة مرَّتْ بهِم لَمْ يذْكُروا الله سُبحَانه فيها ") ♥

          تعليق


          • #6
            Hope this helps... All the best
            كود:
            #include <iostream>
            #include <string>
            #include <ctime>
            using namespace std;
            void FirstDiagonal(int **table, int N);
            void SecondDiagonal(int **table, int N);
            void CenterElement(int **table, int N);
            void TopRightTriangle(int **table, int N);
            void BottomLeftTriangle(int **table, int N);
            void TopLeftTriangle(int **table, int N);
            void BottomRightTriangle(int **table, int N);
            void LeftTriangle(int **table, int N);
            void RightTriangle(int **table, int N);
            void TopTriangle(int **table, int N);
            void BottomTriangle(int **table, int N);
            void PrintArray(int **table, int N);
            void SaveOrginalTable(int **table, int **temptable, int N);
            void RestoreOrginalTable(int **table, int **temptable, int N);
            const int MAXSIZE = 21;
            int main(){
                
                srand(unsigned (time(0)));
                string choice;
                int n;
                cout<<"Please enter an odd integer between 3 and 21: ";
                cin>>n;
                if(n % 2 != 0){
                    cout<<"\tWelcome to the two-dimentional array\n";
                    int random[MAXSIZE][MAXSIZE];
                    for(int i=0;i<n;i++){
                        for(int j=0;j<n;j++){
                            random[i][j] = rand()%9+1;
                        }
                    }
                    int (*p) = &(random)[0][0];
                    int (**table) = &(p);        
                    int tempRandom[MAXSIZE][MAXSIZE];
                    int (*tempP) = &(tempRandom)[0][0];
                    int **temptable = &(tempP);
                    SaveOrginalTable(table, temptable, n);
                    do{
                        cout<<"\tPlease select one of these options\n\n";
                        cout<<"1- Change the first diagonal of the array to zero.\n";
                        cout<<"2- Change the second diagonal of the array to zero.\n";
                        cout<<"3- Change the center element of the array to zero.\n";
                        cout<<"4- Change the top right triangle of the array to zero.\n";
                        cout<<"5- Change the bottom left triangle of the array to zero.\n";
                        cout<<"6- Change the top left triangle of the array to zero.\n";
                        cout<<"7- Change the bottom right triangle of the array to zero.\n";
                        cout<<"8- Change the left triangle of the array to zero.\n";
                        cout<<"9- Change the right triangle of the array to zero.\n";
                        cout<<"10- Change the top triangle of the array to zero.\n";
                        cout<<"11- Change the bottom triangle of the array to zero.\n";
                        cout<<"12- Print the original Array.\n\n13- Quit\n\nPlease type your choice: ";
                        cin>>choice;        
                        if(choice == "1"){
                            FirstDiagonal(table, n);
                        }else if (choice == "2"){
                            SecondDiagonal(table, n);
                        }else if (choice == "3"){
                            CenterElement(table, n);
                        }else if (choice == "4"){
                            TopRightTriangle(table, n);
                        }else if (choice == "5"){
                            BottomLeftTriangle(table, n);
                        }else if (choice == "6"){
                            TopLeftTriangle(table, n);
                        }else if (choice == "7"){
                            BottomRightTriangle(table, n);
                        }else if (choice == "8"){
                            LeftTriangle(table, n);
                        }else if (choice == "9"){
                            RightTriangle(table, n);
                        }else if (choice == "10"){
                            TopTriangle(table, n);
                        }else if (choice == "11"){
                            BottomTriangle(table, n);
                        }else if (choice == "12"){
                            PrintArray(table, n);
                        }else if (choice == "13"){
                            cout<<"\nHave a nice Day...!!!\n\n";
                        }else{
                            cout<<"\nInvalid Choice...!!!\n\n";
                        }
                        RestoreOrginalTable(table, temptable, n);
                    }while(choice != "13");
                }else{
                    cout<<"N should be odd...\n\n";
                }
                system("pause");
                return 0;
            }
            
            void FirstDiagonal(int **table, int N){
                for(int i=0;i<N;i++){
                    for(int j=0;j<N;j++){
                        if(i == j){
                            *((*table)+j+i*MAXSIZE) = 0;
                        }    
                    }
                }
                PrintArray(table,N);
            }
            void SecondDiagonal(int **table, int N){
                for(int i=0;i<N;i++){
                    for(int j=0;j<N;j++){
                        if(i == N-1-j){
                            *((*table)+j+i*MAXSIZE) = 0;
                        }    
                    }
                }
                PrintArray(table,N);
            }
            void CenterElement(int **table, int N){
                *((*table)+((N/2)*MAXSIZE)+(N/2)) = 0;
                PrintArray(table,N);
            }
            void TopRightTriangle(int **table, int N){
                for(int i=0;i<N;i++){
                    for(int j=0;j<N;j++){
                        if(j >= i){
                            *((*table)+j+i*MAXSIZE) = 0;
                        }    
                    }
                }
                PrintArray(table,N);
            }
            void BottomLeftTriangle(int **table, int N){
                for(int i=0;i<N;i++){
                    for(int j=0;j<N;j++){
                        if(j <= i){
                            *((*table)+j+i*MAXSIZE) = 0;
                        }    
                    }
                }
                PrintArray(table,N);
            }
            void TopLeftTriangle(int **table, int N){
                for(int i=0;i<N;i++){
                    for(int j=0;j<N;j++){
                        if((j+i)/2.0 < N/2.0){
                            *((*table)+j+i*MAXSIZE) = 0;
                        }    
                    }
                }
                PrintArray(table,N);
            }
            void BottomRightTriangle(int **table, int N){
                for(int i=0;i<N;i++){
                    for(int j=0;j<N;j++){
                        if((j+i)/2 >= N/2){
                            *((*table)+j+i*MAXSIZE) = 0;
                        }    
                    }
                }
                PrintArray(table,N);
            }
            void LeftTriangle(int **table, int N){
                for(int i=0;i<N;i++){
                    for(int j=0;j<N;j++){
                        if((j+i)/2.0 < N/2.0 && j <= i){
                            *((*table)+j+i*MAXSIZE) = 0;
                        }    
                    }
                }
                PrintArray(table,N);
            }
            void RightTriangle(int **table, int N){
                for(int i=0;i<N;i++){
                    for(int j=0;j<N;j++){
                        if((j+i)/2 >= N/2 && j >= i){
                            *((*table)+j+i*MAXSIZE) = 0;
                        }    
                    }
                }
                PrintArray(table,N);
            }
            void TopTriangle(int **table, int N){
                for(int i=0;i<N;i++){
                    for(int j=0;j<N;j++){
                        if((j+i)/2.0 < N/2.0 && j >= i){
                            *((*table)+j+i*MAXSIZE) = 0;
                        }    
                    }
                }
                PrintArray(table,N);
            }
            void BottomTriangle(int **table, int N){
                for(int i=0;i<N;i++){
                    for(int j=0;j<N;j++){
                        if((j+i)/2 >= N/2 && j <= i){
                            *((*table)+j+i*MAXSIZE) = 0;
                        }    
                    }
                }
                PrintArray(table,N);
            }
            void PrintArray(int **table, int N){
                for(int i=0;i<N;i++){
                    for(int j=0;j<N;j++){
                        cout<<*((*table)+j+i*MAXSIZE)<<" ";
                    }
                    cout<<endl;
                }
            }
            void SaveOrginalTable(int **table, int **temptable, int N){
                for(int i=0;i<N;i++){
                    for(int j=0;j<N;j++){
                        *((*temptable)+j+i*MAXSIZE) = *((*table)+j+i*MAXSIZE);
                    }
                }
            }
            void RestoreOrginalTable(int **table, int **temptable, int N){
                for(int i=0;i<N;i++){
                    for(int j=0;j<N;j++){
                        *((*table)+j+i*MAXSIZE) = *((*temptable)+j+i*MAXSIZE);
                    }
                }
            }
            من لم يمت بالسيف مات بغيره *** تعددت الاسباب والموت واحد

            فاعمل لدنياك كانك تعيش ابدا واعمل لاخرتك كانك تموت غدا...

            تعليق

            يعمل...
            X