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

sum program with parameters

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

default 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

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

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

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

default رد: sum program with parameters

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

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

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

Basel Tamimi

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

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

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

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


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