Dabar forume
[ Administratorius ] [ Moderatorius ]
|
|
Daugiau
|
|
|
|
|
| Rodyti ankstesnę temą :: Rodyti sekančią temą |
| Pranešimas |
Autorius |
Parašytas: Tr. 05 18, 2011 19:42 Rašyti temą: C - Ilgiausio zodzio radimas, salinimas. (Padekit) |
|
|
Taigi, uzduotis gan aiski:
Parašyti programą, kurią sudarytų keletas funkcijų, kurios:
a. Iš duomenų failo nuskaito tekstą, kurį sudaro du sakiniai;
b. Suranda ilgiausius vienodus žodžius, kurie yra abiejuose sakiniuose;
c. Ištrina ilgiausius žodžius iš abiejų sakinių;
d. Visi rezultatai išvedami į ekraną ir rezultatų failą.
Lauzau galva ir nesugalvoju kaip surasti bei istrinti ilgiausius zodzius...
Kolkas ką turiu tai sakyniu sudeliojimas į atskirus masyvus:
#include <stdio.h>
#include <string.h>
/*****************************************************************/
void skaityti_sakyni(char sakinys[], FILE *fp)
{
int i = 0;
char raide;
do
{
fscanf(fp, "%c", &raide);
sakinys[i] = raide;
i++;
}
while(raide !='.');
}
/*****************************************************************/
main()
{
char raide, sakinys1[100]=" ", sakinys2[100]=" ";
int i=0;
FILE *fp;
if((fp = fopen("sakyniai.txt","r")) == NULL)
{ printf("\nError: File couldn't be opened (1).\n"); exit(-1); }
skaityti_sakyni(sakinys1, fp); fscanf(fp, "%c", &raide);
skaityti_sakyni(sakinys2, fp);
rewind(fp);
printf("%s%s\n\n", sakinys1, sakinys2);
return 0;
}
Gal yra pasiulimu?? Ideju??? |
|
Klonke
Prisijungė: 2010 11 09 Žinutės: 18 Miestas: Panevėžys
|
|
Atgal į viršų |
 |
Parašytas: Kv. 05 19, 2011 22:01 Rašyti temą: |
|
|
b) Dabar reikia skaityti po viena zodi is vieno sakinio ir ieskoti to zodzio antrajame sakinyje, jei randi isiminimui viename kintamajame(zodis_max) issaugai pati zodi, o kitame jo ilgi (ilgis_max).
Tada imi antraji zodi is pirmojo sakinio ir vel ieskai jo antrajame sakinyje - jei randi palygini pries tai buvusio isiminto zodzio ilgi(ilgis_max) su dabar atrasto zodzio ilgiu. Jei dabar atrastas ilgesnis, tada reiksme issaugai kintamajame (ilgis_max), o pati zodi(zodis_max). Ir taip imi is eiles po viena visus pirmojo sakinio zodzius ir ieskai tokiu pat antrajame sakinyje, pabaigoje atspausdini zodis_max ir ilgis_max reiksmes.
c)
Principas toks pat kaip b) dalyje, pirma surandi ilgiausia zodi, o paskui to surasto zodzio ieskai abejuose sakiniuose ir juos istrini. Arba gali papildomai kiekvienu radimo atveju issisaugoti zodzio pozicijas sakiniuose, kad paskui juos galetum istrinti. |
|
syberex
Prisijungė: 2009 12 08 Žinutės: 190
|
|
Atgal į viršų |
 |
Parašytas: Kv. 05 19, 2011 22:32 Rašyti temą: |
|
|
Kiek pamenu yra funkcija strlen, bet iš pirmųjų kursų dažniausiai žaidimai būdavo su masyvais. _________________ Kliūtis pradedame matyti tada, kai nukreipiame žvilgsnį nuo tikslo | Henry Ford |
|
kionig Moderatorius
Prisijungė: 2009 01 13 Žinutės: 10699 Miestas: Panevėžys
|
|
Atgal į viršų |
 |
|
|
|
|
Jūs negalite rašyti naujų pranešimų šiame forume Jūs negalite atsakinti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|