Можно ли вторую строчку получить путем перестановки символов первой строки? - Pascal

Узнай цену своей работы

Формулировка задачи:

Даны два символьных строки, содержащие только символы латинского алфавита. Создать программу, которая определит, можно ли вторую строчку получить путем перестановки символов первой строки. В результате программа должна вывести "Yes" или "No".

Решение задачи: «Можно ли вторую строчку получить путем перестановки символов первой строки?»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
int check(char *S1, char *S2)
{
    int l1,l2,i,j,f;
    char *Q1;
    l1=strlen(S1);
    l2=strlen(S2);
    Q1=(char *) calloc(l1+1,1);
    strcpy(Q1,S1);
    for (i=0; i<l2; i++)
    {
        f=0;
        for (j=0; j<l1; j++)
            if (*(Q1+j)==*(S2+i)) { f=1; *(Q1+j)=0; break; }
        if (f==0) { free(Q1); return 0;}
    }          
    free(Q1);
    return 1;
}    
 
int main(int argc, char *argv[])
{
  if (check("bottom","toot"))
     printf("Yes!\n");
  else
     printf("No!\n");   
  
  system("PAUSE");  
  return 0;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5
Похожие ответы