Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 21.02.2017
Сообщений: 29
1

Найти все последовательности из трёх нулей в заданных строках

21.02.2017, 17:12. Просмотров 615. Ответов 19
Метки нет (Все метки)

Ввести в память ПЭВМ с клавиатуры три строки, в каждой из которых не более 80 символов.
Написать программу, которая ищет все последовательности из трёх нулей в заданных строках. Если эти последовательности существуют, то заменяет их на последовательность из трёх пятёрок. Если их не существует, то выводит соответствующее сообщение.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2017, 17:12
Ответы с готовыми решениями:

В последовательности четырех чисел, заданных с клавиатуры, найти количество нулей.
Ребят помогите пожалуйста написать программу! В последовательности четырех чисел, заданных с...

Найти все буквы заданных строк, которые встречаются во всех этих строках
Найти все буквы заданных строк, которые встречаются во всех этих строках.

Найти все буквы заданных строк, которые встречаются во всех этих строках.
Найти все буквы заданных строк, которые встречаются во всех этих строках.

Найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц
Требуется найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц. ...

19
62 / 62 / 39
Регистрация: 18.11.2016
Сообщений: 562
21.02.2017, 19:59 2
Не совсем понял, три нуля в каждой строке или по одному нулю в каждой строке?
0
0 / 0 / 0
Регистрация: 21.02.2017
Сообщений: 29
22.02.2017, 00:45  [ТС] 3
3 нуля в каждой строке
0
Эксперт C
25090 / 15593 / 3333
Регистрация: 24.12.2010
Сообщений: 33,798
22.02.2017, 15:14 4
Для одной строки
C++
1
2
3
char s[] = "1000110020004", *p;
for(p=s; (p=strstr(p, "000"))!=NULL; ) 
 strcpy(p, "555");
0
0 / 0 / 0
Регистрация: 21.02.2017
Сообщений: 29
22.02.2017, 16:02  [ТС] 5
Получается еще нужно добавить еще 2 строки как эта "1000110020004" только с другими цифрами и порядком нулей??

Добавлено через 5 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 using namespace std;
void main()
{
    setlocale(LC_ALL, "Russian");
    const int m=3; 
    const int n=80; 
    int i,j; 
    char s[] = "1000110020004", *p;
    char s[] = "5080190020003", *p;
    char s[] = "1000110820007", *p;
for(p=s; (p=strstr(p, "000"))!=NULL; ) 
 strcpy(p, "555");
вот так??
0
Эксперт C
25090 / 15593 / 3333
Регистрация: 24.12.2010
Сообщений: 33,798
22.02.2017, 16:31 6
Цитата Сообщение от Rage122435 Посмотреть сообщение
вот так??
Да, худо у нас с языками...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
void main()
{
  setlocale(LC_ALL, "Russian");
  const int m=3; 
  const int n=80; 
  int i,j; 
  char s[m][n] = { "1000110020004",  "5080190020003",  "1000110820007" }, *p;
  for (i=0; i < m; i++) {
   for(p=s; (p=strstr(p, "000"))!=NULL; ) 
      strcpy(p, "555");
  }
}
Будешь писать коды - окружай их тегами.
1
Эксперт С++
1585 / 915 / 777
Регистрация: 06.02.2016
Сообщений: 2,399
Записей в блоге: 29
22.02.2017, 17:33 7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
    bool k=false;
    string s {"1000110020004"};
    while(true) {
        auto f=s.find("000");
        if(f!=string::npos) {
            s.replace(f,3,"555");
            k=true;
        } else break;
    }
    if(!k) cout<<"No such sequence ";
    cout<<s;
    return 0;
}
0
0 / 0 / 0
Регистрация: 21.02.2017
Сообщений: 29
23.02.2017, 13:44  [ТС] 8
если можно без операторов string а то мне нельзя со string))
0
Эксперт C
25090 / 15593 / 3333
Регистрация: 24.12.2010
Сообщений: 33,798
23.02.2017, 13:51 9
У меня ошибка в строчке 12. Надо
C++
1
memcpy(p, "555", 3);
0
131 / 66 / 22
Регистрация: 17.10.2010
Сообщений: 905
23.02.2017, 14:24 10
Байт после добавления
C++
1
memcpy(p, "555", 3);
ошибка 12 строке все равно осталась.
0
Эксперт C
25090 / 15593 / 3333
Регистрация: 24.12.2010
Сообщений: 33,798
23.02.2017, 16:51 11
Цитата Сообщение от isaak Посмотреть сообщение
ошибка 12 строке все равно осталась.
Ты бы хоть сказал, какая. Или просто - ошибка - и все? Он же тебе навярняка сказал - "Неизвестный идентификатор p". Учишь вас, учишь разговаривать по человечески....
Напиши char *p ; за строкой 8.
Сам догадаться никак не мог?
0
0 / 0 / 0
Регистрация: 21.02.2017
Сообщений: 29
23.02.2017, 18:28  [ТС] 12
Ошибку я видел и исправил , а программу не понимаю как сделать . Вы извините просто я форумом пользуюсь 1й раз.
0
Эксперт C
25090 / 15593 / 3333
Регистрация: 24.12.2010
Сообщений: 33,798
23.02.2017, 20:14 13
Цитата Сообщение от Rage122435 Посмотреть сообщение
я форумом пользуюсь 1й раз.
Хорошо, постараемся быть снисходительнее
Цитата Сообщение от Rage122435 Посмотреть сообщение
а программу не понимаю как сделать
Тогда давай с начала. Покажи код и расскажи в чем проблемы.
0
0 / 0 / 0
Регистрация: 21.02.2017
Сообщений: 29
23.02.2017, 21:23  [ТС] 14
)))

Добавлено через 1 минуту
вот прошлый ваш код а что вот делать дальше не знаю
0
Эксперт C
25090 / 15593 / 3333
Регистрация: 24.12.2010
Сообщений: 33,798
23.02.2017, 21:23 15
Цитата Сообщение от Rage122435 Посмотреть сообщение
вот тот код ваш вообщем)
Вы думаете, в этой безумной строке я буду разбираться?
0
131 / 66 / 22
Регистрация: 17.10.2010
Сообщений: 905
24.02.2017, 15:39 16
Байт вот сам код и
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
  setlocale(LC_ALL, "Russian");
  const int m=3;
  const int n=80;
  int i,j;
  char *p ;
  char s[m][n] = { "1000110020004",  "5080190020003",  "1000110820007" }, *p;
  for (i=0; i < m; i++) {
   for(p=s; (p=strstr(p, "000"))!=NULL; )
      memcpy(p, "555", 3);
  }
  system("pause");
}
ошибки которые возникают при компиляции:
0
Миниатюры
Найти все последовательности из трёх нулей в заданных строках  
Эксперт C
25090 / 15593 / 3333
Регистрация: 24.12.2010
Сообщений: 33,798
24.02.2017, 15:51 17
Цитата Сообщение от isaak Посмотреть сообщение
ошибки
2 раза объявлен char *p;

Добавлено через 2 минуты
У меня в посте 6 этого не было. Так что, сами разбирайтесью
0
131 / 157 / 87
Регистрация: 06.04.2016
Сообщений: 992
24.02.2017, 16:04 18
Поставьте флаг в эту программу, типа если он нашел хоть одно значение флаг = true, а если не нашел ничего и флаг == false, то выводить сообщение "Ничего не найдено".
0
0 / 0 / 0
Регистрация: 21.02.2017
Сообщений: 29
24.02.2017, 21:14  [ТС] 19
у меня ошибка только в 6й строчке в p=s; ( невозможно преобразовать char[3][80] в char*)
0
Эксперт C
25090 / 15593 / 3333
Регистрация: 24.12.2010
Сообщений: 33,798
24.02.2017, 21:22 20
Rage122435,
C++
1
for(p = s[i]; ...)
Чуть-чуть свою голову надо включать. А то заржавеют там извилины, что делать будешь?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.02.2017, 21:22

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц
Требуется найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц. В...

Найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц
Нужно найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц. В чем...

Найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц
Требуется найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц. ...


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

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

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