summaryrefslogtreecommitdiffstats
path: root/inf/rtk/2021-šolsko-delo/dos/1.c
diff options
context:
space:
mode:
authorsijanec <anton@sijanec.eu>2021-01-29 15:55:11 +0100
committersijanec <anton@sijanec.eu>2021-01-29 15:55:11 +0100
commit6ed97cd75fcb6aaf85b2d9838b8ce75786f5ae71 (patch)
tree6f7de902b63721a9f96335cdb5046501986f5f3b /inf/rtk/2021-šolsko-delo/dos/1.c
parentvse, razen zadnje naloge nem (diff)
downloadsola-gimb-2-6ed97cd75fcb6aaf85b2d9838b8ce75786f5ae71.tar
sola-gimb-2-6ed97cd75fcb6aaf85b2d9838b8ce75786f5ae71.tar.gz
sola-gimb-2-6ed97cd75fcb6aaf85b2d9838b8ce75786f5ae71.tar.bz2
sola-gimb-2-6ed97cd75fcb6aaf85b2d9838b8ce75786f5ae71.tar.lz
sola-gimb-2-6ed97cd75fcb6aaf85b2d9838b8ce75786f5ae71.tar.xz
sola-gimb-2-6ed97cd75fcb6aaf85b2d9838b8ce75786f5ae71.tar.zst
sola-gimb-2-6ed97cd75fcb6aaf85b2d9838b8ce75786f5ae71.zip
Diffstat (limited to 'inf/rtk/2021-šolsko-delo/dos/1.c')
-rw-r--r--inf/rtk/2021-šolsko-delo/dos/1.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/inf/rtk/2021-šolsko-delo/dos/1.c b/inf/rtk/2021-šolsko-delo/dos/1.c
new file mode 100644
index 0000000..42b8402
--- /dev/null
+++ b/inf/rtk/2021-šolsko-delo/dos/1.c
@@ -0,0 +1,35 @@
+#include <stdio.h>
+
+int Izenaceno (char * s) { /* 0 ce ni izenaceno, 1, ce je izenaceno */
+ int c = 0; /* pozicija na nizu */
+ int k = 0; /* razlika med stevilom xov */
+ while (s[c] != '\0') { /* hodimo po nizu O(n) */
+ switch (s[c]) { /* pregledamo znak */
+ case 'x':
+ k++; /* povecamo relativno stevilo xov */
+ break;
+ case 'o':
+ k--; /* zmanjsamo relativno stevilo xov */
+ break;
+ default: /* ni niti o niti x */
+ return 0;
+ }
+ if (c >= 2 /* ce sta vsaj dva znakam, da preprecimo segmentation violation */
+ && s[c] == s[c-1] && s[c] == s[c-2]) /* ce so trije po vrsti enaki */
+ return 0;
+ c++;
+ }
+ if (k != 0) /* ce xov ni enako kot ojev */
+ return 0;
+ return 1;
+}
+#if __INCLUDE_LEVEL__ == 0 /* da je lahko podprogram uporabljen kot knjiznica */
+int main (int argc, char ** argv) {
+ if (argc != 1+1) {
+ fprintf(stderr, "uporaba: %s niz\n", argv[0]); /* potrebujemo vhodni niz */
+ return 1; /* napaka */
+ }
+ fprintf(stderr, "zaporedje %s izenaceno\n", Izenaceno(argv[1]) ? "je" : "ni"); /* posredujemo odgovor podprograma */
+ return 0;
+}
+#endif