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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
cyber_girl=)
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 15
#1

Работа с символьними строками - C++

31.01.2011, 15:06. Просмотров 1251. Ответов 11
Метки нет (Все метки)

Задача такова(если честно сама толком не поняла)
По индивидуальному заданию создать функцию для обработки символьных строк. За образец брать библиотечные функции обработки строк языка C, но не применять их в своей функции.
Индивидуальная задание тут правда другой вариант а у меня другой хочу научится сама писать если кто нибудь покажет мне один пример!!!!
Пример: Функция - Compul(s1,s2). Назначение - сравнение строк s1 и та s2 с игнорированием различий в регистрах.

Описание метода решения

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

Функция должна реализовывать поставленную задачу - и ничего более. Это означает, что функцию можно будет, например, перенести без изменений в любую другую программу, если спецификации функции удовлетворяют условиям задачи. Это также означает, что при ошибочном задании параметров или при каких-то особых случаях в их значениях функция не должна аварийно завершать программу или выводить какие-то сообщения на экран, но должна возвращать какое-то прогнозируемое значение, по которому та функция, которая вызвала нашу, может сделать вывод об ошибке или об особом случае.

Пожалуйста срочно нужно сделать до завтра,помогите пожалуйста!!!!

Добавлено через 40 минут
Пожалуйста очень нужна ваша помощь покажите пример? Я весь гугл обшарила в поисках чего-то похожего на мое задание не нашла так что вы моя последняя надежда!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2011, 15:06     Работа с символьними строками
Посмотрите здесь:

Работа со строками - C++
char *B = new char ; cout << "Введите текст произвольной длины: " ; cin.getline( B, 50); cout << "Введенный текст: " << B; ...

Работа со строками в c++ - C++
Всем доброго времени суток! Помогите пожалуйста в решении проблемы: не могу(не знаю) как работать с текстовым файлом. У меня задача при...

Работа со строками - C++
Люди, если есть у кого время прошу просветить на тему Работу со строками ! Начили изучать, а примеров никаких нет ! И надо решить четыре...

Работа с строками - C++
С клавиатуры вводится строка. Разработать программу, которая реализует указанные действия. а) замінює всі великі літери, що входять до...

Работа со строками - C++
#include "Stdafx.h" #include "conio.h" using namespace std; int main(){ const char* a = {"000","111","222","333"}; const char b...

Работа со строками. - C++
Лишние пробелы. Дана строка, состоящая из слов, разделенных пробелами. Напишите программу, удаляющую лишние пробелы. Пробел считается...

Работа со строками - C++
Прошу помочь написать код для двух программ: 1) Написать программу подсчета числа слов в строке *) 2) написать программу подсчета букв...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
31.01.2011, 15:19     Работа с символьними строками #2

Не по теме:

Цитата Сообщение от cyber_girl=) Посмотреть сообщение
Индивидуальная задание тут правда другой вариант а у меня другой хочу научится сама писать если кто нибудь покажет мне один пример!!!!
Спасибо, посмеялись


Пример
cyber_girl=)
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 15
31.01.2011, 15:25  [ТС]     Работа с символьними строками #3
Цитата Сообщение от Nameless One Посмотреть сообщение
Спасибо, посмеялись
нет серьезно у меня вот этот вариант Функция - Findwords(s,s1). Назначение - поиск вхождения в строку s заданной фразы (последовательности слов) s1. Ну если хотите порешайте эту
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
31.01.2011, 15:29     Работа с символьними строками #4

Не по теме:

Цитата Сообщение от cyber_girl=) Посмотреть сообщение
Ну если хотите порешайте эту
не, я не смогу.



А если серьезно, то задания далеко не уникальные, и только на этом форуме подобные темы возникают раз в несколько недель. И гуглятся нараз
cyber_girl=)
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 15
31.01.2011, 15:29  [ТС]     Работа с символьними строками #5
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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#define TEST(A, B) printf("`%s' compare `%s': %d\n", (A), (B), strcompare((A), (B)))
int strcompare(const char*, const char*);
int main()
{
 TEST("FooBar", "foobar");
 TEST("FoObAr", "FoobaZ");
 TEST("a", "AB");
 TEST("f", "Ab");
 TEST("a(B)c", "A(b)C");
 exit(0);
}
/* Возвращает ноль, если строки равны;
 * -1, если первая строка меньше второй;
 * 1, в противном случае (все без учета различий в регистре символов)
 */
int strcompare(const char* str1, const char* str2)
{
 for( ; *str1 && *str2; ++str1, ++str2)
 {
 if(tolower(*str1) < tolower(*str2))
 return -1;
 else if(tolower(*str1) > tolower(*str2))
 return 1;
 }
return ((!*str1) && (!*str2) ? 0 : (!*str1) ? -1 : 1); 
}
Нам не разрешают использовать библиотечные функций. А мне нужно именно так как дано в задаче. А в суть задачи я никак не могу вникнуть вот поэтому я прошу показать мне пример просто нам сказали создать 3 метода с 1-ый массивами 2-ой с указателями и 3-ий мэйн
cyber_girl=)
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 15
31.01.2011, 15:31  [ТС]     Работа с символьними строками #6
Цитата Сообщение от Nameless One Посмотреть сообщение
А если серьезно, то задания далеко не уникальные, и только на этом форуме подобные темы возникают раз в несколько недель. И гуглятся нараз
Значит это надо уметь впрочем я не нашла просто зря потратила время так что решила обратится к вам помогите а?
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
31.01.2011, 15:47     Работа с символьними строками #7
Цитата Сообщение от cyber_girl=) Посмотреть сообщение
Нам не разрешают использовать библиотечные функций
Ну, функцию tolower можно определить так:
C
1
2
3
4
5
6
7
int my_tolower(int c)
{
    if((c >= 'A') && (c <= 'Z'))
    c += 'a' - 'A';
    
    return c;
}
Цитата Сообщение от cyber_girl=) Посмотреть сообщение
так что решила обратится к вам помогите а?
Я не понял, ты просила пример, я дал тебе пример. Что еще-то надо?
cyber_girl=)
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 15
31.01.2011, 15:53  [ТС]     Работа с символьними строками #8
Цитата Сообщение от Nameless One Посмотреть сообщение
Я не понял, ты просила пример, я дал тебе пример. Что еще-то надо?
Конечно спасибо тебе БОЛЬШОЕ но просто мне нужен пример по заданию а не просто сравнивать строки. А по заданию надо создать функцию для обработки символьных строк. За образец брать библиотечные функции обработки строк языка C, но не применять их в своей функции.Символьная строка в языке C представляется в памяти как массив символов, в конце которого находится байт с кодом 0 - признак конца строки. Строку, как и любой другой массив можно обрабатывать либо традиционным методом - как массив, с использованием операции индексации, либо через указатели, с использованием операций адресной арифметики. При работе со строкой как с массивом нужно иметь в виду, что длина строки заранее неизвестна, так что циклы должны быть организованы не со счетчиком, а до появления признака конца строки.

Тот пример отвечает отвечает на все поставленные задачи?
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
31.01.2011, 15:57     Работа с символьними строками #9
Цитата Сообщение от cyber_girl=) Посмотреть сообщение
Тот пример отвечает отвечает на все поставленные задачи?
Написано: либо через указатели, либо как массив. Я сделал через указатели. Примерную реализацию функции tolower я тоже написал (т.е. библиотечные функции теперь не используются), так что можно считать, что, отвечает
cyber_girl=)
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 15
31.01.2011, 16:02  [ТС]     Работа с символьними строками #10
Цитата Сообщение от Nameless One Посмотреть сообщение
Написано: либо через указатели, либо как массив. Я сделал через указатели. Примерную реализацию функции tolower я тоже написал (т.е. библиотечные функции теперь не используются), так что можно считать, что, отвечает
Просто другой вариант такой же задачи я решила (не без помощи конечно) через указатель а препод поставил мне 50 процентов объяснил тем что нету метода с массивами и дал другой вариант вот я сижу парюсь
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
31.01.2011, 16:12     Работа с символьними строками #11
Цитата Сообщение от cyber_girl=) Посмотреть сообщение
препод поставил мне 50 процентов объяснил тем что нету метода с массивами и дал другой вариант вот я сижу парюсь
Вот тебе пример, как перебрать в цикле элементы строки как массива:
C
1
2
3
4
const char* c = "foobar";
size_t i;
for(i = 0; c[i]; ++i)
    /* Доступ по индексу - c[i] */
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2011, 16:48     Работа с символьними строками
Еще ссылки по теме:

Работа со строками С++ - C++
Задача вот с таким условием: В строке все вхождения подстроки str1 заменить подстрокой str2. Str2 вводится с клавиатуры. Помогите найти...

работа со строками - C++
Помогите пожайлуста!!! Задание такое: Удалить из текста все слова с четными номерами (сквозная нумерация слов по всему тексту). Кто...

Работа со строками - C++
Всем привет. Есть такой код void makeStr() { std::string testStr = &quot;Take String&quot;; char *ch_arr =...

Работа со строками - C++
Задание &quot;Есть строка, состоящая из слов, разделенных любым количеством пробелов. При введении русского текста, пользователь забыл...

Работа со строками - C++
Всем доброго времени суток. Я собрался поступать (в свои-то 22, года, балбес), и сдаю ЕГЭ по информатике. Все решаю более-менее в...


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

Или воспользуйтесь поиском по форуму:
cyber_girl=)
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 15
31.01.2011, 16:48  [ТС]     Работа с символьними строками #12
Можешь код полностью написать чет я не вникаю...))))
Yandex
Объявления
31.01.2011, 16:48     Работа с символьними строками
Ответ Создать тему
Опции темы

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