Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Строки - C++

24.02.2008, 14:16. Просмотров 1673. Ответов 11
Метки нет (Все метки)

Дан текст. Найти все слова, которые оканчиваются тем же символом, что и первое слово.
Что-то блин вообще как-то неправильно она работает((




#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
int main()
{int n;
char s[150],*str[100],*ch=" ";
do{
printf("\nVvedite stroky:\n");
gets(s);
str[0]=strtok(s,ch); /**/
for(int i=1;str[i]=strtok(NULL,ch);i++)
n=i;
for(int i=0;i<n;i++)
printf("%s",str[i]);
for(int i=0;i<n;i++)
if(strpbrk(strlwr(*str+i),strlwr(*str+n+1)))
{
for(int j=0;j<n;j++) str[j]=str[j+1];
n++;i++;
}
for(int i=0;i<n;i++)
printf(" %s ",*(str+i));

printf("\nPress esc 2 ex1t || press any key 2 continue!");
printf("\n\n***********************************************\n");
}
while(getche()!=27);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2008, 14:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строки (C++):

Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки - C++
Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки. 1. Я дуб дубом,даже...

Добавить строки, начиная со строки К1 и до строки К2, в динамический массив строк - C++
Есть динамический массив строк. Заполняется, т.е. размер его уже известен будет. Но дальше нужно сделать задание: &quot;Добавить строки, начиная...

Удалить строки динамической матрицы, начиная со строки К1 и до строки К2 - C++
Сформировать динамический двумерный массив, заполнить его случайными числами и удалить строки, начиная со строки К1 и до строки К2 вот...

Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка содер-жится в ней - C++
Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка...

Функция перезаписывает символы строки заданным количеством символов другой строки - C++
Программа работает. Но не совсем правильно. В конечной строке появляются непонятные символы, которых быть там не должно. В программе нельзя...

Чтение через fscanf_s части строки с пробелом (и запись этой же строки) - C++
нужно записать в файл строку, содержащую через табуляцию int, char, char, char, float, int. Далее необходимо из такой же строки вывести...

11
Lord_Voodoo
Супер-модератор
8594 / 2211 / 61
Регистрация: 07.03.2007
Сообщений: 10,974
Завершенные тесты: 1
25.02.2008, 10:33 #2
вроде работает, только надо еще защиту от дурака написать, потому что при пустой строке выпадает...
Код
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
int main()
{int n;
char s[150],*str[100],*ch=" ";
do{
printf("\nVvedite stroky:\n");
gets(s);
str[0]=strtok(s,ch);
n = 1;
for(int i=1;str[i]=strtok(NULL,ch);i++) n++;
printf("Get Mas:\n");
for(int i=0;i<n;i++)
  printf("%s\n",str[i]);
printf("\nSearch\n");
for(int i=1;i<n;i++)
  if(str[0][strlen(str[0]) - 1] == str[i][strlen(str[i]) - 1])
  printf("%s\n",str[i]);
printf("\nPress esc 2 ex1t || press any key 2 continue!");
printf("\n\n************************************** *********\n");
}
while(getche()!=27);
}
0
srjk
0 / 0 / 0
Регистрация: 23.12.2007
Сообщений: 24
25.02.2008, 13:41  [ТС] #3
Спасибо
0
srjk
0 / 0 / 0
Регистрация: 23.12.2007
Сообщений: 24
26.02.2008, 13:08  [ТС] #4
Из данного текста выбрать и распечатать только те символы, которые встречаются в тексте только один раз(в том порядке в котором они встречаются)
Незнаю, что в ифе надо написать(




#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
int main()
{int n;
char s[150],*str[100],*ch=" ";
do{do{
cout<<"\n Vvedite stroky: ";
gets(s);
}while(strlen(s)<=0);
str[0]=strtok(s,ch);
n=1;
for(int i=1;str[i]=strtok(NULL,ch);i++) n++;
cout<<"\n Vash text:\n";
for(int i=0;i<n;i++)
printf(" %s",*(str+i));
cout<<"\n Vivod simvolov kotorie vstre4aytc9 tol'ko 1 raz :\n";
for(int i=0;i<n;i++)



if()



printf(" %s",*(str+i));
cout<<"\n\n\n * * * * * * * * * * * * * * * * * * * * * * * *";
cout<<"\n *_____________________________________________*";
cout<<"\n *Press esc 2 ex1t || press any key 2 continue!*";
cout<<"\n *_____________________________________________*";
cout<<"\n * * * * * * * * * * * * * * * * * * * * * * * *";
}while(getche()!=27);
}
0
Lord_Voodoo
Супер-модератор
8594 / 2211 / 61
Регистрация: 07.03.2007
Сообщений: 10,974
Завершенные тесты: 1
26.02.2008, 14:52 #5
ну тебе надо посимвольно текст сканить по идее, и если он уже встречался, больше раза, то прерывать поиск... ну и по всему алфавиту шерстить...
0
srjk
0 / 0 / 0
Регистрация: 23.12.2007
Сообщений: 24
26.02.2008, 16:34  [ТС] #6
И как это сделать, чтобы по символьно рассматривать текст?
0
Lord_Voodoo
Супер-модератор
8594 / 2211 / 61
Регистрация: 07.03.2007
Сообщений: 10,974
Завершенные тесты: 1
26.02.2008, 16:37 #7
ну как обычный массив
0
srjk
0 / 0 / 0
Регистрация: 23.12.2007
Сообщений: 24
26.02.2008, 16:57  [ТС] #8
а как сделать, чтобы abc-рассматривались, как 3 символа, а не как одно целое?
0
srjk
0 / 0 / 0
Регистрация: 23.12.2007
Сообщений: 24
26.02.2008, 17:01  [ТС] #9
Можно, что-нибудь в *ch добавить?
0
Lord_Voodoo
Супер-модератор
8594 / 2211 / 61
Регистрация: 07.03.2007
Сообщений: 10,974
Завершенные тесты: 1
27.02.2008, 09:30 #10
добавить можно, но нужно памяти прежде выделить... а обращение такого вида - ch[i]
0
srjk
0 / 0 / 0
Регистрация: 23.12.2007
Сообщений: 24
11.03.2008, 17:13  [ТС] #11
Из данного текста выбрать и распечатать только те символы, которые встречаются в тексте только один раз(в том порядке в котором они встречаются)
По идее должна работать, но(((
Помогите, очень надо.

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
int main()
{int n;
char s[150],s2[150],*str[100;
do{do{
cout<<"\n Vvedite stroky: ";
gets(s);
}while(strlen(s)<=0);
cout<<"\n Vash text:\n";
for(int i=0;i<n;i++)
printf(" %s",*(str+i));
cout<<"\n Vivod simvolov kotorie vstre4aytc9 tol'ko 1 raz :\n";



int i,b;
b=0;
for(i=0;i<n;i++)
b++;
s2[b]=*str+i;
cout<<s2[b];
for (i=0;i<strlen(s)+1;i++)
if (s[i]==s2[b])
{ z++; }
if (z==1)

{ cout << s2[b];}






cout<<"\n\n\n * * * * * * * * * * * * * * * * * * * * * * * *";
cout<<"\n *_____________________________________________*";
cout<<"\n *Press esc 2 ex1t || press any key 2 continue!*";
cout<<"\n *_____________________________________________*";
cout<<"\n * * * * * * * * * * * * * * * * * * * * * * * *";
}while(getche()!=27);
}
0
srjk
0 / 0 / 0
Регистрация: 23.12.2007
Сообщений: 24
13.03.2008, 10:01  [ТС] #12
Что нуэно в вайл записать, а то с стр не работает(


do{
str=strtok(NULL," ,.;:!?");
strcpy(word,str); f=1;
if (f) {
for (i=0;i<strlen(word);i++)
for (k=1;k<strlen(word)-i;k++)
if (word[i]==word[i+k]) f=0;
}
if (f) printf("%s ",word);
}while(str);
puts("\n\nPress any key");
0
13.03.2008, 10:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2008, 10:01
Привет! Вот еще темы с ответами:

Найти среднее арифметическое каждой строки матрицы и отсортировать строки по возрастанию - C++
Дана квадратная матрица. Найти среднее арифметическое каждой строки и отсортировать строки по возрастанию этих характеристик

Упорядочить символы строки B в алфавитном порядке и удалить латинские буквы из строки A - C++
&quot;Даны строки A и B. Если в A есть латинские буквы, а в B нет повторяющихся символов, то упорядочить символы B в алфавитном порядке и...

Как считать строки из файла, если там больше одной строки? - C++
Как считать строки из файла в массив. Если в файле одна строка, то нет проблем, но если несколько, то при использовании функции fgets ...

Вычислить длину введенной строки и вывести символы строки с четными индексами - C++
Напишите программу, которая требует ввода строки с клавиатуры. Программа вычисляет длину строки и выводит на экран только те символы...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

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