- Форум
- По малко от всичко
- Информационни технологии
- Програма на C
Да се напише програма , която въвежда стринг S1 и го разширява в стринг S2 , като всяка последователност буква..буква да бъде заменена с последователността от буква 1 до буква 2, ако това е възможно. Всички останали символи се прехвърлят такива , каквито са. Примерно ако S1 e gda..d4325o..s ,
s2 ще бъде: gdabcd4325opqrs . Тази задача съм я написал ето го кода:
Проблема е , че сега трябва да напиша обратната на тази програма. Ако имаме последователно въведени символи да ги запишем с .. Примерно имаме за стринг S1: abcd654654mnoprs35 да отпечатва стринг s2: a..d654654m..s35 . Надявам се ме разбрахте какво е условиято на обратната задача. Ако някой може да ми помогне с някакви идеи , код - всичко ще е от полза. Благодаря.Код:#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; }
БЪЛГАРИЯ НАД ВСИЧКО
Аз съм помолил за съвет, идея , малко код - всичко ще е от полза. Не съм молил да ми пишат програмата на готово, написал съм програма , ако някой има идея как ще стане обратния вариант да казва. От цикъла на доло![]()
БЪЛГАРИЯ НАД ВСИЧКО
Хващаш първия елемент от масива. Почваш да правиш проверки с всеки СЛЕДВАЩ елемент дали наистина е следващия(a->b, 1->2), и така докато не стигнеш \0 или се прекъсне серията. Мисля че ще може да се реализира с няколко вложени цикъла for (2 броя). Незнам дали ми е верен начина, не съм го мислил много. Довечера ако имам време може да го разчовъркам.
И си форматирай кода, в този вид нищо не се разбира
Проблема е как да се запише "Ако има няколко последователни символа"
как ще се запише с if . Преди това слагам един фор
for(i=0; s1[i]!='\0'; i++) за да нямаме спънка с "/0" ако някой има идея как да направим тоя if след това ще направя пърия и последния елемент от тази последователнот да се разделят с .. , не мисля че ще е трудно , но if-a ме спъва за сега![]()
![]()
![]()
![]()
БЪЛГАРИЯ НАД ВСИЧКО