ملتقى البرمجة
اهلا بك زائرنا الكريم ..
اذا كانت هذه هيالزيارة الاولى لك فاننا ندعوك الى التسجيل بالمنتدى او التعريف بنفسك
مع العلم ان الزوار لا يستطيعون مشاهدة كل المواضيع المطروحة بالمنتدى


انضم إلى المنتدى ، فالأمر سريع وسهل

ملتقى البرمجة
اهلا بك زائرنا الكريم ..
اذا كانت هذه هيالزيارة الاولى لك فاننا ندعوك الى التسجيل بالمنتدى او التعريف بنفسك
مع العلم ان الزوار لا يستطيعون مشاهدة كل المواضيع المطروحة بالمنتدى
ملتقى البرمجة
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

sum program with parameters

اذهب الى الأسفل

تثبيت sum program with parameters

مُساهمة من طرف Basel Tamimi 22/5/2011, 9:31 am

السلام عليكم

هنا حل سؤال برمجة c++ على terminal


Write a C++ program that get any numbers of integers from parameters and print the summation. The program have to check that the user enter at least two numbers. Use functions in your program.

For example you will run in the terminal:
a./sum 182 22 80
the output have to be 284 printed in the terminal



الحل الأول (وهو المطلوب):

الكود:
 
//***************************

//Basel Y. AlTamimi ~ 100005~

//HomeWork 2 solution

//***************************

//1st solution:

//-------------

/*
 * File:  main.cpp
 * Author: basel
 *
 *Created on May 7, 2011, 11:51 AM
 */

#include <cstdlib>
#include <string>
#include<iostream>

using namespace std;

int Num ( int temp , int len );

int main ( int argc , char** argv ) {

    if (argc >= 3){
   
    int Numbers [argc];

        for(int i = 0 ; i<argc ; i++ )   
Numbers [ i ] = 0;

    int temp , len , sum = 0;
   
    for (int i=1 ; i < argc ; i++ ){
       
        len = strlen ( argv[ i ] );
       
        for(int j = 0 ; j < len ; j++ ){
           
            temp = Num ( argv [i][j] , len-j );
      
          Numbers[i] = Numbers[i] + temp ;

              }
       
    }
         
    for(int i = 1 ; i < argc ; i++ ){

        sum = sum + Numbers[i] ;  }

    cout << " the summation is " << sum;
    }
   
else cout<<"Note: enter at least 2 numbers!!";
 
 return 0;
}


int Num(int temp , int len ){
   
    int ten = 1 ,temp2 ;
   
    for(int k = len ; k>1 ; k-- )

        ten = ten * 10 ;

    temp2 = ( temp-'0' ) * ten ;
   
    return temp2;

}

حل آخر بإستخدام اقترانات جاهزة:

الكود:
//***************************
//Basel Y. AlTamimi ~ 100005~
//HomeWork 2 solution
//***************************

//2nd solution:(using other function !!)

//-------------
/*
 * File:  main.cpp
 * Author: basel
 *
 * Created on April 30, 2011, 2:33 PM
 */

#include <cstdlib>
#include <iostream>
#include <cstring>

using namespace std;

int main(int argc, char** argv) {

    int sum=0,temp;

    string Strtemp;

    if(argc>=3){

        int i=1;

    while (i<argc){

        Strtemp=argv[i];

      temp=atoi(Strtemp.c_str());

      sum=sum+temp;
 
        i++;}

        cout<<sum<<endl;
       
    }

    else cout<<"Note: enter at least 2 numbers!!";

    return 0;
}



يوجد عدة حلول أخرى لذات السؤال

لا تنسَ ان تنفذ البرنامج على ال terminal


وشكراً
Basel Tamimi
Basel Tamimi

عدد المساهمات : 44
تاريخ التسجيل : 09/03/2011
العمر : 32
الموقع : الخليل

https://is-it1.alafdal.net/

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تثبيت رد: sum program with parameters

مُساهمة من طرف Basel Tamimi 22/5/2011, 9:33 am

بامكانك تستخدم ال netbeans
ازا بتعرف كيف تشغل ال terminal من خلاله

انا استخدمت ال netbeans >>
Basel Tamimi
Basel Tamimi

عدد المساهمات : 44
تاريخ التسجيل : 09/03/2011
العمر : 32
الموقع : الخليل

https://is-it1.alafdal.net/

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى