Функция div - целочислено делене

Библиотечната функция div извършва делене между две цели числа и връща резултат в тип структура. Самата структура се състои от две целочислени променливи - за целочислено частно и целочислен остатък. Като пример нека вземем две взаимно прости числа 17 за делимо и 3 за делител. При делене очакван резултат е периодична дроб 5.(6), за разлика от резултата при целочислено делене - целочислено частно 5 и целочислен остатък 2. По резултат функция div обединява двата оператора за целочислено делене - / и %. В някои езици за програмиране има отделни библиотечни функции с приблизително еднакви имена: div за целочислено делене и mod за целочислен остатък, като всяка от тях връща резултат от тип целочислен. В езика C++ има различни подходи за получаване на целочислен резултат след операция делене. В програмата се използва библиотечния файл <stdlib.h> - там се съдържа пълното описание на функция div.

Следващата програма дава решен пример за описание и работа с библиотечна функция div.

#include<iostream>
#include <stdlib.h>
using namespace std;

int main()//nachalo na programata
{
int m,n,i,j;
div_t x;//ot biblioteka stdlib

  cout<< "Da se systawi programa, chez koqto se wywevdat 2 estestweni chisla \n";
  cout<< "m,n prinadlevashi na interwala [3..103]. Programata da \n";
  cout<< "izwede rezulatata ot m/n kato celochisleno chastno i \n";
  cout<< "celochislen ostatyk. Izpolzwajte bibliotechnata funkciq div\n";
  cout << "Primer 7,3 Izhod 2,1\n";
  //fynkciqta div dawa wyzmovnost za celochisleno delene na dwe celi chisla
  //rezultatat e w promenliwa x (potrebitelksi definirana) ot tip div_t kato:
  //x.quot wrusha celochisleno chastno
  //x.rem wrysha celochislen ostatyk
  cout<<"Wywedete chislitel m [3..103]: "; cin>>m;
  cout<<"Wywedete znamentel n [3..103]: "; cin>>n;
  x = div (m,n);//bibliotechna funkciq za celochisleno delene
  cout<<" celochisleno chastno: "<<x.quot<<endl;
  cout<<" celochislen ostatyk: "<<x.rem<<endl;
  // analogichen rezultat se poluchawa i pri:
  i = m / n;
  j = m % n;
  cout<<" celochisleno chastno: "<<i<<endl;
  cout<<" celochislen ostatyk: "<<j<<endl;

  cout<<"Kato realno chislo rezultatyt e: "<<(double)m/n<<endl;
  system ("pause"); 
  return 0;
}//kraj na programa div celochisleno delene

Задачи с подобни функции и служебни думи са разгледани в страницата с електронни уроци по информатика - програмиране.
Илюстриране работата на характерни алгоритми можете да намерите в предоставените електронни помагала съдържащи решени примери.



Начало на страницата

 
Размер на шрифта
Increase Font Size Option 3 Reset Font Size Option 3 Decrease Font Size Option 3
Bulgarian Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish
Търсене в сайта: