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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
q7
0 / 0 / 0
Регистрация: 08.02.2010
Сообщений: 38
#1

Составить функцию, определяющую тождественность двух данных строк - C++

08.02.2010, 15:36. Просмотров 1693. Ответов 4
Метки нет (Все метки)

Практическая работа №8
ТЕМА: «Работа со строками в С++»
Цель: изучить работу по обработке текстовых строк в С++.
Тип урока: практическая работа.
Количество часов: 4.
Необходимое программное обеспечение: Visual Studio 6 Ent, MS Word.
Необходимые сведения из теории:
символьные строки в С++;
строка как параметр функции;
Упражнения:

Задание 1. Составить программу подсчета количества цифр в данной строке.

Задание 2. Составить программу, которая по данной символьной строке формирует числовой массив, содержащий коды символов, составляющих строку.

Задание 3. Составить функцию, определяющую тождественность двух данных строк.

Задание 4. Составить программу, удаляющую в данной строке каждый символ с четным номером.

Задание 5. Составить функцию конкатенации (слияния) двух строк. В основной программе использовать эту функцию для слияния четырех строк.

Задание 6. Составить функцию, переводящую десятичное целое число, представленное в символьном виде, в соответствующую величину целого типа.

Задание 7. Составить функцию, переводящую десятичное вещественное число, представленное в символьном виде, в соответствующую величину плавающего типа.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2010, 15:36     Составить функцию, определяющую тождественность двух данных строк
Посмотрите здесь:
C++ Составить функцию, определяющую тождественность двух данных строк
C++ Составить функцию конкатенации (слияния) двух строк
C++ Составить функцию, определяющую, является ли ее целый аргумент простым числом. Использовать эту функцию для п
Составить функцию, определяющую, является ли ее целый аргумент простым числом. Использовать эту функцию для п C++
Строка: Добавить в строковый класс функцию, которая создает строку, содержащую пересечение двух строк, то есть общие символы для двух строк. C++
Составить функцию, определяющую, является ли ее аргумент простым числом C++
Написать функцию, определяющую в каком из двух массивов больше отрицательных элементов C++
C++ Написать функцию, определяющую НОД(наибольший общий делитель) двух целых чисел
C++ Дополнительно перегрузить логическую операторную функцию для операции | (побитовая дизъюнкция), определяющую параллельность двух отрезков
Реализовать функцию конкатенации двух строк C++
Требуется реализовать функцию конкатенации (склейки) двух C-style строк C++
C++ Составить функцию, которая для двух натуральных чисел

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
08.02.2010, 16:13     Составить функцию, определяющую тождественность двух данных строк #2
1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <cctype>
using namespace std;
 
int main(){
    char str[256], *p;
    int cnt = 0;
    
    cout << "String: ";
    cin.get(str, 256);
    for ( p = str; *p; ++p )
        if ( isdigit(*p) )
            ++cnt;
    cout << "Found " << cnt << " digits" << endl;
    
    return 0;
}
q7
0 / 0 / 0
Регистрация: 08.02.2010
Сообщений: 38
08.02.2010, 17:23  [ТС]     Составить функцию, определяющую тождественность двух данных строк #3
первую сделайте пожалуйста
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
09.02.2010, 01:07     Составить функцию, определяющую тождественность двух данных строк #4
2.
C
1
2
3
4
5
char *str = "some text";
int i, len = strlen(str);
int* code = new int[len];
for(i = 0; i < len; ++i)
    code[i] = (int)str[i];
Добавлено через 4 минуты
3.
C
1
2
3
4
5
6
7
8
9
10
bool Equals(char* str1, char* str2)
{
    int i, len1 = strlen(str1), len2 = strlen(str2);
    if(len1 != len2)
        return false;
    for(i = 0; i <= len1>>1; ++i)
        if(str1[i] != str2[i] || str1[len1 - 1 - i] != str2[len2 - 1 -i])
            return false;
    return true;
}
Добавлено через 5 минут
4.
C
1
2
3
4
5
6
7
char* str = "some text";
int i, j, len = strlen(str);
for(i = len - 1; i >= 0; --i)
    if(!(i & 1))
        for(j = i; j < len - 1; ++i)
            str[i] = str[i + 1];
str[len>>1 + 1] = '\0';
Добавлено через 13 минут
5.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
char* concat(char* str1, char* str2)
{
    int i, j, len1 = strlen(str1), len2 = strlen(str2);
    char* rez = new char[len1 + len2 - 1];
    for(i = 0; i < len1; ++i)
        rez[i] = str1[i];
    for(i = len1; i < len1 + len2; ++i)
        rez[i] = str2[i - len1];
    return rez;
}
int main()
{
    char str1[] = "this ";
    char str2[] = "some";
    char str3[] = " text";
    char str4[] = "?!";
    char* str = concat(str1, concat(str2, concat(str3, str4)));
    cout<<str;
    return 0;
}
Добавлено через 10 минут
6.
C
1
2
3
4
5
6
7
int AToI(char* number)
{
    int i, ch = 0, len = strlen(number);
    for(i = 0; i < len ; ++i)
        ch += (int)pow(10.0, (double)(len - i - 1)) * ((int)number[i] - 48);
    return ch;
}
Faberge
0 / 0 / 0
Регистрация: 09.03.2010
Сообщений: 30
20.03.2010, 16:16     Составить функцию, определяющую тождественность двух данных строк #5
А можно еще на 7 решение?
Я так понял что изначально там будет тип int, а перевод осуществляться будет во float?
Yandex
Объявления
20.03.2010, 16:16     Составить функцию, определяющую тождественность двух данных строк
Ответ Создать тему
Опции темы

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