Jump to content

Програма за изваждане на букви по определен ред


Препоръчан пост

Здравейте! Един приятел ме попита дали има такова чудо което от текст да изважда букви и да ги слага в празен текстов файл - в смисъл като се зададе например да изважда всяка трета буква от текста или да изважда всяка пета буква - според както се настрои и след това да се слагат в празния текстов файл една след друга за да се провери дали ще се получат думи???

Малко се съмнявам да има ,но той ме помоли да ви попитам! Дано само да съм обяснил така че да ме разберете какво точно ви питам! :svlove:

Link to comment
Сподели другаде

Мммм... За пръв път и аз чувам за такова нещо... от теб... Предполагам, че би трябвало да става въпрос за някаква игрословица или нещо за транслиране на кодиран текст... Сега се сещам за "Азбучна молитва", на Константин Преславски, в което стихотворно произведение, всеки следващ ред почва с поредна буква от азбуката и ако се вземат всички те, може да се сглоби азбуката... Можеш да си я припомниш от тук... Спомени от гимназията... А самото подреждане на думи с букви от друг текст, доколкото знам се нарича анаграма... Та май ти търсиш точно такава програма... За разгадаване на анаграми...
Link to comment
Сподели другаде

Здравейте! Един приятел ме попита дали има такова чудо което от текст да изважда букви и да ги слага в празен текстов файл - в смисъл като се зададе например да изважда всяка трета буква от текста или да изважда всяка пета буква - според както се настрои и след това да се слагат в празния текстов файл една след друга за да се провери дали ще се получат думи???

Малко се съмнявам да има ,но той ме помоли да ви попитам! Дано само да съм обяснил така че да ме разберете какво точно ви питам! :svlove:

Който може да прави програми ще направи и такава, ако няма. Възможностите сигурно са почти неограничени.

Link to comment
Сподели другаде

Който може да прави програми ще направи и такава, ако няма. Възможностите сигурно са почти неограничени.

 

Ще използвам написаното от Nazikov за да покажа нагледно за какво пита приятеля ми:

 

(Който може да прави програми ще направи и такава, ако няма. Възможностите сигурно са почти неограничени)

 

Удебелените и подчертани букви са през три и като се извадят:

 

(ймепврринриавкявмнтегначнгне) от което се получава една дума (ймепврринриавкявмнтегначнгне)

 

Дано този път съм обяснил по ясно!!! :svlove:

Link to comment
Сподели другаде

Почти направих програмата (нямаше какво да правя пък и исках да си припомня как се работеше на С++ (няколко години не съм се занимавал :P)) и работи, но иска съвсем малко още подобрения, затова ще трябва да питам. Ако в текста има цифри, те трябва ли да влизат в резултата. Въобще какви символи могат да участват в резултата (видях, че запетаите, точките и интервалите не участват)?
Link to comment
Сподели другаде

Почти направих програмата (нямаше какво да правя пък и исках да си припомня как се работеше на С++ (няколко години не съм се занимавал :P)) и работи, но иска съвсем малко още подобрения, затова ще трябва да питам. Ако в текста има цифри, те трябва ли да влизат в резултата. Въобще какви символи могат да участват в резултата (видях, че запетаите, точките и интервалите не участват)?

 

Да освен интервалите,запетаите,точките тиретата и др. ... не трябва да участват - само буквите трябва да се отброяват!!! :svlove:

Link to comment
Сподели другаде

Такааа, ето я програмата: program.rar

Писах я на С++. Първо разархивирайте файла. Ще намерите 2 файла - единият е изпълнимия (program.exe), a другият е сорсът (program.c), който го има и по-долу. После отидете в старт менюто и в Run... напишете cmd. В появилият се досовски прозорец напишете името на пътя до програмата като влизането в папка става с командата cd [име на папка]. Ако трябва да смените устройството, например от C: на D:, напишете просто D: и пак стигнете до програмата. Когато стигнете папката с програмата, напишете нейното име program и натиснете enter (важи само, ако не сте променяли името на програмата :) ).

Сега вече въвеждате:

1во: число, което обозначава през колко символа да търси

2ро: интервал, спейс, шпаца или както си знаете, че се нарича най-дългия бутон на клавиатурата :D

3то: въвеждате текста и натискате enter на края

Пояснения!

Програмата работи почти перфектно. Има 2 известни бъга. Първият е, че работи само с латински букви. Вторият е, че понякога добавя в резултата най-накрая 1 произволен символ. Затова представям сорскода по-долу, за да го разгледат тези, които разбират повече и да го доусъвършенстват или да го преобразуват примерно за java програма или друга, с която ще се работи директно в Window, а не в DOS, както е сега.

Ето сорса:

#include<stdio.h>
#include<string.h>
int main()
{char A[256];
char B[256];
int i,n,m,j=0,br=0;
printf("Vavedi chislo, interval i text:");
scanf("%d",&m);
gets(A);n=strlen(A);

/*Otpechatva niz A
for(i=0;i<n;i++)
printf("%c",A[i]);
printf("\n");
*/

//Proverqva koi znaci da tursi (nomerata im po ASCII)
for(i=0;i<n;)
  {if((A[i]>=65&&A[i]<=90)||(A[i]>=97&&A[i]<=122)) {B[j]=A[i];j++;i++;}
else {i++;br++;}
  }

/* Otpechatva noviq niz B
for(i=0;i<(n-br-1);i++)
printf("%c",B[i]);

printf("\n");
*/

//Otpechatva krajniq rezultat
for(i=0;i<(n-br-1);i=i+m)
printf("%c",B[i+m-1]);

return 0;
}

Приятна работа с програмката :peace:

Link to comment
Сподели другаде

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гост
Отговори на тази тема

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   Не можете да качите директно снимка. Качете или добавете изображението от линк (URL)

Loading...
×
×
  • Създай ново...