Commit e0bc6719 by glkink

Add new file

parent 3aab8e37
Showing with 111 additions and 0 deletions
#include <stdio.h>
#include <stdio.h>
#include <string.h>
void loe(FILE *lopp, int suurus, char nimed[suurus][30], int pikkus[suurus])
{
for (int i = 0; i < suurus; i++)
fscanf(lopp, "%s %d", nimed[i], &pikkus[i]);
}
void pikkus(int suurus, int pikkus[])
{
for (int i = 0; i < suurus; i++)
printf(" %d", pikkus[i]);
}
void sorteeriPikkus(int suurus, char nimed[][30], int pikkus[])
{
for (int i = 0; i < suurus - 1; i++)
{
for (int j = i + 1; j < suurus; j++)
{
if (pikkus[i] < pikkus[j])
{
int ajutine = pikkus[i];
pikkus[i] = pikkus[j];
pikkus[j] = ajutine;
char buf[30];
strcpy(buf, nimed[i]);
strcpy(nimed[i], nimed[j]);
strcpy(nimed[j], buf);
}
}
}
}
void otsiPaarid(int poisteArv, int tydrukuteArv, char poisteNimed[][30], int poistePikkus[], char tydrukuteNimed[][30], int tydrukutePikkus[])
{
int P = 0, T = 0;
int paaris[tydrukuteArv];
printf("\nTantsupaarid on:\n");
while (1)
{
if (P == poisteArv)
break;
if (T == tydrukuteArv)
break;
if (poistePikkus[P] >= tydrukutePikkus[T])
{
printf("%s & %s (%d,%d)\n", poisteNimed[P], tydrukuteNimed[T], poistePikkus[P], tydrukutePikkus[T]);
P++;
paaris[T++] = 1;
}
else
{
paaris[T++] = -1;
}
}
if (tydrukuteArv > poisteArv)
{
printf("\nPaariliseta jaid tydrukud: \n");
for (int i = 0; i < tydrukuteArv; i++)
{
if (paaris[i] != 1)
printf("%s (%d) \n", tydrukuteNimed[i], tydrukutePikkus[i]);
}
}
else if (tydrukuteArv < poisteArv)
{
printf("\nPaariliseta jaid poisid: \n");
for (int i = 0; i < poisteArv; i++)
{
if (paaris[i] != 1)
printf(" %s (%d)\n", poisteNimed[i], poistePikkus[i]);
}
}
else
{
printf("\nKoik on paaris! \n");
}
}
int main()
{
FILE *in;
in = fopen("2a.txt", "r");
if (!in)
{
printf("Ei saa faili avada!\n");
return 0;
}
int poisteNum, tydrukuteNum;
fscanf(in, "%d", &poisteNum);
char poisteNimi[poisteNum][30];
int poistePikkus[poisteNum];
loe(in, poisteNum, poisteNimi, poistePikkus);
fscanf(in, "%d", &tydrukuteNum);
char tydrukuteNimi[tydrukuteNum][30];
int tydrukutePikkus[tydrukuteNum];
loe(in, tydrukuteNum, tydrukuteNimi, tydrukutePikkus);
printf("Poisid: ");
pikkus(poisteNum, poistePikkus);
printf("\nTydrukud: ");
pikkus(tydrukuteNum, tydrukutePikkus);
sorteeriPikkus(poisteNum, poisteNimi, poistePikkus);
sorteeriPikkus(tydrukuteNum, tydrukuteNimi, tydrukutePikkus);
otsiPaarid(poisteNum, tydrukuteNum, poisteNimi, poistePikkus, tydrukuteNimi, tydrukutePikkus);
fclose(in);
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment