Facebook
From Trivial Bird, 5 Years ago, written in C.
This paste is a reply to Untitled from Unique Crow - view diff
Embed
Download Paste or View Raw
Hits: 363
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>   //biblioteka potrzebna do tego zeby losowac cyferki
  4.  
  5. void losuj(char *tab, int rozmiar)  //funkcja wypelniajaca tablice losowymi literkami
  6. {
  7.     int i;
  8.     for(i = 0; i < rozmiar; i++)
  9.     {
  10.         *(tab+i)=65+rand()%26;
  11.     }
  12. }
  13. int main()
  14. {
  15.     printf("Hello world!\n");
  16.     srand(time(NULL));  //inicjowanie generatora do losowania
  17.     int rozmiar;
  18.     int i, indeks;
  19.     rozmiar = rand()%10;    //losujemy rozmiar
  20.     char *litery = malloc(rozmiar*sizeof(char));    //deklarujemy tablice o wylosowanym rozmiarze
  21.     int ile_literek[26]={0};    //tablica co patrzy ile jest danej literki
  22.  
  23.     losuj(litery, rozmiar); //losujemy tablice literek
  24.     for(i = 0 ; i < rozmiar; i++)   //funkcja wyswietaljaca te tablice
  25.     {
  26.         printf("%c ", *(litery+i));
  27.     }
  28.  
  29.     indeks = 0; //potrzebne zeby policzyc kazda litere
  30.     int j;  //to leci po tablicy, w ktorej zliczamy ilosc wystapien danej literki
  31.     for(i = 0; i < rozmiar; i++)
  32.     {
  33.         for(j = 0; j < 26; j++)
  34.         {
  35.             indeks = (int)(litery[i])-65;   //rzutuje literke na zwykla liczbe, zeby odjac 65, bo 65 to duze A czyli pierwsza w naszej tablicy
  36.         }
  37.         (*(ile_literek+indeks))++;  //jak wystapila to zwiekszamy jej ilosc o 1
  38.     }
  39.     printf("\n%d\n", rozmiar);
  40.     for(i = 0; i < 26; i++)
  41.     {
  42.         printf("%c - %d\n",(char)(i+65), *(ile_literek+i));   //tu rzutujemy w druga strone zeby zamienic 65 na duze A
  43.     }
  44.     return 0;
  45. }
  46.