Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
andrey_abc
0 / 0 / 0
Регистрация: 01.12.2013
Сообщений: 10
#1

не могу разобраться - C++

29.12.2013, 23:16. Просмотров 160. Ответов 0
Метки нет (Все метки)

Дан текст. Строки текста содержат символьную и цифровую информацию. Слова могут состоять только из букв или только из цифр. Выполнить конкатенацию(оставить только слова без цифр) нецифровых слов, причем слова меньше четырех символов удалить. Найти сумму всех чисел в строке и записать ее в конец новой строки.
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<locale.h>
int stepen(int c);
void main ()
{
setlocale(LC_ALL,"Russian");
char *stroka;
int i=0,n=0,j=0,c=0,sum=0,kol=0,num=0,k=0,p=0;
printf("Введите длину строки ");
scanf("%d",&n);
if (n>=0)
{
stroka=(char*)malloc(n+1*sizeof(char));
fflush(stdin);
gets(stroka);
int l=0,o=0;
while(*(stroka+o))o++;
while(*(stroka+l)==' ')l++;
if(l==o)
{
printf("Вы ввели строку , состоящую только из пробелов!");
_getch();
return;
}
for(i=0;i<*(stroka+i);i++)// Сумма всех цифр в тексте.
{if(*(stroka+i)>=48 && *(stroka+i)<=57)
sum=(sum+(*(stroka+i)-'0')*stepen(c));
else c=0;
c++;}
for(i=0, kol =0;i<n+1;i++)
{
if (*(stroka+i)!=' ' && *(stroka+i)!='\0')
{
kol++;
}
else
{
if (kol<4)
{
for(j=i-kol;j<i;j++)
{
*(stroka+j)=' ';
}
}
kol=0;
}
}

num=sum;
while(num>0)
{
num=num/10;//пока целая часть деления на 10 не равна 0
p++;
}
if(p>0)
{
k=n;
n=n+p+1;
stroka=(char*)realloc(stroka,n*sizeof(char));
for(k;k<n-1;k++)
{
if(sum<10)
{
stroka[k]=sum+'0';
l++;
break;
}
else
{
stroka[k]='0'+(sum%10);
sum=sum/10;
}
}
}
puts(stroka);
printf("%d",sum);
getch();
}
else {printf("Вы ввели неверный размер");
getch();
}
}
int stepen( int c)
{
int t=1;
while(c>1)
{
t=t*10;
c--;
}
return t;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2013, 23:16     не могу разобраться
Посмотрите здесь:

Указатель не могу разобраться - C++
Здравствуйте. есть строка к примеру tmp=int(TEMP.number2-48); а что значит tmp*=(int(TEMP.number1-48)); именно звездочка после...

Не могу разобраться с наследованием - C++
есть клас class Liquid{ private: string name; float density; public: Liquid(){ ...

Ребята не могу разобраться - C++
Учусь на заочке ни че не понмиаю, а завтра экзамен буддте добры помогите. http://cs5680.vk.com/u136002542/151263947/x_9d8fab15.jpg ...

Не могу разобраться в задаче - C++
В командных олимпиадах по программированию для решения предлагается не больше 11 задач. Команда может решать предложенные задачи в любом...

Не могу разобраться в формуле - C++
Пишу программу про шифр Виженера http://*******/oiwOo . codestr = (str + key) % 26 - набросок формулы для шифрования. str = (codestr -...

не могу разобраться с инициализацией - C++
Доброго времени суток форумчане. Есть простой вопрос, объясните мне как начинающему, почему не работает инициализация в констркуторе...

Не могу разобраться с 2D игрой - C++
Наверное это очень баянисто....многие кто начинали программировать писали свои собственные игры,я тоже пытался написать,например морской...

Не могу разобраться с циклом - C++
int _tmain(int argc, _TCHAR* argv) { int x,y; cout &lt;&lt; &quot;Vvedite dva chisla&quot; &lt;&lt; endl; cin &gt;&gt; x &gt;&gt; y; for (int i=1; i&lt;=y; i++) { ...

Не могу разобраться с кодом - C++
Здравствуйте! Скажите, что выполняет программа в данном фрагменте и что обозначают стрелки? p1 = (struct st1*)malloc(sizeof(struct...

НЕ могу разобраться в указателе - C++
Помогите пожалуйста разобраться если у нас есть указатель на указатель например int **P указывает на массив указателей int *p т.е. **P...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru