Monday, April 28, 2014

Пробел


                                                Пробел

Уг программ нь гараас үг,үсэг өгхөд хоорондох олон зайг арилган зайг нь нэг болгох программ юм.
#include<cstdio>
#include<string.h>
            main()
            {
                        char a[100];
                        int n,j,p;
                        fgets(a,100,stdin);
                        n=strlen(a);
                        for(int i=0;i<=n;i++)
                        {  if((a[i]==' ')&&(a[i+1]==' '))
                                                {
                                                p=i+1;
                                                j=0;
                                                while(j!=p-1) 
                                                j++;
                                                while(j<n)
                                                {
                                   a[j]=a[j+1];
                                    j++;
                                        }
                                        i--;
                                                }
                        }           printf("%s",a);
            }
char a[100]; --нь тэмдэгт мөрийг зарлаж байна .
fgets(a,100,stdin);-- нь тэмдэгт мөрийг зайтай нь уншиж байна. Уг зүйл байхгүй  бол зай авхад л өөрийн бичсэн зүйлийн чин зайнаас өмнөх үгийг л хэвлэх болно.
n=strlen(a); -- тэмдэгт мөрийн уртыг олох болно.
for(int i=0;i<=n;i++) – давталт явуулах болно.
{  if((a[i]==' ')&&(a[i+1]==' ')) – хэрвээ тэмдэгт мөрөнд хоёр удаа зай авбал уг нөхцөл биелэж доорх үйлдлүүдийг хийх болно.
{p=i+1;
j=0;
while(j!=p-1) 
j++; -- Энэ үйлдэл нь p гэсэн хувсагчид хоёр дахь зайг оноож өгнө.Дараа нь j хувсагчид 0 оноож өгнө. Үүний дараа давталт оруулна. Уг давталт нь 0 зайгаас хасах нь 1 буюу өмнөх зайнаас ялгаатай байвал уг давталт нэг нэг алхамаар гүйсээр л байна.
a[j]=a[j+1];
j++; a[j+1] гэсэн үйлдлийг a[j] утгад оноож өгч байна.
    i--; - Энэ үйлдэл нь их чухал үйлдэл юм. Та энэ үйлдлийг хийхгүй бол таний программ олон зай авхад ганцийг л устгана.
          printf("%s",a); -- ингээд сүүлд нь хэвлэх үйлдэл буюу а хувсагчийг хэвлэх болно.        
          



No comments:

Post a Comment