Fatal division by zero attempted


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Fatal division by zero attempted
# 1  
Old 11-01-2019
Fatal division by zero attempted

Hello. I'm writing an awk script that looks at a .csv file and calculates the weighted grade based on the scores and categories in the file. I keep getting a fatal division by zero attempted error and I know what it means but I've been looking over the code for awhile and am not sure what is causing it. Here is the code that I have:


Code:
BEGIN{
FS = ","
print "Name\tPercent\tLetter"
a=0
}

{

if(a==0){
        a+=1
}

else{
        sum[$1] += $4
        total[$1] += $5
        students[$1]++
        category[$2]++
}
}

END{

for (student in students){
        Homework=(sum[$1"Homework"]/total[$1"Homework"])*0.10
        Lab=(sum[$1"Lab"]/total[$1"Lab"])*.30
        Final=(sum[$1"Final"]/total[$1"Final"])*.15
        Quiz=(sum[$1"Quiz"]/total[$1"Quiz"])*.40
        Survery=(sum[$1"Survey"]/total[$1"Survey"])*.05
        total=Homework+Lab+Final+Quiz+Survey
}


printf "%s\t%.2f\t",student, total

if(total>=90 && total<=100)
        print "A";

else if(total>=80 && total<90)
        print "B";

else if(total>=70 && total<80)
        print "C";

else if(total>=60 && total<70)
        print "D";

else
        print "E"

}

# 2  
Old 11-01-2019
Data?


Your indices don't seem to be consistent.
# 3  
Old 11-01-2019
as soon as I posted I saw the error. Should ha e been sum[$1$2] and not [$1]. However, I am now getting the error "fatal: attempt to use array `total' in a scalar context"
# 4  
Old 11-01-2019
why are you using total in 2 diff context?
Code:
        total[$1] += $5

and
Code:
       total=Homework+Lab+Final+Quiz+Survey

Also sum[$1] += $4 is indexed by a single index - not by $1$2
This User Gave Thanks to vgersh99 For This Post:
# 5  
Old 11-01-2019
DON'T start two threads for the same problem.


See your other thread.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. What is on Your Mind?

PHP Fatal Errors During SSL Cert Management - PHP Fatal error: xc_fcntl_mutex failed

Today, I noticed some errors in our SSL cert renewal log files, mostly related to domains where the IP address had changed. Concerned about this, rebuilt out SSL cert, which normally goes well without a hiccup. However, for today, for some reason which I cannot explain, there was a PHP error... (0 Replies)
Discussion started by: Neo
0 Replies

2. Shell Programming and Scripting

Division by zero attempted error during linear conversion of values between 0.25 to 1

I want to implement the below formula with awk oneliner new_value = ((old_value - old_min) / (old_max - old_min) ) * (new_max - new_min) + new_min I want to pass the value of old_min and old_min as variable. Here is what I did for this old_min=$(awk 'BEGIN{a=100000000000}{if ($10<0+a) a=$10}... (2 Replies)
Discussion started by: sammy777888
2 Replies

3. Shell Programming and Scripting

awk fatal:division by zero attempted bypass with a condtion

Hi Friends, My input chr1 100 200 1234E-02 0.01 0.05 10 chr1 100 200 14E-11 0.11 0.50 1 chr1 100 200 134E-22 0.00 0.65 111 My command awk '{print $1"\t"$2"\t"$3"\t"$4"\t"$5"\t"$6"\t"$13}' input | awk '{v=($5/$6); print $0"\t"v}' OFS="\t" | awk '{$8=(log($8)/log(2)); print $0}'... (4 Replies)
Discussion started by: jacobs.smith
4 Replies

4. Shell Programming and Scripting

Awk: cmd. line:1: fatal: division by zero attempted

when i try the snippet in the console its working fine: ps awwwux | grep php-fpm | grep -v grep | grep -v master | awk '{total_mem = $6 * 1024 + total_mem; total_proc++} END{printf("%d\n", total_mem / total_proc)}' output: but when i try the bash script: #!/bin/sh # -*- sh -*- #... (3 Replies)
Discussion started by: danieloooo
3 Replies

5. UNIX for Dummies Questions & Answers

Help in division

hi, The below commands result only the whole number(not giving the decimal values). pandeeswaran@ubuntu:~$ echo 1,2,3,4|sed 's/,/\//g'|bc 0 pandeeswaran@ubuntu:~$ echo 1000,2,3|sed 's/,/\//g'|bc 166 How to make it to return the decimal values? Thanks (5 Replies)
Discussion started by: pandeesh
5 Replies

6. Shell Programming and Scripting

division by zero

Hello, I am searching for a way to calculate for example 10/100 within a shellscript and the result should be 0.1 and not just 0. Every alternative i tried just results 0 Thank you in advance 2retti (6 Replies)
Discussion started by: 2retti
6 Replies

7. Shell Programming and Scripting

awk error message: division by zero attempted

Hi, I'm executing unixbench tool v4.1 on an embedded system and I'm getting these error messages: Execl Throughput 1 2 3awk: /unixbench/unixbench-4.1.0/pgms/loops.awk:38: (FILENAME=- FNR=4) fatal: division by zero attempted Pipe Throughput 1 2 3 4 5 6 7 8 9 10awk:... (3 Replies)
Discussion started by: rogelio
3 Replies

8. Shell Programming and Scripting

error "awk: (FILENAME=- FNR=23) fatal: division by zero attempted"

Hi , I have file : after i run this command : there are error can we print blank line if output error ?? thanks.. ^^ (4 Replies)
Discussion started by: justbow
4 Replies

9. UNIX for Dummies Questions & Answers

Help with a question i have attempted to figure out

Thought i should start this has a new thread. i am stuck on the following question, but after learning more unix, i have written an answer to it. Can anyone check to see if it is correct and what improvements need to be made? Question: Write a pipeline that updates the content of a file (a... (0 Replies)
Discussion started by: Vn3050
0 Replies
Login or Register to Ask a Question