Skocz do zawartości

Sortowanie i wypisanie w odpowiedniej kolejności(język C)


Recommended Posts

Witam.
Proszę was o pomoc przy rozwiązaniu mojego problemu. Jestem dopiero na początku swojej nauki języka C i mam do napisania program, w którym wczytuje dane z pliku tekstowego, następnie porównuje wiersze(program ma porównywać litery w odpowiednich kolumnach dwóch wierszy aż do momentu kiedy znajdzie różnice i zdecyduje który wynik ma być wypisany pierwszy). Po sortowaniu wyniki miały być ustawione w kolejności alfabetycznej(mamy wiersze    abd   jop   aab    a kolejność po sortowaniu    aab   abd   jop   i wszystkich czynnościach wyświetlone w odpowiedniej kolejności).
 
Oto kod:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <time.h>
#include <conio.h>

int porownaj(char *a, char *b)
{
int lenght;
int lenght1 = strlen(a);
int lenght2 = strlen(b);
if (lenght1 < lenght2)
lenght = lenght1;
else
lenght = lenght2;

int i;
for(i=0;i<lenght;i++)
{
if((int) a> (int) b)
return 0;
else
return 1;
}
if(lenght2<lenght1)
return 0;
}

void wstaw(char *n, char *tabw[], int licznik)
{
int a;
int b = -1;
int i;

for (i = 0; i<licznik; i++)
{
a = porownaj(n, tabw);

if (a == 1)
{
b = i;
break;
}
}

if (b == -1)
{
b = licznik++;
}

for (i = licznik; i >= b; --i)
{
strcpy(tabw[i + 1], tabw);
}

strcpy(tabw, n);
}

int main(int argc, char *argv[])
{
char n[256];
char *tabw[100];
int i;
for (i = 0; i < 100; i++)
{
tabw = (char *)malloc(sizeof(char*));
}

FILE *fp;
fp = fopen("", "r");
if (fp == NULL)
printf("nie otworzono pliku");
char c;
while((c=fgetc(fp))!=EOF)
{
printf("%c",c);
}
int licznik = 0;

while (!feof(fp) || licznik>100)
{
fgets(n, 256, fp);
wstaw(n, tabw, licznik);
licznik++;
}

for (i = 0; i < licznik; i++)
printf("%s\n", tabw);


return 0;
}

 

 

Proszę o pomoc.

 

 

 

//Problem rozwiązany. Można usunąć temat

Edytowane przez jbk11
Link to post
Share on other sites

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Odpowiedz w tym wątku...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...