Pereiti prie turinio

Reikia atlikti užduotį (c#)


Rekomenduojami pranešimai

Sveiki,

reikia atlikti užduotį c# kalba , tad prašau pagalbos užduotis:

 

Raskite ir spausdinkite faile Rodikliai.txt:

 ilgiausių žodžių, kurie yra tik faile Knyga1.txt, bet nėra faile Knyga2.txt, sąrašą (ne daugiau nei

10 žodžių) ir jų pasikartojimo skaičių;

 ilgiausią teksto fragmentą, sudarytą iš žodžių ir juos skiriančių skyriklių, kuris yra abejuose failuose

ir jo eilutės numerius pirmame ir antrame faile;

 

 

Tekstiniai failai(Knyga1.txt ir Knyga2.txt) nėra duoti tai tinka viskas.

Iš anksto dėkoju!

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tai geriau pasakok, kas nesigauna. Del sutampanciu zodziu turiu uzsilikusi toki pavyzdi, kuri labai lengvai galetum pasiredaguot pagal save.

        static void Main(string[] args)
       {
           char[] skyrikliai = { ' ', '.', '!', '?', ':', ';', '(', ')', '\t' };
           Console.WriteLine("Sutampanciu zodziu {0,3:d}", Apdoroti(CFd, skyrikliai));
       }
       //** 
       static int Zodziai(string eilute, char[] skyrikliai)
       {
           string[] parts=eilute.Split(skyrikliai,
                                       StringSplitOptions.RemoveEmptyEntries);
           int sutampa=0;
           foreach (string zodis in parts)
           {
               if (zodis[0] == zodis[zodis.Length - 1])
                   sutampa++;
               if ('a' <= zodis[0] && zodis[zodis.Length-1] <= 'Z')
                   sutampa++;
           }
           return sutampa;
       }
       //------------------------------------------------------
       //** Skaito faila ir analizuoja eilutes
       static int Apdoroti(string fv, char[] skyrikliai)
       {
           string[] lines = File.ReadAllLines(fv, Encoding.GetEncoding(1257));
           int sutampa = 0;
           foreach (string line in lines)
               if (line.Length > 0)
                   sutampa += Zodziai(line, skyrikliai);
           return sutampa;
       }

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kad nežinau kas nesigauna. Aš susirandu iš abiejų text failų bendrus žodžius ir tuomet darau tikrinimą.

 

static void Rastiilg(string fv, string fvr, char[] skyrikliai)

{

string Book1 = File.ReadAllText(fv, Encoding.GetEncoding(1257));

string Book2 = File.ReadAllText(fvr, Encoding.GetEncoding(1257));

 

string[] Words1 = Book1.Split(skyrikliai, StringSplitOptions.RemoveEmptyEntries);

string[] Words2 = Book2.Split(skyrikliai, StringSplitOptions.RemoveEmptyEntries);

int ilgis = 0;

string zod = null;

int pr = 0;

int n = 0;

string[] zodziai = new string[100];

string[] usedwords = new string[100];

 

for (int i = 0; i < Words1.Length; i++)

{

for (int j = 0; j < Words2.Length; j++)

{

if (Words1 == Words2[j])

{

usedwords[n] = Words1;

n++;

}

}

}

//for (int i = 0; i < n; i++)

//Console.WriteLine(usedwords);

for (int i = 0; i < Words1.Length; i++)

{

for (int j = 0; j < n; j++)

{

if ((Words1 != usedwords[j]))

{

if ((ilgis < Words1.Length))

//Console.WriteLine(usedwords[j]);

ilgis = Words1.Length;

zod = Words1;

pr = i;

}

}

}

Console.WriteLine(zod);

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Turiu panašią užduotį. Su žodžiais viskas aišku, man labiau įdomu kaip tą pasikartojantį fragmentą gauti. Nes gi netikrinsi atskirai su visais žodžiais.

O kas trukdo nuread'inti vieną eilutę ir patikrinti ar sutampa su kito failo eilute (ilgiausia)? Pavyzdys, kuris grąžina ilgiausią eilutę:

       static string IlgiausiaEilute(string fv, string fvr)
       {
           string ilgiausiaeil = null;
           int ilgis = 0;
           string[] lines = File.ReadAllLines(fv, Encoding.GetEncoding(1257));
           string[] lines2 = File.ReadAllLines(fvr, Encoding.GetEncoding(1257));
           foreach (string line in lines)
           {
               if (line.Length > ilgis)
               {
                   ilgis = line.Length;
                   ilgiausiaeil = line;
               }
           }
           if (!lines2.Contains(ilgiausiaeil))
           {
               ilgiausiaeil = "Nerasta.";
           }
           return ilgiausiaeil;
       }

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...