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

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

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

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

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

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

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

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

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

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

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

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

Задание 7. Составить функцию, переводящую десятичное вещественное число, представленное в символьном виде, в соответствующую величину плавающего типа.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2010, 15:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Составить функцию, определяющую тождественность двух данных строк (C++):

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

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

Составить функцию, определяющую, является ли ее целый аргумент простым числом. Использовать эту функцию для п - C++
Составить функцию, определяющую, является ли ее целый аргумент простым числом. Использовать эту функцию для подсчета количества простых...

Составить функцию, определяющую, является ли ее целый аргумент простым числом. Использовать эту функцию для п - C++
Составить функцию, определяющую, является ли ее целый аргумент простым числом. Использовать эту функцию для подсчета количества простых...

Строка: Добавить в строковый класс функцию, которая создает строку, содержащую пересечение двух строк, то есть общие символы для двух строк. - C++
Добавить в строковый класс функцию, которая создает строку, содержащую пересечение двух строк, то есть общие символы для двух строк....

Составить функцию, определяющую, является ли ее аргумент простым числом - C++
1. Составить функцию, определяющую, является ли ее аргумент простым числом. Использовать эту функцию для установления факта, имеется ли...

4
easybudda
Модератор
Эксперт CЭксперт С++
9677 / 5627 / 953
Регистрация: 25.07.2009
Сообщений: 10,801
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;
}
1
q7
0 / 0 / 0
Регистрация: 08.02.2010
Сообщений: 38
08.02.2010, 17:23  [ТС] #3
первую сделайте пожалуйста
0
M128K145
Эксперт С++
8293 / 3513 / 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;
}
2
Faberge
0 / 0 / 0
Регистрация: 09.03.2010
Сообщений: 30
20.03.2010, 16:16 #5
А можно еще на 7 решение?
Я так понял что изначально там будет тип int, а перевод осуществляться будет во float?
0
20.03.2010, 16:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2010, 16:16
Привет! Вот еще темы с ответами:

Написать функцию, определяющую в каком из двух массивов больше отрицательных элементов - C++
Даны два массива из N чисел в каждом. Написать функцию, определяющую в каком из массивов больше отрицательных элементов. Массивы...

Написать функцию, определяющую НОД(наибольший общий делитель) двух целых чисел - C++
Написать функцию, определяющую НОД(наибольший общий делитель) двух целых чисел. НОД-это наибольшее целое, на которое делятся оба числа....

Дополнительно перегрузить логическую операторную функцию для операции | (побитовая дизъюнкция), определяющую параллельность двух отрезков - C++
Собственно все задание Разработать класс Line для работы с объектами типа отрезок. Члены-данные этого класса определяют координаты...

Реализовать функцию конкатенации двух строк - C++
Вам требуется реализовать функцию конкатенации (склейки) двух C-style строк. Функция конкатенации принимает на вход две C-style строки и...


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

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

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