Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2016, 17:16   #1
Alexkiller
Новичок
Джуниор
 
Регистрация: 08.07.2016
Сообщений: 1
По умолчанию Работа со строками

Задание:
Даны строки A и B. Если все символы A входят в B и в B есть повторяющиеся символы, то упорядочить символы B в порядке, обратном к алфавитному, удалив повторяющиеся символы, и удалить латинские буквы из A; в остальных случаях удалить из A символы, не входящие в B и продублировать знаки препинания в B.
Мой вариант выдаёт неверные результаты. Скрины с результатами для разных условий приложил.
Пишу на Turbo C

Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <ctype.h>
main()
{
int i, j, la, lb, ia, n, k=0, m=0;
char ch, a[80], b[80], sa[80], sb[80];
clrscr();
printf("Vvedite stroku A: ");
gets(a);
puts(a);
printf("\n");
printf("Vvedite stroku B: ");
gets(b);
puts(b);
la=strlen(a);
lb=strlen(b);
ia=0;
for (i=0; i<=la-1; i++)
 {
 if (strchr(b,a[i]) != 0)
 ia=ia+1;
 }
if (ia == la)
 {
 ia=0;
 for (n=0; n<=lb-1; n++)
  for (j=0; j<=lb-2; j++)
   {
   if ((n-j)==1)
    j=j+1;
   if (b[n]==b[j+1])
   ia=1;
   }
if (ia==1)
 {
 for (i=lb-1; i>=0; i--)
  for (j=0; j<i; j++);
   {
   if (b[j]>b[j+1])
    {
    ch=b[j];
    b[j]=b[j+1];
    b[j+1]=ch;
    }
   }
for (i=0; i<=lb-2; i++)
 {
 if (b[i] != b[i+1])
  {
  sb[k]=b[i];
  k++;
  }
 }
for (i=0; i<=la-1; i++)
 if (isalpha(a[i]) == 0)
  {
  sa[m]=a[i];
  m++;
  }
 }
 }
else
 {
 for (i=0; i<=la-1; i++)
  {
  if (strchr(b, a[i]) != 0)
   sa[m]=a[i];
   m++;
  }
 for (i=lb-1; i>0; i--)
  if ((sb[i]==',') || (sb[i]=='.') || (sb[i]==';') || (sb[i]==':'))
   {
   lb=strlen(b);
   for (j=lb; j>=i; j--)
    sb[j+1]=sb[j];
   }
printf("\n");
puts(sa);
puts(sb);
 }
}
Изображения
Тип файла: png 1111.png (1.5 Кб, 86 просмотров)
Тип файла: png 2222.png (3.2 Кб, 93 просмотров)

Последний раз редактировалось Alexkiller; 08.07.2016 в 17:26.
Alexkiller вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками vbn1 Общие вопросы C/C++ 0 20.12.2014 07:52
Работа со строками Ivanov9 C# (си шарп) 1 29.07.2013 01:27
Работа со строками. (С) Bezukhoff Помощь студентам 0 26.12.2011 21:20
си++, работа со строками irina belka Помощь студентам 2 08.05.2011 15:38
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19