Skip to content

Instantly share code, notes, and snippets.

@unaipme
Created October 30, 2017 21:38
Show Gist options
  • Save unaipme/dad1eb82c7b8ff1c5c5a2636a7aaeb0d to your computer and use it in GitHub Desktop.
Save unaipme/dad1eb82c7b8ff1c5c5a2636a7aaeb0d to your computer and use it in GitHub Desktop.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int zerrendaIrakurri(float b[]);
int errepikatuGabeKopiatu(float bOrg[], int dim, float bDest[]);
int bilatuTartean(float b[], int hasiera, int amaiera, float elementu);
void zerrendaPantailaratu(float b[], int dim);
int main()
{
int zenbatOrg, zenbatDest;
float bOrg[50], bDest[50];
printf("Sartu zenbaki zerrenda bat. 0 sartu bukatzeko: ");
zenbatOrg = zerrendaIrakurri(bOrg);
zenbatDest = errepikatuGabeKopiatu(bOrg, zenbatOrg, bDest);
printf("Hau da zerrenda originala: ");
zerrendaPantailaratu(bOrg, zenbatOrg);
printf("Hau da zerrenda berria: ");
zerrendaPantailaratu(bDest, zenbatDest);
printf("Sakatu intro bukatzeko...");
getchar();
return 0;
}
int zerrendaIrakurri(float b[]) {
float n;
int i = 0;
char str[126];
do {
fgets(str, 126, stdin);
sscanf(str, "%f", &n);
if (n != 0) {
b[i++] = n;
}
} while (n != 0);
return i;
}
void zerrendaPantailaratu(float b[], int dim) {
int i;
for (i = 0; i<dim; i++) {
printf("%.3f ", b[i]);
}
printf("\n");
}
int errepikatuGabeKopiatu(float bOrg[], int dim, float bDest[]) {
int posizioaDest = 0, i;
for (i = 0; i<dim; i++) {
if (!bilatuTartean(bDest, 0, posizioaDest, bOrg[i])) {
bDest[posizioaDest++] = bOrg[i];
}
}
return posizioaDest;
}
int bilatuTartean(float b[], int hasiera, int amaiera, float elementu) {
int i;
for (i = hasiera; i<amaiera; i++) {
if (b[i] == elementu) return 1;
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment