/*
- za branje vebine serijskega predpomnilnika uporabi funkcijo Serial.readBytesUntil()
- za brisanje seznama uporabi funkcjo memset()
- za razdelitev niza znakov glede na vejice uporabi funkcijo strtok()
- za pretvorbo stringa v celo šetevilo uporabi funkcijo atol()
- določi najmanjšo in največjo vrednost stevilkw v seznamu števil
*/
#define BUFFER_SIZE 50
char buffer[BUFFER_SIZE];
long seznamStevilk[BUFFER_SIZE];
int indeks = 0;
void setup() {
Serial.begin(9600);
Serial.println("Vpiši niz znakov ločenih z vejico: ");
}
void loop() {
if(Serial.available()){
memset(buffer,0,sizeof(buffer));
Serial.readBytesUntil('\n',buffer, BUFFER_SIZE);
char * token = strtok(buffer,",");
while(token != NULL){
seznamStevilk[indeks] = atol(token);
token = strtok(NULL,",");
indeks++;
}
// izpis seznamStevilk
Serial.println("Seznam shranjenih stevilk: ");
for(int i = 0; i < indeks; i++){
Serial.println(seznamStevilk[i]);
Serial.print(",");
}
Serial.println();
long MIN_stevilka = seznamStevilk[0];
long MAKS_stevilka = seznamStevilk[0];
for(int x = 0; x < indeks; x++){
if(seznamStevilk[x] > MAKS_stevilka) MAKS_stevilka = seznamStevilk[x];
if(seznamStevilk[x] < MIN_stevilka) MIN_stevilka = seznamStevilk[x];
}
Serial.print("Največja številka: "); Serial.print(MAKS_stevilka);
Serial.println();
Serial.print("Najmnajša številka: "); Serial.print(MIN_stevilka);
memset(seznamStevilk,0,sizeof(seznamStevilk));
indeks = 0;
}
}