Expl1
Code:
#include<stdlib.h>
#include<stdio.h>
struct sarasas
{
char duomuo;
struct sarasas *kitas;
};
typedef struct sarasas Sarasas;
typedef Sarasas *SarasasPtr;
char i;
int kiekis=0, kiekis_temp=0;
int main()
{
SarasasPtr sar;
sar=(SarasasPtr) malloc(sizeof(Sarasas));
SarasasPtr pradzia=sar;
//IVEDIMAS-------------------------------------------------------------------
printf("Iveskite teksta (noredami nutraukti spauskite CTRL+Z):\n");
printf("?");
scanf("%c", &i);
while(!feof(stdin))
{
sar->duomuo=i;
sar->kitas=(SarasasPtr) malloc(sizeof(Sarasas));
sar=sar->kitas;
if(i=='\n')
printf("?");
scanf("%c", &i);
}
sar->kitas=pradzia;
sar=pradzia;
printf("\n\n");
//SPAUSDINIMAS_IR_TIKRINIMAS--------------------------------------------------
do
{
if((sar->duomuo==' ')||(sar->duomuo=='\n')) //TIKRINA
if ((sar->kitas->duomuo=='A')||(sar->duomuo=='A'))
kiekis_temp++;
else
{
if (kiekis_temp>kiekis)
{
kiekis=kiekis_temp;
}
kiekis_temp=0;
}
{
printf("%c",sar->duomuo); //SPAUSDINA
sar=sar->kitas;
}
}while (sar->kitas!=pradzia);
printf("\n\n");
printf("Zodziu prasidedanciu raide A yra: %d", kiekis); //ATSAKYMAS
printf("\n");
system("pause");
return 0;
}
Expl2
Code:
#include<stdlib.h>
#include<stdio.h>
struct sarasas
{
char duomuo;
struct sarasas *kitas;
};
typedef struct sarasas Sarasas;
typedef Sarasas *SarasasPtr;
char i;
int kiekis=0, kiekis_temp=0;
int main()
{
SarasasPtr sar;
sar=(SarasasPtr) malloc(sizeof(Sarasas));
SarasasPtr pradzia=sar;
SarasasPtr pabaiga=sar;
//IVEDIMAS-------------------------------------------------------------------
printf("Iveskite teksta (noredami nutraukti spauskite CTRL+Z):\n");
printf("?");
scanf("%c", &i);
while(!feof(stdin))
{
sar->duomuo=i;
sar->kitas=(SarasasPtr) malloc(sizeof(Sarasas));
sar=sar->kitas;
if(i=='\n')
printf("?");
scanf("%c", &i);
}
pabaiga=sar;
sar->kitas=pradzia;
sar=pradzia;
printf("\n\n");
//SPAUSDINIMAS_IR_TIKRINIMAS--------------------------------------------------
do
{
if(sar->duomuo=='A')
kiekis_temp++;
if((sar->duomuo==' ')||(sar->duomuo=='\n')) //TIKRINA
if ((sar->kitas->duomuo=='A')||(sar->duomuo=='A'))
kiekis_temp++;
else
{
if((sar->duomuo==' ')||(sar->duomuo=='\n'))
if ((sar->kitas->duomuo=='A')||(sar->duomuo=='A'))
kiekis_temp++;
}
else
{
if (kiekis_temp>kiekis)
{
kiekis=kiekis_temp;
}
kiekis_temp=0;
}
{
printf("%c",sar->duomuo); //SPAUSDINA
sar=sar->kitas;
}
}while (pabaiga->kitas!=pradzia);
printf("\n\n");
printf("Zodziu prasidedanciu raide A yra: %d", kiekis); //ATSAKYMAS
printf("\n");
system("pause");
return 0;
}
In first example program did not count first word if it begin from "A", but sometimes it did not count last word if it begin from "A". In second example i think to white with "begining" and "end".