Функция strcat - слепване, конкатенация на стринг

Библиотечната функция strcat има два аргумента: а) низ, към който ще се добавя; б) низ, който ще се добавя. В следващия пример е използван strcat (mas,chis) - очакваният краен резултат е конкатенация на низа mas със съдържанието на низа chis. В библиотеките за стринг съществува и друга функция за конкатенация - strncat. Там се задават 3 аргумента: а) низ, към който ще се добавя; б) низ, който ще се добавя; в) колко знака от втория низ ще се добавят. Пример: (mas,chis,j)


представяне на числа с желан брой цифри

Да разгледаме следната задача: въвеждат се 2 естествени числа N, M и трябва да се изведе числото N и M броя цифри. Ако M е по-голямо от броя цифри в N, числото трябва да се изведе с водещи нули. Пример: 1234, 8 Изход:00001234

Алгоритъм:
Въведеното естествено число първо се преобразува в стринг.
Проверява се дължината му - броя знаци в стринга е и брой цифри в числото.
Изчислява се необходимия брой нули и се формира нов стринг. Числото, вече представено като стринг, се добавя след стринга с водещите нули. Следващата програма съдържа пример за представяне на естествени числа с желан брой цифри:
#include <iostream>
using namespace std;
int const br=101;

int main ()
{ char mas[br], chis[20],ose;
     int N,i,j,br_cifri;

     cout<<"Imate wywedeni dwe estestweni chisla M,N. Da se systawi programa, \n";
     cout<<"chrez koqto se wywevdat chislo N ot interwala [101..10001] i M ot \n";
     cout<<"interwala [5..10] i se se iwevda chisloto N, dopylneno s wodeshi 0,\n";
     cout<<"taka che broqt cifri da e M.\n";
     cout<<"Primer: 1234, 8 Izhod:00001234\n";
     do {
      cout<<"Wywedete estestweno chislo ot interwala [101..10001]: ";cin>>N;
      itoa(N,chis,10);//chisloto predstaweno kato string w 10-ichna brojna sistema
      cout<<"S kolko cifri da pokava chisloto [10..20]: ";cin>>br_cifri;
      j=br_cifri-strlen(chis);//broj velani cifri - broq cifri na wywedenoto chislo
      for (i=0;i<j;i++) mas[i]='0';//zapylwa s wodeshi nuli
      if (j>0) {
       mas[j]='\0';//sluveben znak za kraj na stringa
       strcat (mas,chis);//konkatenaciq s broq nuli
      } else strcpy (mas,chis);//ako broq cifri w chisloto e > ot velaniq broj cifri

    cout<<"Syshoto chislo s wodeshi nuli: "<<mas<<endl;
    cout<<"She wywevdate li drugi danni <y/n>: ";cin>>ose;
   } while (ose=='y');
system ("pause"); 
return 0;
}//kraj na programa  strcat 

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

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

 
Размер на шрифта
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
Търсене в сайта: