int main () {
  lista lis=NULL;
  lis = dolacz("abc", dolacz("def", dolacz("ghi", lis)));
  druk(odwroc(lis));
  
  return 0;
}
int main(void) {
  char c[10];
  printf("podaj napis: ");
  fgets(c, 10, stdin);
  odwroc(c);
  printf("%s\n", c);
  return 0;
}
void odwroc(char a[]) {
  int n = strlen(a);
  if (n ==0)
    return;
  else {
    putchar(a[n-1]);
    a[n-1] = '\0';
    odwroc(a);
  }
}
int main(void) {

  char bufor[50];

  printf("Wpisz ciąg znaków: ");
  scanf("%s", bufor);

  odwroc(bufor);
  printf("Odwrócona kolejność: %s\n", bufor);

  return 0;
}
Beispiel #5
0
int main(){

	int p = 2;
	char t[100];
	int a, i;

/*	printf("Podaj liczbe w systemie dziesietnym: ");
	scanf("%d", &a);

	printf("Liczba %d w systemie binarnym: ", a);
	dec2bin(a);
	printf("\n");*/

	printf("Podaj liczbe w systemie binarnym: ");
	scanf("%s", &t);
	odwroc(t);
    printf("%s", t);

	//printf("Binarna Liczba %s, to ta sama liczba dziesietna %d\n", t, horner(t, strlen(t) - 1, p));
	return 0;
}
Beispiel #6
0
int main(void)
{
    int A[3] = {1, 2, 3};
    odwroc(A, 3);
    printf("%d %d %d \n", A[0], A[1], A[2]);
}
Beispiel #7
0
int main() {
    // deklaracja poczatkowych zmiennych
    int i,j,m,n;
    char nazwa1[32], nazwa2[32];
    struct timeval tv;
    time_t czas_start_sek,czas_start_usek;
    time_t czas_stop_sek,czas_stop_usek;
    double czas;

    // odczyt ciagow z plikow
    printf("Podaj nazwe 1. pliku: "); scanf("%s",nazwa1);
    printf("Podaj nazwe 2. pliku: "); scanf("%s",nazwa2);
    FILE *plik1 = fopen(nazwa1,"r");
    fseek(plik1, 0L, SEEK_END);
    n = ftell(plik1);
    rewind(plik1);
    char *ciag1 = (char*)malloc((n+1)*sizeof(char));
    for (i=0;i<n;i++) ciag1[i] = fgetc(plik1);
    fclose(plik1);
    FILE *plik2 = fopen(nazwa2,"r");
    fseek(plik2, 0L, SEEK_END);
    m = ftell(plik2);
    rewind(plik2);
    char *ciag2 = (char*)malloc((m+1)*sizeof(char));
    for (i=0;i<m;i++) ciag2[i] = fgetc(plik2);
    fclose(plik2);

    // deklaracja tablicy
    int **tablica = (int**)malloc((n+1)*sizeof(int*));
    for (i=0;i<n+1;i++) *(tablica+i) = (int*)malloc((m+1)*sizeof(int*));

    // poczatek czasu
    gettimeofday(&tv, NULL);
    czas_start_sek = tv.tv_sec;
    czas_start_usek = tv.tv_usec;
    // START poczatek algorytmu
    for (i=0;i<n+1;i++) tablica[i][0] = 0;
    for (j=1;j<m+1;j++) tablica[0][j] = 0;

    for (i=1;i<n+1;i++) {
        for (j=1;j<m+1;j++) {
            if (ciag1[i-1] == ciag2[j-1]) tablica[i][j] = tablica[i-1][j-1]+1;
            else tablica[i][j] = max(tablica[i-1][j],tablica[i][j-1]);
        }
    }

    /*for (i=0;i<m+1;i++) {
        for (j=0;j<n+1;j++) {
            printf("%i,",tablica[j][i]);
        }
        printf("\n");
    }*/

    i = n;
    j = m;
    int teraz;
    int z = 0;
    char *wynik = (char*)malloc((n+1)*sizeof(char));
    while (1) {
        teraz = tablica[i][j];
        if (i > 0 && (tablica[i-1][j] == teraz)) {
            i--;
            if (i<=0 && j<=0) break;
        } else if (j > 0 && (tablica[i][j-1] == teraz)) {
            j--;
            if (i<=0 && j<=0) break;
        } else {
            wynik[z] = ciag1[i-1];
            z++;
            i--;
            j--;
            if (i<=0 && j<=0) break;
        }
    }
    wynik[z] = '\0';
    odwroc(wynik);
    // STOP koniec algorytmu
    // koniec czasu
    gettimeofday(&tv, NULL);
    czas_stop_sek = tv.tv_sec;
    czas_stop_usek = tv.tv_usec;

    czas = czas_stop_sek+(czas_stop_usek/1000000.0) - czas_start_sek-(czas_start_usek/1000000.0);

    printf("\n1. ciag ma %i elementow.\n",n);
    printf("2. ciag ma %i elementow.\n",m);
    printf("\nNajwiekszy wspolny podciag to: %s\n",wynik);
    printf("\nJego dlugosc to: %i\n",strlen(wynik));
    printf("\nCzas trwania algorytmu: %.4lf s\n",czas);

    // zwalnianie pamieci
    free(ciag1);
    free(ciag2);
    for (i=0;i<n+1;i++) free(tablica[i]);
    free(tablica);
    free(wynik);

    return 0;
}