Design an EmployeeInfo class that holds the following employee information: Employee ID Number: an integer Employee Name: a string then implement a binary tree whose nodes hold an instance of the EmployeeInfo class. The nodes should be sorted on the Employee ID number. Test the binary tree by inserting nodes with the following information.EmployeeID Number Name1021 John Williams1057 Bill Witherspoon2487 Jennifer Twain3769 Sophia Lancaster1017 Debbie Reece1275 George McMullen1899 Ashley Smith4218 Josh PlemmonsYour program should allow the user to enter an ID number, then search the tree for the number. If the number is found, it should display the employee’s name. If the node is not found, it should display a message indicating so.

Answers

Answer 1

To design an EmployeeInfo class that holds the following employee information: Employee ID Number: an integer Employee Name: a string then implement a binary tree whose nodes hold an instance of the EmployeeInfo class check the given code.

What is a class?

A class in object-oriented programming is a template definition of the method s and variables in a specific type of object. As a result, an object is a specific instance of a class that contains real values rather than variables.

The class is a key concept in object-oriented programming. Among the key concepts concerning classes are:

A class can have subclasses that inherit all or some of the class's characteristics. The class becomes the superclass in relation to each subclass.Subclasses can also define their own methods and variables that are not included in the superclass.The class hierarchy is the structure of a class and its subclasses.

 /*  *  C++ - Program

 *  Employee Database

 *  BST - Insertion and Searching

 */

 #include

<iostream>

#include

<string>

 using namespace std;

 struct Node

{

  int ID;

  string Name;

  Node *left;

  Node *right;

};

 Node

*newNode(int id, string name)

{

  Node *temp =  new Node;

  temp->ID = id;

  temp->Name = name;

  temp->left = temp->right = NULL;

  return temp;

}

 void preOrder(Node *root)

{

  if (root != NULL)

  {

    cout << root->ID << "\t\t" << root->Name << endl;

    preOrder(root->left);

    preOrder(root->right);

  }

}

 Node* insert(Node* node, int id, string name)

{

  if (node == NULL)

    return newNode(id, name);

   if (id < node->ID)

    node->left  = insert(node->left, id, name);

  else if (id > node->ID)

    node->right = insert(node->right, id, name);

   return node;

}

 bool search(Node* root, int id)

{

  if (root == NULL || root->ID == id)

  {

    cout << root->Name << endl;

    return true;

  }

   if (root->ID < id)

    return search(root->right, id);

   return search(root->left, id);

}

 int main()

{

  int idNum;

  Node *root = NULL;

  root = insert(root, 1021, "John Williams");

  insert(root, 1057, "Bill Witherspoon");

  insert(root, 2487, "Jennifer Twain");

  insert(root, 3769, "Sophia Lancaster");

  insert(root, 1017, "Debbie Reece");

  insert(root, 1275, "George McMullen");

  insert(root, 1899, "Ashley Smith");

  insert(root, 4218, "Josh Plemmons");

   cout << "Sorted Employee Database -" << endl;

  cout << "ID Number\tName" << endl;

  preOrder(root);

  cout << endl;

   cout << "Enter ID number to search: ";

  cin >> idNum;

  if (!search(root, idNum))

    cout << "Record not found";

   return 0; }

/*  Program ends here */

Learn more about class

https://brainly.com/question/14078098

#SPJ4


Related Questions


Spreadsheet software enables you to organize, calculate, and present numerical data. Numerical entries are called values, and the
instructions for calculating them are called.

Answers

Answer:

It's called coding frame

What are some areas in Computer Science that make use of multivariate statistical testing or MCM methods? Explain why they are used.

Answers

Explanation:

Computational modeling is one of the areas of Computer Science that uses mathematical systems to perform multivariate statistical tests to solve highly complex problems in multidisciplinary areas, such as medicine, engineering, science, etc.

An example of the use of multivariate statistical tests is social development research in social science, which uses multiple variables to find more hypotheses and greater coverage between variables.

Multivariate statistical tests have the benefit of making research more effective and providing a more systematic and real view of the study.

flow chart to read 50 numbers and print summation of even numbers only

Answers

The sum of terms in an arithmetic progression formula is used to get the sum of even numbers formula. Sum of Even Numbers Formula is written as n(n+1), where n is the total number of entries in the series.

What is print summation of even numbers only?

Python comes with a built-in method called sum() that adds up the values in the list. Syntax: sum (iterable, start) (iterable, start) Iterable:

Most importantly, iterable should be numbers. Start: This start is added to the total of the iterable's numbers.

Therefore, By definition, when a number is divided by two, there is never a remainder. There will therefore be no residue when it is added to another even integer.

Learn more about summation here:

https://brainly.com/question/29334900

#SPJ1

Multi-stage segmentation is the best form of segmentation for any organization. False False True

Answers

Multi-stage segmentation is the best form of segmentation for any organization: False.

What is geographic segmentation?

Geographic segmentation simply refers to a process that involves a business firm dividing its target market (consumers or customers) based on geographical location, so as to enable it tailor its marketing efforts efficiently and effectively.

What is multi-stage segmentation?

Multi-stage segmentation can be defined as a process through which business organizations (company or firms) divide its target market into multiple segments, so as to enable it target each of the segments with a different product (good) or message (information).

In conclusion, multi-stage segmentation is not considered as the best form of segmentation because it depends on the mission and vision of the organization.

Read more on geographic segmentation here: brainly.com/question/18103744

#SPJ1

Referring to narrative section 6.4.1.1. "Orders Database" in your course's case narrative you will:
1. Utilizing Microsoft VISIO, you are to leverage the content within the prescribed narrative to develop an Entit
Relationship Diagram (ERD). Make use of the 'Crow's Foot Database Notation' template available within VISIC
1.1. You will be constructing the entities [Tables] found within the schemas associated with the first letter of
your last name.
Student Last Name
A-E
F-J
K-O
P-T
U-Z
1.2. Your ERD must include the following items:
All entities must be shown with their appropriate attributes and attribute values (variable type and
length where applicable)
All Primary keys and Foreign Keys must be properly marked
Differentiate between standard entities and intersection entities, utilize rounded corners on tables for
intersection tables

.
Schema
1 and 2 as identified in 6.4.1.1.
1 and 3 as identified in 6.4.1.1.
1 and 4 as identified in 6.4.1.1.
1 and 5 as identified in 6.4.1.1.
1 and 6 as identified in 6.4.1.1.
.

Answers

The following is a description of the entities and relationships in the ERD  -

CustomersProductOrdersOrder Details

 How is  this so?

Customers is a standard entity that stores information about customers, such as their   name, address,and phone number.Products is a standard entity that stores information about products, such as their name, description, and price.Orders is an intersection   entity that stores information about orders, such as the customer who placed the order,the products that were ordered, andthe quantity of each product that was ordered.Order Details is an   intersection entity that stores information about the details of each order,such as the order date, the shipping address, and the payment method.

The relationships between the entities are as follows  -

A Customer   can place Orders.An Order can contain Products.A Product can be included inOrders.

The primary keys and foreign keys are as follows  -

The primary key for   Customers is the Customer ID.The primary key for Products is the Product ID.The primary key for Orders is the Order ID.The foreign key for   Orders is the Customer ID.The foreign key for Orders is theProduct ID.The foreign key for Order Details is the Order ID.The foreign key for Order Details is the Product ID

Learn more about ERD at:

https://brainly.com/question/30391958

#SPJ1

Which invention made it possible to have an entire computer for a single circuit board

Answers

Answer:

ok lang                                                    

Explanation:

What Is Red Hat OpenShift Deployment?

Answers

Red Hat OpenShift delivers a complete application platform for both traditional and cloud-native applications, allowing them to run anywhere

The faster an object is moving, the ________ the shutter speed needs to be in order to freeze motion.

Answers

Answer:

jkdsdjdshj,dfh.jhdfbhjf

Explanation:

bchSDCMHCXZ NHCXHBDSVCHDH,KC NBDBSDMJCBDBFD,JHCDSMNBBNCSCBFDNJCFJKC FMNSDNMSDFCH ĐS,CJDBS,CBSJBV,FJNDBFDSFDVBFĐDVFBVJFDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDHCD

The faster the shutter speed, the shorter the time the image sensor is exposed to light; the slower the shutter speed, the longer the time the image sensor is exposed to light. ... If you are photographing a subject that is in motion, you will get different effects at different shutter speeds.

You should use a shutter speed that is at least 1/500th of a second or higher. However, remember that fast shutter speeds may result in underexposed photographs.

Hope it helps you:)

Hydraulic pressure is the same throughout the inside of a set of brake lines. What determines the amount of resulting mechanical
force is the size of the piston in the wheel cylinder or caliper. For example: 100 psi of fluid pressure acting against a caliper piston
with 4 square inches of surface area will result in 400 lbs of clamping force.
A fluid line with 200 psi in it acting against a piston with 3 square inches of area would result in 600 lbs of force.
A fluid line with 50 psi acting on a larger piston with 12 square inches of surface area would result in 600 lbs of force, and so on...
How much fluid pressure would it take to lift a 6000 lb truck on a lift with a 60 quare inch piston (such as on an automotive lift)?
Give your answer and try to justify your answer using an equation or formula.. Pressure x surface area equals mechanical force,
or... force divided by surface area equals fluid pressure

Answers

Answer: 1000 square ponds of force hope you know the answer

Explanation: i guessed

True or false all foreign language results should be rated fails to meet

Answers

All foreign language results should be rated fails to meet is false.

Thus, A language that is neither an official language of a nation nor one that is often spoken there is referred to as a foreign language. Typically, native speakers from that country must study it consciously, either through self-teaching, taking language classes, or participating in language sessions at school.

However, there is a difference between learning a second language and learning a foreign language.

A second language is one that is widely used in the area where the speaker resides, whether for business, education, government, or communication. In light of this, a second language need not be a foreign language.

Thus, All foreign language results should be rated fails to meet is false.

Learn more about Foreign language, refer to the link:

https://brainly.com/question/8941681

#SPJ1

What types of input and output devices would be ideal for a college student completing his or her coursework?

Answers

A Mac book would be great for collage work

A college student would need a keyboard and a mouse as an input device and a screen and a monitor as an output device

What are the input/output devices?

In order to enter text, commands, and other sorts of data into a computer, a keyboard is a necessary input device. It consists of a group of keys set up in a certain arrangement, like the QWERTY layout that is found on the majority of keyboards.

A monitor is an output device that graphically displays information produced by the computer. It is also known as a display or screen. For dealing with the computer's operating system, programs, and material, it offers a visual interface. To satisfy varied needs, monitors are available in a variety of sizes, resolutions, and technologies (such as LCD or LED).

Learn more about input devices:https://brainly.com/question/13014455

#SPJ2

7.8 LAB: Palindrome A palindrome is a word or a phrase that is the same when read both forward and backward. Examples are: "bob," "sees," or "never odd or even" (ignoring spaces). Write a program whose input is a word or phrase, and that outputs whether the input is a palindrome.

Answers

Answer:

word = input("Write a word: ").strip().lower()

without_space = word.replace(" ","")

condition = without_space == without_space[::-1]

print("Is %s palindrome?: %s"%(word,condition))

7.8 LAB: Palindrome A palindrome is a word or a phrase that is the same when read both forward and backward.
7.8 LAB: Palindrome A palindrome is a word or a phrase that is the same when read both forward and backward.

I need help with my previous question please

Answers

I can’t find your previous question :(

PLEASE HURRY!!!
Look at the image below!

PLEASE HURRY!!!Look at the image below!

Answers

The value of category will be normal because the if statement is false and the first elif statement is false but the second elif statement is true.

6 + 7 = 7 + 6 is an example of which property of addition?

Answers

Answer:

commutative

Explanation:

The commutative property states that the numbers on which we operate can be moved or swapped from their position without making any difference to the answer.

Commutative Property of Addition

Assume that a signal is encoded using 12 bits. Assume that many of the encodings turn out to be either 000000000000, 000000000001, or 111111111111. We thus decide to create compressed encodings by representing 000000000000 as 00, 000000000001 as 01, and 111111111111 as 10. 11 means that an uncompressed encoding follows. Using this encoding scheme, if we decompress the following encoded stream:

00 00 01 10 11 010101010101

Required:
What will the decompressed stream look like?

Answers

Answer:

The following is the answer to this question:

Explanation:

In the binary digit

\(000000000000\) is equal to 0 bit

\(000000000001\) is equal to 1 bit

\(1 1 1 1 1 1 1 1 1 1 1 1\) is equal to 10

Similarly,

\(000000000010\)=11

Thus,

\(00 \ 00 \ 01 \ 10\ 010101010101\) is equal to

\(000000000000\), \(000000000000\), \(000000000001\) ,

\(000000000010\),  \(1 1 1 1 1 1 1 1 1 1 1 1\) , \(000000000001\) , \(000000000001\) , \(000000000001\) ,  

\(000000000001\) , \(000000000001\) , \(000000000001\)

who is the king of computers?

Answers

Answer: Bill Gate, who is known as the king of computer programs

Hope this helps!

Answer:

Professor Eric Roberts

Explanation:

Computer scientist

Whats the top Anime shows?

Answers

Answer:

my hero acidemia, parasyte, naruto, attack on titan, 7 deadly sins, one piece, and jojo

Explanation:

Answer:

This is personally based on my opinion.

My top 10 favorites

Toradora

Darling in the franxx

Lucky Star

My Melody

Death note

Attack on titans

One piece

The Promise neverland

Kaguya-sama: love is war

Black cover

numStudents is read from input as the size of the vector. Then, numStudents elements are read from input into the vector idLogs. Use a loop to access each element in the vector and if the element is equal to 4, output the element followed by a newline.

Ex: If the input is 6 68 4 4 4 183 104, then the output is:

4
4
4

Answers

Here's an example solution that uses a loop to access each element in the vector idLogs and outputs the elements equal to 4

How to write the output

#include <iostream>

#include <vector>

int main() {

   int numStudents;

   std::cin >> numStudents;

   std::vector<int> idLogs(numStudents);

   for (int i = 0; i < numStudents; i++) {

       std::cin >> idLogs[i];

   }

   for (int i = 0; i < numStudents; i++) {

       if (idLogs[i] == 4) {

           std::cout << idLogs[i] << std::endl;

       }

   }

   return 0;

}

Read more on Computer code here https://brainly.com/question/30130277

#SPJ1

The question below uses a robot in a grid of squares. The robot is represented as a triangle, which starts in the bottom left square of the grid facing up. The robot can move into any white square (including the numbered squares) but not into a black square.
The program below is intended to move the robot from its starting position on the left to the far right of the grid. It uses the procedure Square_Number () which returns the value of the number written on the square if there is one and returns 0 otherwise.
REPEAT UNTIL NOT (Square_Number ()=0)
{
IF (CAN_MOVE (right))
{
ROTATE_RIGHT ()
}
IF (CAN_MOVE (forward))
{
MOVE_FORWARD ()
}
IF (CAN_MOVE (left))
{
ROTATE_LEFT ()
}
}
What is the result of running the program?

Answers

The result of running the program is In middle, facing left. The simplest decision-making statement is the if statement in Java.

It is used to determine if a certain statement or block of statements will be performed or not, i.e., whether a block of statements will be executed if a specific condition is true or not.

Working:

The if block receives control.Jumping to Condition, the flow.The state is examined.Step 4 is reached if Condition yields true.Go to Step 5 if Condition produces a false result.The body within the if or the if-block is performed.The if block is exited by the flow.

To know more about Java click on the below link:

https://brainly.com/question/25458754

#SPJ4

In Java only please:
4.15 LAB: Mad Lib - loops
Mad Libs are activities that have a person provide various words, which are then used to complete a short story in unexpected (and hopefully funny) ways.

Write a program that takes a string and an integer as input, and outputs a sentence using the input values as shown in the example below. The program repeats until the input string is quit and disregards the integer input that follows.

Ex: If the input is:

apples 5
shoes 2
quit 0
the output is:

Eating 5 apples a day keeps you happy and healthy.
Eating 2 shoes a day keeps you happy and healthy

Answers

Answer:

Explanation:

import java.util.Scanner;

public class MadLibs {

   public static void main(String[] args) {

       Scanner input = new Scanner(System.in);

       String word;

       int number;

       do {

           System.out.print("Enter a word: ");

           word = input.next();

           if (word.equals("quit")) {

               break;

           }

           System.out.print("Enter a number: ");

           number = input.nextInt();

           System.out.println("Eating " + number + " " + word + " a day keeps you happy and healthy.");

       } while (true);

       System.out.println("Goodbye!");

   }

}

In this program, we use a do-while loop to repeatedly ask the user for a word and a number. The loop continues until the user enters the word "quit". Inside the loop, we read the input values using Scanner and then output the sentence using the input values.

Make sure to save the program with the filename "MadLibs.java" and compile and run it using a Java compiler or IDE.

Tyrell is required to find current information on the effects of global warming. Which website could he potentially cite as a credible source? Select four options.

a blog by an unknown person that accuses certain companies of contributing to pollution
a nonprofit website that provides information on how to clean up the environment
a recent newspaper article on global warming from a reputable news organization
a government website providing information on national efforts to investigate global warming
a magazine article about climate change in a respected scientific journal

Answers

Answer:

2345

Explanation:

Answer:

✔ a nonprofit website that provides information on how to clean up the environment

✔ a recent newspaper article on global warming from a reputable news organization

✔ a government website providing information on national efforts to investigate global warming

✔ a magazine article about climate change in a respected scientific journal

Explanation:

simplified version: 2345

Write the recurrence relation of the following recursive algorithm. What is the complexity
of the algorithm?
int Test(int n)
int result;
begin
if (n==1) return (1);
result = 1;
for i=1 to n do
result = result + Test(i-1);
return (result);
end

Answers

Answer:

The recurrence relation of the given recursive algorithm can be written as:T(n) = T(n-1) + 1 + T(n-2) + 1 + T(n-3) + 1 + ... + T(1) + 1where T(1) = 1The first term T(n-1) represents the recursive call of the function with input n-1, and the for loop executes n times, where for each i, it calls Test function with input i-1.To find the time complexity, we can expand the recurrence relation as follows:T(n) = T(n-1) + 1 + T(n-2) + 1 + T(n-3) + 1 + ... + T(1) + 1

= [T(n-2) + 1 + T(n-3) + 1 + ... + T(1) + 1] + 1 + [T(n-3) + 1 + T(n-4) + 1 + ... + T(1) + 1] + 1 + ...

= [T(n-2) + T(n-3) + ... + T(1) + (n-2)] + [T(n-3) + T(n-4) + ... + T(1) + (n-3)] + ...

= (1 + 2 + ... + n-1) + [T(1) + T(2) + ... + T(n-2)]

= (n-1)(n-2)/2 + T(n-1)Therefore, the time complexity of the algorithm can be written as O(n^2), because the first term is equivalent to the sum of the first n-1 integers, which is of order O(n^2), and the second term is T(n-1).

what is logic unit of a computer processing unit​

Answers

Answer:

Arithmetic logic unit

Explanation:

An arithmetic logic unit (ALU) is a digital circuit used to perform arithmetic and logic operations. It represents the fundamental building block of the central processing unit (CPU) of a computer. Modern CPUs contain very powerful and complex ALUs. In addition to ALUs, modern CPUs contain a control unit (CU).

2. It is the art of creating computer graphics or images in art, print media, video games.
ins, televisions programs and commercials.

Answers

the answer is CGI :)

Group dynamics differ according to the size of the group.
True
False

Answers

Uhm this one is confusing in group dynamics we need peoples too but it really doesn’t matter in big size even if there is just two people we can interact anyways I will go for true

Drag each tile to the correct box.
Match the job title to its primary function.
computer system engineer
online help desk technician
document management specialist
design and implement systems for data storage
data scientist
analyze unstructured, complex information to find patterns
implement solutions for high-level technology issues
provide remote support to users

Answers

The correct match for each job title to its primary function:

Computer System Engineer: Design and implement systems for data storage.

Online Help Desk Technician: Provide remote support to users.

Document Management Specialist: Implement solutions for high-level technology issues.

Data Scientist: Analyze unstructured, complex information to find patterns.

Who is a System Engineer?

The key responsibility of a computer system engineer is to develop and execute data storage systems. Their main concentration is on developing dependable and effective storage options that fulfill the company's requirements.

The primary duty of an online help desk specialist is to offer remote assistance to users, addressing their technical concerns and resolving troubleshooting queries.

The main responsibility of a specialist in document management is to introduce effective measures to address intricate technological matters pertaining to document security, organization, and retrieval.

Read more about data scientists here:

https://brainly.com/question/13104055

#SPJ1

Is there anything you should be doing and / or do better at home to make sure your computer is always clean and running efficiently?

Answers

Answer:

Using the proper computer equipment and regularly performing a few small maintenance activities will help to keep your computer running smoothly and efficiently.

Organize your installation disks

Protect Your Computer Equipment from Power Surges. ...

Defragment Your Hard Drive. ...

Check Your Hard Disk for Errors. ...

Backup Your Data.

Update everything

Clean up your software.

Run antivirus and spyware scans regularly.

Explanation:

Type the correct answer in the box. Spell the word correctly. A company has its branches spread over five places in a state. It has become difficult for employees to transfer information and to collaborate on the work schedule. What can the company do to overcome this drawback? The company can implement a(n) ________ which is an internal network used to connect employees of a company on a single site to enable collaborative tasks and to update work status.​

Answers

Answer:

saving

Explanation:

A technician receives notifications from a SOHO router manufacturer of a specific vulnerability that allows attackers to exploit SNMP traps to take over the router. The technician verifies the settings outlined in the notification.
Which of the following actions should the technician take next?
check for and apply firmware updates

Answers

The technician should check for firmware updates and apply them next.

What is a router manufacturer?

The path to travel while transforming components and raw materials into a finished product during each stage of the manufacturing process is referred to as routing manufacture, also known as production routings.

Routings are used by manufacturing businesses to visualize and control the manufacturing process.

Process scheduling, capacity planning, the scheduled assignment of material requirements, and production records all depend on routing.

Hence, The technician should check for firmware updates and apply them next.

learn more about router manufacturer click here:

brainly.com/question/15851772

#SPJ4

Other Questions
Given the ordered pair of (5,6), (3,2) (1, -2) and (-1,-6), what domain isrepresented? What event was the key to the French defeat in the Seven Years War (French and Indian War)?the Iroquois attack on Lake Ontariothe alliance of the Iroquois with the Frenchthe British attack on Quebecthe French attack on Louisbourg For which of the following graphs is y a function of x consider lifting a box of mass m to a height h using two different methods: lifting the box directly or lifting the box using a pulley (as in the previous part). what is wd/wp , the ratio of the work done lifting the box directly to the work done lifting the box with a pulley? express the ratio numerically. How many moles of FeCl3 could be produced from 6.1 moles of Cly?2 Fe + 3Cl2 > 2 FeCl2 Janice is drawing a rough sketch of the crime scene. In which direction should the top of the page point? Janice should ensure that the top of the page points Which of the following chemicals, found in tobacco smoke, is also found in nail polish remover? Acronym for the US Pro soccer organization Given that PV = nRT, which of the following samples contains the largest number of particles? STP = 0C and 1 atm.A. 2.0 L H2 at STP b. 2.0 L N2 at STP C. 2.0 L H2 at 25C and 760 torr d. 2.0 L N2 at 0C and 900 torr e. 2.0 L Dia at STP How do you prove two triangles are congruent to each other? Select the correct answer.What is energy?A. a change that appears in an object when force is applied B. the property of a body that gives it massC. the amount of heat produced by a body D. the ability of an object to undergo changeE. the ability of a body to move Which of these is a 3D tool Geographers use to study the world around them? The restaurant industry employed _____ people in the United States in 2010. Read the excerpt from Crossing Brooklyn Ferry.The others that are to follow me, the ties between me and them,The certainty of others, the life, love, sight, hearing of others.Others will enter the gates of the ferry and cross from shore to shore,Others will watch the run of the flood-tide,Others will see the shipping of Manhattan north and west, and theheights of Brooklyn to the south and east,Which idea does Walt Whitman evoke by repeating Others will?Throughout history, people have taken rides on the same ferry as the narrator.Many of the narrators friends and family will enjoy riding the ferry as well.Many people will take the ferry and have an experience similar to the narrators.The experiences of the narrator on the ferry will not be felt by anyone else. Distributive property with variables (negative numbers) 5 stars to correct answersHave a wonderful day! Which authors novel was inspired by the Kiowa migration from the black hills of Wyoming to the Great Plains schools teach children many different things and are integral to the socialization process in more latent ways, exemplified by their emphasis on: This Question Is On The Biblematch the followingabout his disciples The bubble sort is an easy way to arrange data in ascending order but it cannot arrange data in descending order. group of answer choices true false A fossilized leaf contains 33% of its normal amount of carbon 14. How old is the fossil (to the nearest year)? Use5600 years as the half-life of carbon 14.