.
Отговор в тема
Резултати от 1 до 6 от общо 6
  1. #1

    Програма на C

    Да се напише програма , която въвежда стринг S1 и го разширява в стринг S2 , като всяка последователност буква..буква да бъде заменена с последователността от буква 1 до буква 2, ако това е възможно. Всички останали символи се прехвърлят такива , каквито са. Примерно ако S1 e gda..d4325o..s ,
    s2 ще бъде: gdabcd4325opqrs . Тази задача съм я написал ето го кода:
    Код:
    #include <stdio.h>
    #include <conio.h>
    
    int main()
    {
        
    char s1[20];
    char s2[200];
    char p;
    int i,n=0;
    
    printf("vavedete s1=");
    scanf("%s",&s1);
    
    for(i=0; s1[i]!='\0'; i++)
    
    if (s1[i+1]=='.'&&s1[i+2]=='.'&&s1[i+3]>s1[i])
    {
    for (p=s1[i]; p<=s1[i+3]; p++)
        {
    s2[n]=p; n++; 
         }
    i+=3;
    }
    else {
             s2[n]=s1[i]; n++;
           };
    s2[n]='\0';
    printf("%s",s2);
    getch();
    
    return 0;
    
    }
    Проблема е , че сега трябва да напиша обратната на тази програма. Ако имаме последователно въведени символи да ги запишем с .. Примерно имаме за стринг S1: abcd654654mnoprs35 да отпечатва стринг s2: a..d654654m..s35 . Надявам се ме разбрахте какво е условиято на обратната задача. Ако някой може да ми помогне с някакви идеи , код - всичко ще е от полза. Благодаря.
    БЪЛГАРИЯ НАД ВСИЧКО

  2. #2
    съмнявам се някой да се трогне да пише безплатно

  3. #3
    Аз съм помолил за съвет, идея , малко код - всичко ще е от полза. Не съм молил да ми пишат програмата на готово, написал съм програма , ако някой има идея как ще стане обратния вариант да казва. От цикъла на доло
    БЪЛГАРИЯ НАД ВСИЧКО

  4. #4
    Голям фен
    Регистриран на
    Mar 2005
    Град
    Plovdiv
    Мнения
    872
    Хващаш първия елемент от масива. Почваш да правиш проверки с всеки СЛЕДВАЩ елемент дали наистина е следващия(a->b, 1->2), и така докато не стигнеш \0 или се прекъсне серията. Мисля че ще може да се реализира с няколко вложени цикъла for (2 броя). Незнам дали ми е верен начина, не съм го мислил много. Довечера ако имам време може да го разчовъркам.

  5. #5
    Голям фен
    Регистриран на
    Mar 2005
    Град
    Plovdiv
    Мнения
    872
    И си форматирай кода, в този вид нищо не се разбира

  6. #6
    Проблема е как да се запише "Ако има няколко последователни символа"
    как ще се запише с if . Преди това слагам един фор
    for(i=0; s1[i]!='\0'; i++) за да нямаме спънка с "/0" ако някой има идея как да направим тоя if след това ще направя пърия и последния елемент от тази последователнот да се разделят с .. , не мисля че ще е трудно , но if-a ме спъва за сега
    БЪЛГАРИЯ НАД ВСИЧКО

Правила за публикуване

  • Вие не можете да публикувате теми
  • Вие не можете да отговаряте в теми
  • Вие не можете да прикачвате файлове
  • Вие не можете да редактирате мненията си