Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
-1 / 0 / 1
Регистрация: 16.09.2012
Сообщений: 130

Отсеить строки где символ встречается больше 2 раз и вывести строку, прошедшую проверку

01.04.2016, 00:36. Показов 637. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, не работает правильно функция. Есть исходник паскаля который работает и c(++) который не работает. Программа отсеивает строки где символ встречается больше 2 раз и выводит "прошедшую проверку"

Delphi
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
var
  arrchar:Array [1..66] of char;
 
function match(ch:char;str:string):integer;
var i,count:integer;
begin
    count:=0;
    for i:=1 to length(str) do
        if str[i]=ch then count:=count+1;
    match:=count;
end;
 
function matchstr(str:string):boolean;
var i,matching:integer; b:boolean;
begin
    b:=false; matching:=0;
    for i:=1 to length(str) do begin
        if match(str[i],str)>2 then b:=true;
    end;
    matchstr:=b;
end;
 
var i,count:integer; ch:char;
    r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24:integer;
    str:string;
    percent:real;
begin
    count:=0;
    percent:=0;
    str:='123';
   for ch:='a' to 'z' do arrchar[ord(ch)-96]:=ch;
   for ch:='A' to 'Z' do arrchar[ord(ch)-38]:=ch;
   for ch:='0' to '9' do arrchar[ord(ch)+5]:=ch;
 
   for r1:=1 to 62 do
   for r2:=1 to 62 do
   for r3:=1 to 62 do
              begin
                  str[1]:=arrchar[r1];
                  str[2]:=arrchar[r2];
                  str[3]:=arrchar[r3];
 
                  if not(matchstr(str)) then
                      begin
                        WriteLn(str);
                        count:=count+1;
                      end;
 
                  percent:=percent+100/power(62,3);
                  WriteLn(percent);
              end;
end;
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
#include <stdio.h>
 
using namespace std;
 
int match(char ch, char str[3]) {
    int i,count;
    count=0;
    for(i=0;2>=i;i++) {
        if (str[i]=ch) count++;
    }
    return count;
}
 
bool matchstr(char str[3]) {
    int i,matching;
    bool b;
    b=false;
    matching=0;
    for (i=0;2>=i;i++) {
        if (match(str[i],str)>2) b=true; 
    }
    //cout <<str<<endl;
    return b;
    
}
 
int main(void)
{
    char arrchar[62]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9'};
    int i,count;
    char ch;
    int r1,r2,r3;
    double percent;
    count=0;
    percent=0;
    
    
    printf("Массив загружен\n");
    for (r1=0;r1<=61;r1++){
        for (r2=0;r2<=61;r2++){
            for (r3=0;r3<=61;r3++){
                char str[4]={arrchar[r1],arrchar[r2],arrchar[r3],'\0'};
                //printf("%s\n",str);   
                //cout <<str<<endl;
                if (!(matchstr(str))) {
                    cout <<str<<endl;
                    //count=count+1;
                }
            }
        }
    }
    
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.04.2016, 00:36
Ответы с готовыми решениями:

Вывести строки, в которых символ «*» встречается не менее 2 раз и заменить символ «*» на символ «_»
День добрый. Имеется условие лабы. Написать программу, в которой с клавиатуры вводится до 10 символьных строк. Вывести строки, в...

Ввести строку символов. Если символ в данной строке встречается один раз, в конце строки добавлять ещё раз его
Ввести строку символов. Если символ в данной строке встречается один раз, в конце строки добавлять ещё раз этот символ. Pезультат вывести...

Если символ в данной строке встречается один раз, в конце строки добавлять ещё раз этот символ
Помогите с задачей на C# Ввести строку символов. Если символ в данной строке встречается один раз, в конце строки добавлять ещё раз этот...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.04.2016, 00:36
Помогаю со студенческими работами здесь

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

Строка из цифр и букв. Вывести группу цифр где 7 встречается не больше 2 раз
Добрый день ! Само задание. Ввести строку, состоящую только из цифр и букв. Вывести те группы цифр, в которых цифра 7 встречается не...

Строка: Определите сколько раз среди символов строки встречается символ + и сколько раз символ * .
16 Дана строка символов. Определите сколько раз среди символов строки встречается символ + и сколько раз символ * . Использовать разные...

Создать функцию, которая на вход получает строку символов и один символ, функция печатает те слова строки, в которых встречается этот символ.
Здраствуйте, вы не могли б мне помоч, у меня проблема з задачей, в коде постоянно выдаёт ошыбки на мове С, , и это еще перевести в...

Определить сколько раз в строке встречается данный символ. Строку вводить с клавиатуры
use16 org 100h jmp start s1 rb 53 endline db 10,13,$ count db 0 s2 rb 10 s db ' $' start:


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru