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

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

Войти
Регистрация
Восстановить пароль
 
Vlad_fractal
0 / 0 / 0
Регистрация: 16.10.2013
Сообщений: 78
#1

Строки. Ошибка - C++

20.11.2013, 13:38. Просмотров 154. Ответов 4
Метки нет (Все метки)

Задание:
Написать программу удаления букв r из введенной строки.
Мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream.h>
main()
{
char str[100],str1[100];
int j=0;
cout<<"Vvedite stroku: ";
cin>>str[100];
for(int i=0;i<100;i++)
{
if(str[i]!='r')
{
str[j]=str1[i];
j++;
}
}
cout<<"stroka bez bukvi 'r': "<<str1;
}
На примитивность не обращайте внимания. Компилятор, на учебных компах, древний.
Собственно программа запускается, но не работает, как надо: во второй строке пусто, чтобы я не писал.
Подскажите, где ошибка? Заранее благодарю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2013, 13:38     Строки. Ошибка
Посмотрите здесь:

C++ Строки...ошибка...не правильно робит
строки. в чем ошибка? C++
C++ Не понятная ошибка файлы и строки
Ошибка при выводе строки C++
C++ Строки, в чём ошибка?
C++ Массивы и строки - жесткая ошибка с
C++ Ошибка вывода строки на экран
Ошибка в преобразовании строки в double C++
C++ Ошибка базового класса строки
C++ Ошибка чтения знаков строки
Ошибка чтения строки C++
Ошибка при инициализации строки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ElenaBilyk
4 / 4 / 1
Регистрация: 22.10.2013
Сообщений: 34
20.11.2013, 13:50     Строки. Ошибка #2
оператор cin читает строку до первого символа новой строки, пробела или символа табуляции.
char Str[100], Str1[100];
int j = 0;
std::cout<<"Vvedite stroku: ";
std::cin.getline(Str, 100);
for(int i = 0; i < 100; i++)
if(Str[i] != 'r')
Str1[j++] = Str[i];
std::cout<<"stroka bez bukvi 'r': "<<Str1<<'\n';
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.11.2013, 13:54     Строки. Ошибка #3
Цитата Сообщение от Vlad_fractal Посмотреть сообщение
Подскажите, где ошибка?
C++
1
2
3
4
5
if(str[i]!='r')
{
   str1[j] = str[i];
   j++;
}
bradobrei
Продам уран 238U
119 / 119 / 23
Регистрация: 22.01.2013
Сообщений: 298
20.11.2013, 13:58     Строки. Ошибка #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
 
int main(){
    char str[] = "euj ddr w r rrrwk wikr tr!";
    for (int i = 0; str[i]; i++){
        if(str[i] != 'r'){
            cout<<str[i];
    }
    }
return 0;
}
Vlad_fractal
0 / 0 / 0
Регистрация: 16.10.2013
Сообщений: 78
20.11.2013, 13:59  [ТС]     Строки. Ошибка #5
Спасибо, понял. Там, кстати, ещё куча мелких ошибок- забыл подшлифовать. В итоге, вот рабочий вариант, если вдруг кому-то, вроде меня, понадобится.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream.h>
#include <string.h>
main()
{
char str[100],str1[100];
int j=0;
cout<<"Vvedite stroku: ";
cin.getline(str, 100);
for(int i=0;i<100;i++)
{
if(str[i]!='r')
{
str1[j++]=str[i];
}}
 cout<<"stroka bez bukvi 'r':"<<str1;
}
Borland 3.1
Yandex
Объявления
20.11.2013, 13:59     Строки. Ошибка
Ответ Создать тему
Опции темы

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