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

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

Войти
Регистрация
Восстановить пароль
 
Avicii
2 / 2 / 0
Регистрация: 01.12.2012
Сообщений: 123
#1

Строки (между одинаковыми буквами вставлять " - " (тире)) - C++

09.12.2012, 20:49. Просмотров 572. Ответов 6
Метки нет (Все метки)

Здавствуйте,помогите с программой,выдает ошибку на scanf ("%s" &a); Сама ошибка: invalid operands of types 'const char [6]' and 'char [15]' to binary 'operator&'|.Подскажите в чем причина. Программа должна между одинаковыми буквами вставлять " - " (тире)
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
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string>
using namespace std;
 
int main()
{int i,j;
char a[10],b[10];
printf ("Vvedite slovo\n");
scanf ("%s" &a);
int 1=strlen(a);
b[0]=a[0];
j=1;
for(i=1;i<=1;i++)
if (a[i]==a[i-1])
{b[j]='-';
b[j+1]=a[i];
j=j+2;
}
else
{b[j]=a[i];
j++;
}
printf ("%s",b);
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2012, 20:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строки (между одинаковыми буквами вставлять " - " (тире)) (C++):

Выяснить, имеется ли пара соседствующих символов ",-" "-," (запятая, тире) в тексте - C++
#include &lt;iostream.h&gt; //Уважаемые программисты помогите переделать эту //Вот задание (Выяснить, имеется ли пара соседствующих символов...

Выдать строки, в которых есть слова с тремя буквами "у" - C++
Задача: Выдать строки, в которых есть слова с тремя буквами &quot;у&quot;. Уважаемые форумчане и прогеры высокого левела, помогите! Я сам не...

Вставить между одинаковыми символами вставить " * " (звёздочку) (есть наброски) - C++
Доброго времени суток, у меня есть задание (Вставить между одинаковыми символами вставить &quot; * &quot; (звёздочку)). Программирую в MVS2012,...

Определить число вхождений в строку подстроки "аба", вывести символы строки, не являющейся буквами или цифрами - C++
решить нужно в течении часа определить число вхождений в строку подстроки &quot;аба&quot; вывести символы строки не являющейся буквами или...

Создать классы "Computer", "Software", "User" и реализовать взаимодействие объектов этих типов между собой - C++
Помогите решить задачку,нужна в инст на экзамен. Составить программу реализующую: 1)классы,которые могут содержать...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

6
svkpro
8 / 8 / 0
Регистрация: 07.12.2012
Сообщений: 143
09.12.2012, 21:03 #2
по моему эта строка
Код
scanf ("%s" &a);
пишется вот так
Код
scanf ("%s",a);
и в строке
Код
int 1=strlen(a);
вместо 1 - i.
1
Denno
54 / 57 / 9
Регистрация: 21.10.2012
Сообщений: 214
Завершенные тесты: 3
09.12.2012, 21:04 #3
C++
1
scanf ("%s" &a);
C++
1
scanf ("%s", &a);
0
svkpro
8 / 8 / 0
Регистрация: 07.12.2012
Сообщений: 143
09.12.2012, 21:34 #4
попробуйте так:
Код
// temp.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string>
using namespace std;
 
int main()
{
char a[10];
char b[10];
int j;
printf("Vvedite slovo\n");
scanf ("%s",a); 
int i=strlen(a);
b[0]=a[0];
j=1;
for(i=1;i<=1;i++)
if (a[i]==a[i-1])
{b[j]='-';
b[j+1]=a[i];
j=j+2;
}
else
{b[j]=a[i];
j++;
}
printf ("%s",b);
cout<<endl;
system("pause");
}
1
Avicii
2 / 2 / 0
Регистрация: 01.12.2012
Сообщений: 123
09.12.2012, 22:08  [ТС] #5
Да,теперь работает,но выдает не тот результат,если ввести слово то он обрабатывает только первые 2 буквы и в конце прибавляет заглавную А,в чем может быть проблема?
0
Croessmah
Эксперт CЭксперт С++
13513 / 7671 / 866
Регистрация: 27.09.2012
Сообщений: 18,879
Записей в блоге: 3
Завершенные тесты: 1
09.12.2012, 22:15 #6
C++
1
for(i=1;i<=1;i++)
Ничего не перепутали? Точно так должно быть?
Кликните здесь для просмотра всего текста
i<=1


Добавлено через 2 минуты
И еще меня терзает вопрос, зачем использовать ввод/вывод в стиле Си и Си++ одновременно?
0
Avicii
2 / 2 / 0
Регистрация: 01.12.2012
Сообщений: 123
09.12.2012, 22:28  [ТС] #7
Я по методичке задачки разбираю,пытаясь сделать нужную по заданию. Там for(i=1;i<=1;i++),я не заметил сразу,да тут ошибка спасибо.
0
09.12.2012, 22:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2012, 22:28
Привет! Вот еще темы с ответами:

Вывести текст файла, заменив цифры от 0 до 9 на слова "ноль", "один"."девять", начиная каждое предложение с новой строки - C++
Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до 9 на слова &quot;ноль&quot;, &quot;один&quot;...&quot;девять&quot;,...

Строки. Вставить "*" между символами строки - C++
Помогите с задачей, буду очень благодарен Дана непустая строка S и целое число N (&gt; 0). Вывести строку, содержащую символы строки S,...

Кто нибудь делал прогу "Эмулятор клавиш с промежутком времени между "нажатиями""? - C++
Пара людей заинтересована в таком приложении только с условием: программа должна работать всегда т.е. откыл она записала карту нажатия...

Расставить между числами знаки "+" и "-" так, чтобы значение выражение стало равно S - C++
Даны N целых чисел X1, X2, ..., XN. Расставить между ними знаки &quot;+&quot; и &quot;-&quot; так, чтобы значение получившегося выражения было равно заданному...


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

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

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