Процедуры с числовыми параметрами

Уровень сложности:

Описать функцию аddRightDigit(d, k), которая должна добавлять к целому положительному числу К справа цифру D (D — целочисленное значение в диапазоне 0-9, К — целочисленное значение, которое является одновременно входным параметром и модифицируемым значением).
С помощью этой функции добавить к данному числу К цифры D1 и D2, выводя результат каждого добавления.

Для решения данной задачи вам могут понадобиться следующие статьи: функции в С++, арифметические операции, аргументы функции по умолчанию. Пример работы программы:

Автор исходного кода — Иван Погорелый. Скажем ему спасибо. По программе объяснять нечего, все итак понятно.

#include <iostream>
using namespace std;

void addRightDigit(int d, int & k)
{
    k=10*k+d;
}

int main()
{
    setlocale(LC_ALL, "rus");
    int k, d;
    cout<<"  k: ";
    cin>>k;

    for(int i=0; i<2; i++) //    d
    {
            while(1)
            {
                    cout<<" d: "; cin>>d;
                    if(d>=0 && d<=9)
                    {
                             addRightDigit(d, k);
                             break;
                    }
                    else
                    {
                        cout<<"   !!!"<<endl;
                    }
            }// while
            cout<<"k  "<<k<<endl;
    }// for

//    system("pause");
    return 0;
}

Результат работы программы показан ниже:

CppStudio.com
 k: 4
 d: 5
k  45
 d: 2
k  452
Следующие статьи помогут вам в решении данной задачи:
Автор: admin
Дата: 12.09.2012
Поделиться:

Комментарии

  1. Anufree

    #include <iostream>
    
    int аddRightDigit(int d, int& k)
    {
    	if(k >= 0)
    		return k * 10 + d;
    	if(k < 0)
    		return k + d;
    }
     
    using namespace std;
     
    int main()
    {
    	setlocale(LC_ALL, "Russian");
    
    	cout << "int max: 2147483647" << endl;
    	int d, k;
    	cout << "k: ";
    	cin >> k;
    
    	while(true)
    	{
    		cout << "d: ";
    		cin >> d;
    		if(d >= 0 && d <= 9)
    		{
    			k = аddRightDigit(d, k);
    			cout << "k: " << k << endl;
    		}
    		else
    			cout << "!!!" << endl;
    	}
    
    	system("pause");
    
      return 0;   
    }
  2. PeZBarboZ

    //Функцию не писал , сделал так )))
    #include <iostream>
    using namespace std;
    int main()
    {
    	int *d = new int[1000];
    	int i = 0;
    	
    	while (true)
    	{
    		cin >> d[i];
    		i++;	
    		for (int j = 0; j < i; j++)
    		{
    			cout << d[j];
    		}
    	}
    	return 0;
    }
  3. Migizi

    Migizi

    #include <conio.h>
    #include <iostream>
    #include <string>
    #include <time.h>
    #include <iomanip>
    
    using namespace std;
    
    int main()
    {
    	setlocale(LC_ALL, "RUS");
    	int k, sum = 0;
    	cin >> k;
    	for (;;)
    	{
    		cin >> k;
    		if (k == 111)break;
    		if (sum != 0)
    			sum =sum*10+k;
    		else sum += k;
    		cout << "sum: " << sum << endl;
    	}
    	_getch();
    	return 0;
    }
  4. DenzelWashington

    #include <iostream>
    using namespace std;	
    	
    int addright(int d, int k){
    	return k + d * 10;}
    
    main(){
    
    int k = 0, d = 0;
    
    while(1){
    	cout << "k: ";
    	cin >> k;
    	if(0 == k) break;
    	else{
    		cout << "d: ";
    		cin >> d;
    		cout << addright(k, d) << endl;}}
    
    return 0;
    }
  5. Smile Time

    #include <iostream>
    
    using namespace std;
    int addRightDigit(int*, int);
    
    int main()
    {
    	int  iNumb, d=0;
    	cout << "enter the number: ";
    	cin >> iNumb;
    	char cont;
    	do{
    		cout << "enter the Add's digit to right...";
    		cin >> d;
    		cout << "new digit... " << addRightDigit(&iNumb, d)
    			<< "\nIf you want continuence to add the digit, enter - <y> or <Y>: ";
    		cin >> cont;
    	} while (cont == 'y' || cont == 'Y');
    	cout << endl;
    	system("pause");
    	return 0;
    }
    
    int addRightDigit(int* iNumber, int d)
    {
    	int counter = 1;
    	int temp = d;
    	while ((temp = temp / 10) != 0)
    	{
    		counter *=10;
    	}
    	return *iNumber =( (*iNumber) * 10 * counter + d);
    }
  6. greas

    greas

    #include<iostream>
    #include<windows.h>
    using namespace std;
    void pn(int k,int d,bool a=1,bool b=0)
    {
         while(a)
         {
         while(b)
         {
              cout<<"D:";
              cin>>d;
              k=k*10+d;
              cout<<"K = "<<k<<end;
          }
          b++;
          cout<<"K:";
          cin>>k;
          cout<<"D:";
          cin>>d;
          k=k*10+d;
          cout<<"K = "<<k<<endl;
          }
    }
    int main();
    {
         SetConsoleCP(1251);
         SetConsoleOutputCP(1251);
         int k,d;
         bool a,b;
         pn(k,d,a,b);
         return 0;
    }//Как вам такое решение?

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.