Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 10.03.2015
Сообщений: 3
1

Напечатать все слова, входящие в эту текстовую строку, заканчивающиеся на буквы заданного слова (например, abcdab, ab, kab)

18.10.2010, 21:26. Просмотров 1220. Ответов 3
Метки нет (Все метки)


Доброго времени суток, форумчане. Надеюсь на вашу помощь. Через неделю сессия, а мне к ней осталось доделать 4 задачи по практике, которые никак не выходят. Раньше учили Basic, в нём я ориентируюсь лучше, но думаю это неважно) Буду очень благодарен за любую помощь или советы.

1) Даны текстовая строка и слово (например, ab). Напечатать все слова, входящие в эту текстовую строку, заканчивающиеся на буквы заданного слова (например, abcdab, ab, kab), используя функции strtok, strlen, strcmp.


2) Записать алгоритм нахождения канторового разложения произвольного числа а – вектора в виде рекурсивной функции. Канторовым разложением положительного числа а называется запись вида:a=a1*1!+a2*2!...+an*n!, 0<=ai<=an.


3) Дан файл, содержащий несколько строк (причем строки не содержат пробелов). В новый файл записать строки данного, вставляя пробелы так, чтобы каждая строка имела длину 80 символов (пробелы должны быть расставлены равномерно).


4) Определить функцию, проверяющую, является ли заданная дробь несократимой. (Дробь задается двумя натуральными числами – числителем и знаменателем). Найти все несократимые дроби, заключенные между 0 и 1, знаменатели которых не превышают заданное число n.



Всем, заранее спасибо за помощь!

Добавлено через 3 часа 32 минуты
Неужели это так сложно?)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2010, 21:26
Ответы с готовыми решениями:

Класс String. Напечатать все слова, входящие в эту текстовую строку, имеющие такую же длину как и заданное слово
Даны текстовая строка и слово. Напечатать все слова, входящие в эту текстовую строку, имеющие такую...

Напечатать все слова, входящие в данную строку
Дана строка S. Будем называть подстроку, входящую в S, словом, если она следует после пробела, не...

Напечатать все слова, отличные от последнего слова строки, удалив из каждого слова первую и последнюю буквы
Близиться сессия,а завтра мне сдавать 2 проги. Помогите ребят,могу даже 100 скинуть,если уж так...

Напечатать все слова строки, предварительно удалив из каждого слова все предыдущие вхождения последней буквы
дана последовательность слов разделенных пробелами .Напечатать все слова предварительно удалив из...

3
4851 / 3272 / 466
Регистрация: 10.12.2008
Сообщений: 10,570
19.10.2010, 03:29 2
C
1
2
3
4
5
6
    char *p;
 
    for (p = strtok(line, " "); p != NULL; p = strtok(NULL, " "))
        if (strlen(p) >= strlen(pattern)
         && strcmp(p + strlen(p) - strlen(pattern), pattern) == 0)
            printf("%s" "\n", p);
0
0 / 0 / 0
Регистрация: 10.03.2015
Сообщений: 3
19.10.2010, 17:06 3
Спасибо, аccept, сейчас попробую твой вариант!

Вожусь с третьей задачей. Пока отлаживаю программу только с одной строкой в документе. Результат работы - программа считает сколько всего символов в строке и недостаток до 80 заполняет буквами М Кто-нибудь подскажет где мой фейл?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main()
{
char s[80];
char ss[80];
int str;
setlocale(0,"Russian");
char filename[255];
cout<<"Введите имя файла:"<<endl;
cin>>filename;
FILE *fp=fopen(filename,"r");
    if (fp!=NULL) cout<<"файл открыт";
 
    while(!feof(fp))
    {
        fgets(s,80,fp);
 
          str=strlen(s);
 
        if(str==80)
        {
            
        }
        else if (str<80)
        {
            
            int ch = 80-str;
            for (int i=0;i<ch;i++)
            {
                s[strlen(s)]=char("b");
            }
        }
        else 
        {
        }
 
 
    }
 
cout<<ss;
 
getch();
return(0);
}
0
4851 / 3272 / 466
Регистрация: 10.12.2008
Сообщений: 10,570
20.10.2010, 05:44 4
видимо строкой считается набор символов до перевода строки
80 символов + перевод строки (одинарный или двойной) + нуль-символ

1. так что лучше считать в буфер длины 100
2. убедиться, что последний символ - перевод строки (иначе выход)
3. потом в другой буфер уже записать пробелы, строку, пробелы
4. и вывести этот другой буфер в файл-результат

между 2 и 3 удалить перевод строки (fgets() сохраняет)
вычислить количество пробелов в начале и в конце (для 79 куда ставить пробел?)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.10.2010, 05:44

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Напечатать все слова, входящие в текстовую строку, начинающиеся с букв заданного слова
Даны текстовая строка и слово (например, ba). Напечатать все слова, входящие в эту текстовую...

Напечатать все слова, входящие в текстовую строку, начинающиеся с букв заданного слова
Даны текстовая строка и слово (например, ba). Напечатать все слова, входящие в эту текстовую...

String.h: напечатать все слова, входящие в текстовую строку, и начинающиеся с букв заданного слова
Даны текстовая строка и слово (например, ba). Напечатать все слова, входящие в эту текстовую...

Напечатать все малые латинские буквы , не входящие в эту строку.
Дана строка.В алфавитном порядке напечатайте все малые латинские буквы ,не входящие в эту строку.


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

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

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