0 / 0 / 0
Регистрация: 23.09.2018
Сообщений: 6
1

Определить, сколько раз в последовательности встречаются пары одинаковых символов

23.09.2018, 20:59. Показов 2995. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет, помоги новичку с кодом.
Пытаюсь написать код в который будет считать пары еденичек, но не выходит с массивом.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h> 
#include<locale.h>
void main()
{
    setlocale(LC_ALL, "Rus");
    int i=0, n=0, el=0, s[100];         //el- одиннадцать 
    printf("\nВведите последовательность чисел:");
    scanf("%d", s);
 
    for (i = 0; i <100; i++) 
    {
        if (s[i] == s[i+1])
        {
             el++;          
        }
        
    }
    printf("одиннадцать:%d\n",el);
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.09.2018, 20:59
Ответы с готовыми решениями:

Определить, сколько раз в последовательности встречаются пары одинаковых символов (Pascal -> C)
Мне нужна помощь. Переведите текст с языка pascal на C. Очень прошу. (Задание на всякий случай...

Определить сколько раз в последовательности встречаются максимальное чисел, а сколько раз минимальное
Добрый вечер всем! Мне надо решить на экзамен задачку, прошу вас помочь с ней :) Задача: Дана...

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

Дана строка символов. Определить, какие символы и сколько раз встречаются в данной строке
Помогите пожалуйста:)))

9
Диссидент
Эксперт C
27504 / 17193 / 3785
Регистрация: 24.12.2010
Сообщений: 38,732
23.09.2018, 21:40 2
bvva, задание полностью в студию!

Добавлено через 1 минуту
Цитата Сообщение от bvva Посмотреть сообщение
scanf("%d", s);
Вводишь только одно число s[0]
1
0 / 0 / 0
Регистрация: 23.09.2018
Сообщений: 6
23.09.2018, 21:55  [ТС] 3
Цитата Сообщение от Байт Посмотреть сообщение
bvva, задание полностью в студию!

Добавлено через 1 минуту
Вводишь только одно число s[0]
задание такое (Произвести одно из перечисленных ниже преобразований входной последовательности символов
ci, i = 1, 2, 3, ... Длина последовательности не более 100 символов. Считается, что последовательность счи-
тана вся, если уже прочитано 100 символов, или любое другое заданное заранее пользователем количество
элементов. Определить, сколько раз в последовательности встречаются пары одинаковых символов(только еденички))
0
Диссидент
Эксперт C
27504 / 17193 / 3785
Регистрация: 24.12.2010
Сообщений: 38,732
23.09.2018, 22:10 4
bvva, Как вводить - сам догадайся или пусть кто другой подскажет (я давно уже не пользовался функциями семейства scanf)
Имей в виду, что вводятся символы, а не числа. Поэтому массив char, а не int.
C
1
2
3
4
5
6
7
char s[100];
int i, n, count=0;
// Ввод
n = strlen(s);
for(i=1; i<n; i++) {
  if (s[i]=='1' && s[i] ==s[i-1])
     count++;
Добавлено через 1 минуту
PS. Вопросик по заданию. 01115 - считается 2 пары или одна? В моем коде считается, что 2.
1
0 / 0 / 0
Регистрация: 23.09.2018
Сообщений: 6
23.09.2018, 22:20  [ТС] 5
Цитата Сообщение от Байт Посмотреть сообщение
bvva, Как вводить - сам догадайся или пусть кто другой подскажет (я давно уже не пользовался функциями семейства scanf)
Имей в виду, что вводятся символы, а не числа. Поэтому массив char, а не int.
C
1
2
3
4
5
6
7
char s[100];
int i, n, count=0;
// Ввод
n = strlen(s);
for(i=1; i<n; i++) {
  if (s[i]=='1' && s[i] ==s[i-1])
     count++;
Добавлено через 1 минуту
PS. Вопросик по заданию. 01115 - считается 2 пары или одна? В моем коде считается, что 2.
Программу я дописал(используя твои подсказки), но все разно не выходит. Покажи где ошибки. Пожалуйста
А про кол пар я сам не понял)

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h> 
#include<locale.h>
void main()
{
    setlocale(LC_ALL, "Rus");
    char s[100];
    int i, n, count = 0;            
    printf("\nВведите последовательность чисел:");
    scanf("%d", &s);
 
    n = strlen(s);
    for (i = 1; i < n; i++) {
        if (s[i] == '1' && s[i] == s[i - 1])
            count++;
        printf("%d", count);
 
    }
 
}
0
Диссидент
Эксперт C
27504 / 17193 / 3785
Регистрация: 24.12.2010
Сообщений: 38,732
23.09.2018, 22:46 6
bvva, во вводе, конечно, бред. Можно так
C
1
scanf("%s", s);  //  scanf("%s", &s[0]); - тоже самое
И скобка фигурная в строчке 5 (у меня) не нужна (моя ошибочка)
Можно так
C
1
2
3
4
5
for (i = 1; i < n; i++) {
 if (s[i] == '1' && s[i] == s[i - 1])
  count++;
}
printf("%d", count);
Теги кода ставить умеешь? Научить? Проще будет разговаривать.
.
1
0 / 0 / 0
Регистрация: 23.09.2018
Сообщений: 6
23.09.2018, 22:47  [ТС] 7
давай, научи
А единица вот тут (if (s[i] == '1') означает, что мы ее в конце считаем?
0
Диссидент
Эксперт C
27504 / 17193 / 3785
Регистрация: 24.12.2010
Сообщений: 38,732
23.09.2018, 23:01 8
Цитата Сообщение от bvva Посмотреть сообщение
А единица вот тут (if (s[i] == '1') означает, что мы ее в конце считаем?
Тут 2 условия. Символы равны и один из них(любой) = 1
Цитата Сообщение от bvva Посмотреть сообщение
давай, научи
2 способа.
1 Окружаешь код [C] код [/C]
2.Для ленивых. Выделяешь код мышкой и щелкаешь на иконке языка (С) что сверху второй ряд в серединке.
0
0 / 0 / 0
Регистрация: 23.09.2018
Сообщений: 6
23.09.2018, 23:11  [ТС] 9
Спасибо, ты мне очень помог.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11896 / 7268 / 1721
Регистрация: 25.07.2009
Сообщений: 13,311
28.09.2018, 00:21 10
Цитата Сообщение от Байт Посмотреть сообщение
1 Окружаешь код [C] код [/C]
Лучше так:
[CLANG]код[/CLANG]
В старом варианте теги часто сыпались, если в коде переменная с именем С попадалась.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.09.2018, 00:21
Помогаю со студенческими работами здесь

Определить сколько раз меняется знак в последовательности. Найти номера пары точек, расстояние мужду которыми наибольшее.
23. Задан массив действительных чисел. Определить, сколько раз меняется знак в данной...

Вывести все пары совпадающих одинаковых символов последовательности
Для заданной последовательности символов: выдать все пары совпадающих одинаковых символов

Подсчитать, сколько раз среди заданных символов встречаются символ + и сколько раз символ *
дана последовательность, состоящая из n символов. подсчитать сколько раз среди данных символов...

Подсчитать, сколько раз в последовательности встречаются значения 1, 2, ..., 9
Дана последовательность чисел, состоящая только из чисел 1, ..., 9. Последовательность завершается...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru