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

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

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

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

08.02.2010, 15:36. Просмотров 1619. Ответов 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-style строк C++
Реализовать функцию конкатенации двух строк C++
C++ Составить функцию, определяющую, является ли ее целый аргумент простым числом. Использовать эту функцию для п
Составить функцию, определяющую, является ли ее целый аргумент простым числом. Использовать эту функцию для п C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
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
Эксперт C++
 Аватар для M128K145
8277 / 3496 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
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     Составить функцию, определяющую тождественность двух данных строк
Ответ Создать тему
Опции темы

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