jazykc  2013.3
upoljazykc
 All Classes Files Functions Variables Typedefs Macros Pages
Macros | Functions
cetnost-znaku-v-poli-retezcu2.c File Reference

Četnost znaku v poli řetězců More...

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

Go to the source code of this file.

Macros

#define NELEM(pole)   (sizeof pole/sizeof *pole)
 

Functions

int * vyskyty (char *texty[], int pocet, char *hledane)
 
int main (int argc, char *argv[])
 

Detailed Description

Četnost znaku v poli řetězců

Téma: Dynamická vícerozměrná pole

Procvičované učivo: dynamická vícerozměrná pole, funkce, cykly

Napište v jazyku C funkci int vyskyty(char* texty[], int pocet, char hledany), která vrací počet výskytů znaku hledany v poli textových řetězců texty. Rozměr pole textových řetězců (počet textových řetězců v poli) lze specifikovat pomocí parametru pocet. Pro testování funkce si v main funkci vytvořte libovolné pole textových řetězců. Příklad výstupu: Textove retezce: Ahoj uzivateli, jak se mas? Tohle bude snadne, ne?

Znak 'e' se v poli vyskytuje 6krát.

Definition in file cetnost-znaku-v-poli-retezcu2.c.

Macro Definition Documentation

#define NELEM (   pole)    (sizeof pole/sizeof *pole)

obvykle makro pro velikost statickeho pole:

Definition at line 67 of file cetnost-znaku-v-poli-retezcu2.c.

Function Documentation

int* vyskyty ( char *  texty[],
int  pocet,
char *  hledane 
)

h0nza: Hmm, argumenty jsou jako u main(int argc, char *argv[]), akorat 'blbe' poradi

Returns
malloc() int[], delky strlen(hledane)

Definition at line 33 of file cetnost-znaku-v-poli-retezcu2.c.

33  {
34  int *koliky;//pocitadla hledane[k] znak
35  int kolik;//pocitadlo vyskytu znaku
36  char hledany;
37  int i,j,k;//index v texty a retezci texty[i] a hledane[k]
38  int hledanych=strlen(hledane);
39 
40  koliky = (int*)malloc(hledanych * sizeof(int *));
41  for(k=0; k<hledanych; k++) {
42  hledany=hledane[k];
43  kolik=0;
44  for(i=0; i<pocet; i++) {
45  for(j=0; texty[i][j] != '\0'; j++) {
46  if (texty[i][j]==hledany) {
47  kolik++;
48  }
49  }
50  }
51  koliky[k]=kolik;
52  }
53  return koliky;
54 }