COP 3502 Section 4 Lab Assignment # 4 An alternate method of storing a string is to store each letter of the string in a single node of a linked list, with the first node of the list storing the first letter of the string. Using this method of storage, no null character is needed since the next field of the node storing the last letter of the string would simply be a null pointer. In this program, you are going to complete the missing below functions in the attached C-file. This program reads the input from the attached input.txt file in the following format: 3 6 abcdef 4 1234 2 cm When the chars "abcdef" are read, your program will construct a linked list as follows: head 1 a b 13 13 с You are going to implement the following functions: int length (node* head) 13 d e f char* toCString(node* head) void insertChar (node** pHead, char c) void deletelist (node** pHead) Once you are done, please upload the C-file. We are going to compile and run your C-file to grade. N

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
Output in C please String is: abcdef String is: 1234 String is: cm I can’t get my code to output the strings
**Course: COP 3502 Section 4**
**Lab Assignment #4**

An alternate method of storing a string is to store each letter of the string in a single node of a linked list, with the first node of the list storing the first letter of the string. Using this method of storage, no null character is needed since the next field of the node storing the last letter of the string would simply be a null pointer.

In this program, you are going to complete the missing functions in the attached C-file.

### Input Format
This program reads the input from the attached input.txt file in the following format:

```
3
6
abcdef
4
1234
2
cm
```

### Linked List Construction
When the chars “abcdef” are read, your program will construct a linked list as follows:

```
head -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> NULL
```

### Functions to Implement
You are going to implement the following functions:

```c
int length(node* head)
```

```c
char* toCString(node* head)
```

```c
void insertChar(node** pHead, char c)
```

```c
void deleteList(node** pHead)
```

Once you are done, please upload the C-file. We are going to compile and run your C-file to grade.

### Diagram Explanation
The diagram illustrates a singly linked list where each node contains a single character and a reference to the next node. The `head` points to the first node containing 'a', which references the next node containing 'b', and so on until the last node containing 'f', which points to NULL signifying the end of the list. This visual representation helps in understanding the storage of the string "abcdef" in the linked list structure.
Transcribed Image Text:**Course: COP 3502 Section 4** **Lab Assignment #4** An alternate method of storing a string is to store each letter of the string in a single node of a linked list, with the first node of the list storing the first letter of the string. Using this method of storage, no null character is needed since the next field of the node storing the last letter of the string would simply be a null pointer. In this program, you are going to complete the missing functions in the attached C-file. ### Input Format This program reads the input from the attached input.txt file in the following format: ``` 3 6 abcdef 4 1234 2 cm ``` ### Linked List Construction When the chars “abcdef” are read, your program will construct a linked list as follows: ``` head -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> NULL ``` ### Functions to Implement You are going to implement the following functions: ```c int length(node* head) ``` ```c char* toCString(node* head) ``` ```c void insertChar(node** pHead, char c) ``` ```c void deleteList(node** pHead) ``` Once you are done, please upload the C-file. We are going to compile and run your C-file to grade. ### Diagram Explanation The diagram illustrates a singly linked list where each node contains a single character and a reference to the next node. The `head` points to the first node containing 'a', which references the next node containing 'b', and so on until the last node containing 'f', which points to NULL signifying the end of the list. This visual representation helps in understanding the storage of the string "abcdef" in the linked list structure.
Sure! Here is the transcription of the provided image, formatted for an educational website:

---

## Linked List Operations in C

### Header Files
```c
#include <stdio.h>
#include <stdlib.h>
```

### Node Structure
```c
typedef struct node {
    char letter;
    struct node* next;
} node;
```

### Function to Return Number of Nodes in Linked List
```c
int length(node* head) {
    // Function implementation
}
```

### Function to Convert Linked List to String
```c
// Parses the string in the linked list
// If the linked list is head -> |a|->|b|->|c|
// then toCString function will return "abc"
char* toCString(node* head) {
    // Function implementation
}
```

### Function to Insert Character into Linked List
```c
// Inserts character to the linked list
// If the linked list is head -> |a|->|b|->|c|
// then insertChar(&head, 'x') will update the linked list as follows:
// head -> |a|->|b|->|c|->|x|
void insertChar(node** pHead, char c) {
    // Function implementation
}
```

### Function to Delete All Nodes in Linked List
```c
void deleteList(node** pHead) {
    // Function implementation
}
```

### Main Function
```c
int main(void) {
    int i, strLen, numInputs;
    node* head = NULL;
    char* str;
    char c;
    FILE* inFile = fopen("input.txt", "r");

    fscanf(inFile, "%d\n", &numInputs);

    while (numInputs-- > 0) {
        fscanf(inFile, "%d\n", &strLen);
        for (i = 0; i < strLen; i++) {
            fscanf(inFile, " %c", &c);
            insertChar(&head, c);
        }

        str = toCString(head);
        printf("String is : %s\n", str);

        free(str);
        deleteList(&head);

        if (head != NULL) {
            printf("deleteList is not correct!");
            break;
        }
    }

    fclose(inFile);
    return 0;
}
```

### Explanation of Functions

1. **length(node* head)**:
   - This
Transcribed Image Text:Sure! Here is the transcription of the provided image, formatted for an educational website: --- ## Linked List Operations in C ### Header Files ```c #include <stdio.h> #include <stdlib.h> ``` ### Node Structure ```c typedef struct node { char letter; struct node* next; } node; ``` ### Function to Return Number of Nodes in Linked List ```c int length(node* head) { // Function implementation } ``` ### Function to Convert Linked List to String ```c // Parses the string in the linked list // If the linked list is head -> |a|->|b|->|c| // then toCString function will return "abc" char* toCString(node* head) { // Function implementation } ``` ### Function to Insert Character into Linked List ```c // Inserts character to the linked list // If the linked list is head -> |a|->|b|->|c| // then insertChar(&head, 'x') will update the linked list as follows: // head -> |a|->|b|->|c|->|x| void insertChar(node** pHead, char c) { // Function implementation } ``` ### Function to Delete All Nodes in Linked List ```c void deleteList(node** pHead) { // Function implementation } ``` ### Main Function ```c int main(void) { int i, strLen, numInputs; node* head = NULL; char* str; char c; FILE* inFile = fopen("input.txt", "r"); fscanf(inFile, "%d\n", &numInputs); while (numInputs-- > 0) { fscanf(inFile, "%d\n", &strLen); for (i = 0; i < strLen; i++) { fscanf(inFile, " %c", &c); insertChar(&head, c); } str = toCString(head); printf("String is : %s\n", str); free(str); deleteList(&head); if (head != NULL) { printf("deleteList is not correct!"); break; } } fclose(inFile); return 0; } ``` ### Explanation of Functions 1. **length(node* head)**: - This
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 4 images

Blurred answer
Knowledge Booster
Linked List Representation
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education