• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

zadanie-hasła

Object Storage Arubacloud
0 głosów
1,881 wizyt
pytanie zadane 1 grudnia 2017 w C i C++ przez Krystek102 Bywalec (2,440 p.)

Witam,mam problem z zadaniem ,wypisuje nieprawidlowy wynik 

oto treść:

W pliku hasla.txt danych jest 200 haseł użytkowników pewnego systemu. Każdy użyt- kownik posiada jedno hasło (każde zapisane jest w osobnym wierszu), które zawiera od 1 do 20 znaków alfanumerycznych, tzn. cyfr od 0 do 9 lub liter alfabetu łacińskiego (małych lub dużych). Polityka bezpieczeństwa systemu wymaga, aby hasła były odpowiednio skompliko- wane i nie powtarzały się.
Poniżej podano pierwsze pięć haseł zapisanych w pliku hasla.txt:
ZXUhkPLcjKo ikfLDegQXj 8Y7JGYXXR5
603624722555 50q4252ax5
Napisz program, który da odpowiedzi do poniższych zadań. Odpowiedzi do poszczególnych zadań zapisz w pliku tekstowym wyniki_hasla.txt. Wyniki do każdego zadania po- przedź numerem oznaczającym to zadanie.

Podaj liczbę użytkowników posiadających hasła, w których występuje fragment złożony z czterech kolejnych znaków ASCII (w dowolnej kolejności).
Przykłady haseł zawierających taki fragment to:
A5mnpoR89cd A5876RRcg
As45FGHFEk90nba

#include <iostream>
#include <fstream>

using namespace std;
bool czy_C1(string s)
{
    int ile1=0;


    for(int i=0; i<s.size(); i++)
    {
        while(s[i]>='0' && s[i]<='9')
        {
            i++;
            ile1++;
        }
        if(ile1==4)return true;
        ile1=0;
    }
    return false;

}
bool czy_C2(string s)
{

    int ile3=0;
    for(int i=0; i<s.size(); i++)
    {
        while(s[i]>='A' && s[i]<='Z')
        {
            i++;
            ile3++;
        }
        if(ile3==4)return true;
        ile3=0;
    }
    return false;

}
bool czy_C3(string s)
{

    int ile2=0;

    for(int i=0; i<s.size(); i++)
    {
        while(s[i]>='a' && s[i]<='z')
        {
            i++;
            ile2++;
        }
        if(ile2==4)return true;
        ile2=0;
    }
    return false;

}
int main()
{
    string s;
    int ile=0;
    ifstream we("hasla.txt");
    for(int i=0; i<200; i++)
    {
        we>>s;
        if(czy_C1(s) || czy_C2(s) || czy_C3(s))ile++;
    }
    cout<<ile<<endl;
    return 0;
}

 

może ktoś widzi błąd ?>

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+1 głos
0 odpowiedzi 719 wizyt
+1 głos
0 odpowiedzi 96 wizyt
+1 głos
1 odpowiedź 156 wizyt

92,568 zapytań

141,420 odpowiedzi

319,622 komentarzy

61,954 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...