Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Temoxa
10 / 10 / 3
Регистрация: 19.03.2010
Сообщений: 679
Записей в блоге: 2
Завершенные тесты: 1
#1

Ввести с клавиатуры строку, заменить в ней все буква "а" на букву "b" - C++

22.06.2011, 10:06. Просмотров 1908. Ответов 22
Метки нет (Все метки)

Здравствуйте) Вот возникла такая проблема.... не умею работать с указателями еще((
Помогите написать задачку:

"используя указатели, написать следующую программу. Ввести с клавиатуры строку, заменить в ней все буква "а" на букву "b" и вывести полученную строку на экран."
http://www.cyberforum.ru/cpp-beginners/thread2111671.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2011, 10:06
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Ввести с клавиатуры строку, заменить в ней все буква "а" на букву "b" (C++):

Ввести символьную строку и заменить все буквы "а" на буквы "б" и наоборот, как заглавные, так и строчные.
1. Ввести символьную строку и заменить все буквы "а" на буквы "б" и наоборот,...

я задал произвольный текст длинной 5 строк, и допустим что я ввел 5 раз букву "П" , какой цикл нужно создать чтобы пометять букву "П" на букву "Р" ?
я задал произвольный текст длинной 5 строк, и допустим что я ввел 5 раз букву...

Найти все вхождения в строку последовательности символов "сто" и заменить на "100"
Дана строка символов. Найти все вхождений последовательностей символов "сто" и...

Заменить в тексте все пары "ph" на букву "f"
Программа. Напечатать заданный непустой текст, заменив в нем все пары ph на...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно"
В зависимости от времени года "весна", "лето", "осень", "зима" определить...

22
VASSUV
MiThEoN
439 / 305 / 33
Регистрация: 31.10.2009
Сообщений: 490
Записей в блоге: 2
Завершенные тесты: 1
22.06.2011, 10:26 #2
C++
1
2
3
4
5
char s[] = "abcbcbacbacbacba";
char * str;
for(str = s; *str;  str++)
    if(*str == 'a')
         *str = 'b';
0
Temoxa
10 / 10 / 3
Регистрация: 19.03.2010
Сообщений: 679
Записей в блоге: 2
Завершенные тесты: 1
22.06.2011, 10:48  [ТС] #3
Не, а как с экрана ввести? и как такой for может быть из строковых?Оо или объясни мне код)
0
VASSUV
MiThEoN
439 / 305 / 33
Регистрация: 31.10.2009
Сообщений: 490
Записей в блоге: 2
Завершенные тесты: 1
22.06.2011, 11:00 #4
Temoxa, Указатель , это есть некое целое число ,которое указывает на адрес в памяти, и им же можем также оперировать как и с обычным целым.

т.к. строка в памяти хранится упорядочено, то если прибавим еденицу к указателю значит обратимся к следующему элементу. А операция * это взятие иныормации с того адреса.

Добавлено через 3 минуты
Цитата Сообщение от Temoxa Посмотреть сообщение
Не, а как с экрана ввести?
Цитата Сообщение от Temoxa Посмотреть сообщение
Вот возникла такая проблема.... не умею работать с указателями еще((

Не по теме:

Так у вас проблемы не тольлько с указателями?

0
Temoxa
10 / 10 / 3
Регистрация: 19.03.2010
Сообщений: 679
Записей в блоге: 2
Завершенные тесты: 1
22.06.2011, 11:32  [ТС] #5
=)) тока с указателями))) как ввести строку в указатель с экрана?
0
VASSUV
MiThEoN
439 / 305 / 33
Регистрация: 31.10.2009
Сообщений: 490
Записей в блоге: 2
Завершенные тесты: 1
22.06.2011, 11:36 #6
Цитата Сообщение от Temoxa Посмотреть сообщение
как ввести строку в указатель
В указатель не получится, только если освободить динамически память для него.
А для ввода, лучше использовать статические массивы char-ов.
C++
1
2
3
4
#include <iostream>
...
char mas[20];
std::cin>>mas;
0
grizlik78
Эксперт С++
1983 / 1476 / 191
Регистрация: 29.05.2011
Сообщений: 3,048
22.06.2011, 11:42 #7
Хорошо бы ещё и ограничивать ввод
C++
1
2
3
4
5
#include <iostream>
#include <iomanip>
...
char mas[20];
std::cin>>std::setw(20)>>mas;
0
Temoxa
10 / 10 / 3
Регистрация: 19.03.2010
Сообщений: 679
Записей в блоге: 2
Завершенные тесты: 1
22.06.2011, 11:59  [ТС] #8
"используя указатели, написать следующую программу. Ввести с клавиатуры строку, заменить в ней все буква "а" на букву "b" и вывести полученную строку на экран."

Вот парни можете просто это задание сделать?)) без дин.массивов? тока полностью задание а не частями
0
grizlik78
Эксперт С++
1983 / 1476 / 191
Регистрация: 29.05.2011
Сообщений: 3,048
22.06.2011, 12:02 #9
Цитата Сообщение от Temoxa Посмотреть сообщение
"используя указатели, написать следующую программу. Ввести с клавиатуры строку, заменить в ней все буква "а" на букву "b" и вывести полученную строку на экран."

Вот парни можете просто это задание сделать?)) без дин.массивов? тока полностью задание а не частями
Здесь нет динамических массивов. А совсем без массивов мы это задание сделать не можем. Ни полностью, ни частями.
0
Temoxa
10 / 10 / 3
Регистрация: 19.03.2010
Сообщений: 679
Записей в блоге: 2
Завершенные тесты: 1
22.06.2011, 12:04  [ТС] #10
Не с массивами я так понимаю нужно, хотя бы char[]. это ясно)
0
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
22.06.2011, 12:05 #11
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
int main(){
    char line[99];
    std::cin.getline(line,99);
    for (char * p = line; *p; ++p)
        if (*p == 'a') *p = 'b';
    std::cout << line;
    return 0;
}
P.S. вы удивитесь, но char[] - ни что иное, как массив.
0
Temoxa
10 / 10 / 3
Регистрация: 19.03.2010
Сообщений: 679
Записей в блоге: 2
Завершенные тесты: 1
22.06.2011, 12:07  [ТС] #12
Блин, вот у вас тоже нету ввода с экрана! да что ж такое(((
0
VASSUV
MiThEoN
439 / 305 / 33
Регистрация: 31.10.2009
Сообщений: 490
Записей в блоге: 2
Завершенные тесты: 1
22.06.2011, 12:07 #13
Я тебе в первом посте показал как с помощью указателей сделать твое задание, тебе остается только ввести вначале строку s, и вывестив конце строку s
0
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
22.06.2011, 12:07 #14
Цитата Сообщение от Temoxa Посмотреть сообщение
Блин, вот у вас тоже нету ввода с экрана! да что ж такое(((
Вы издеваетесь?
std::cin.getline - это, по вашему, что?
0
grizlik78
Эксперт С++
1983 / 1476 / 191
Регистрация: 29.05.2011
Сообщений: 3,048
22.06.2011, 12:08 #15
Да, кстати, ввод с экрана мы тоже сделать не сможем.

Добавлено через 42 секунды
diagon, это с клавиатуры (с консоли)
1
VASSUV
22.06.2011, 12:11
  #16

Не по теме:

Привыкли все на блюдечке получать.
Объявлять строку - char s[80];
Вводить строку - cin>>s;
Выводить строку - cout<<s;

0
Temoxa
10 / 10 / 3
Регистрация: 19.03.2010
Сообщений: 679
Записей в блоге: 2
Завершенные тесты: 1
22.06.2011, 12:12  [ТС] #17
Оо, я не знал эту функцию, извиняюсь))) просто хочу через стандартные функции , через scanf().. если можно...плз)
0
VASSUV
MiThEoN
439 / 305 / 33
Регистрация: 31.10.2009
Сообщений: 490
Записей в блоге: 2
Завершенные тесты: 1
22.06.2011, 12:16 #18
cin, cout, - тоже стандартные толко на с++
1
Temoxa
10 / 10 / 3
Регистрация: 19.03.2010
Сообщений: 679
Записей в блоге: 2
Завершенные тесты: 1
22.06.2011, 12:17  [ТС] #19
я ж прошу через scanf. через нее нереал?
0
VASSUV
MiThEoN
439 / 305 / 33
Регистрация: 31.10.2009
Сообщений: 490
Записей в блоге: 2
Завершенные тесты: 1
22.06.2011, 12:22 #20
C++
1
2
3
scanf("%s",s);
//  работа с указателем
printf("%s",s);
1
22.06.2011, 12:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2011, 12:22
Привет! Вот еще темы с решениями:

по строкам.замените в слове сочетание "му" на "а" , а букву "ы" на "ца". очень нужно
замените в слове сочетание &quot;му&quot; на &quot;а&quot; , а букву &quot;ы&quot; на &quot;ца&quot;. очень нужно ...

Ввести строку символов после чего заменить все буквы "а" на ноль
Доброго времени суток! Помогите пожалуйста написать лабу по Си. Задание: ...

Каждую заглавную букву заменить строчной буквой, пару букв "ки" заменить на "ю"
не могу понять как всё это сделать void shifr () { FILE *f1;...

Создать класс комплексных чисел и ввести операции: "+", "-", "*", "/".
пожалуйста-помогите написатьпрограмму!!! сижу на экзамене!!! вот само задание:...


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

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

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