Struct complex

Assignment Help C/C++ Programming
Reference no: EM13159816

A complex number can be represented by two parts, real and image. A series complex data can be organized as a group of elements by linked list, which is shown as below: struct Complex

{

float real; float image;

struct Complex *next;

};

  1. Complete the following functions.

struct Complex* Generate (float a, float b)

{

// return one new Complex node

}

void Push (struct Complex **source, struct Complex *newNode)

{

// create linked list data by "stack" creation,

// insert the newNode into the head of source.

// (backward linked list creation)

}

void Print (struct Complex *source)

{

// print out all linked list data as the form, A+Bi,

// and the related distance, |A+Bi|

}

  1. Complete the following functions.

void FrontBackSplit (struct Complex* source, struct Complex** front, struct Complex** back)

{

// Split the nodes of the given list into front and back halves,

// and return the two lists using the reference parameters.

// If the length is odd, the extra node should go in the front list.

// You will probably need special case code to deal with the

// (length <2) cases.

}

void Sort (struct Complex **source)

{

// sort the data of linked list source in increasing order of

// complex number distance

}

  1. Complete the following functions.

struct Complex* AppendMergeReal (struct Complex* source1,

struct Complex* source2)

{

// Merge two complex linked lists (source1 and source2) into

// union of real part of source1 and source2.

// For example, real part of source1 are {1 2 3 3 5}, and real part

// of source2 are {2 3 5 8 8 9}, the merged result are {1 2 3 3 5 8 8 9}.

}

  1. (Bonus) Complete the following functions.

void RecursiveReverse (struct Complex** source)

{

// Recursively reverses the given linked list by changing its .next

// pointers and its head pointer in one pass of the list.

}

Please verify your program by following test code

int main()

{

float data1_real[11]   = {3, 2, -5, -9,   7, 9, 4, -2,   4, -7, -7};

float data1_image[11] = {7, -8, -7, 5, -2, 4, 4, 3, -6, 7, 9};

struct Complex *newNode;

struct Complex *source1 = NULL, *dest = NULL;

struct Complex *front, *back; char c;

// Generate Complex data linked list with data1 for (int i=0; i<11; i++) {

newNode = Generate(data1_real[i], data1_image[i]); Push(&source1, newNode);

}

// print out complex data of source1 printf("Original data of source1:\n"); Print(source1);

// use FrontBackSplit() to divide source1 data into front part

// and back part, and print out these two split data FrontBackSplit(source1, &front, &back); printf("\nFront part:\n");

print(front); pritf("\nBack part:\n"); print(back);

// sort input complex data according to the distance

// and print out sorted data of front and back individually printf("\nSorted front part:\n");

Sort(&front); Print(front);

printf("\nSorted back part:\n"); Sort(&back);

Print(back);

printf("\n=====================================================\n");

// sorted data according to real part

float

data2_real[6] = { 2,

3,

5,

9,

9, 9};

float

data2_image[6] = { 7,

-8,

-7,

5,

-2, 4};

float

data3_real[8] = { 3,

4,

5,

5,

6, 8, 9, 9};

float

data3_image[8] = {-8,

5,

-2,

4,

7, 9, 3, 4};

struct Complex *source2 = NULL, *source3 = NULL; struct Complex *result;

// Generate Complex data linked list with data2 and data3 for (int i=5; i>=0; i--) {

newNode = Generate(data2_real[i], data2_image[i]); Push(&source2, newNode);

}

for (int i=7; i>=0; i--) {

newNode = Generate(data3_real[i], data3_image[i]); Push(&source3, newNode);

}

// Verify AppendMergeReal() function and print out the result printf("\nOriginal data of source2:\n");

Print(source2);

printf("\nOriginal data of source3:\n"); Print(source3);

printf("\nMerged data of source2 and source3:\n"); result = AppendMergeReal(source2, source3); Print(result);

// Reverse merged data of source2 and source3 and print out the result printf("\nReverse test (merged data):\n"); RecursiveReverse(&result);

Print(result);

getch(); return 1;

}

Reference no: EM13159816

Questions Cloud

Access control models : Compare and contrast access control models. Select an access control model that best prevents unauthorized access for each of the five scenarios given below
Importance of making critical evaluations of news stories : Write a 350- to 700-word paper clarifying the importance of making critical evaluations of news stories. Use the following questions to help develop your paper:
How natural selection works on individuals : Include a real or hypothetical example ofthe process of natural selection in your answer other thaninsects and insecticide!Identify the specific natural selection pressure and the specifictrait being selected for in your example.
Explain what is the overall order of the reaction : A reaction in which A,B ,C and react to form products is first order in A, second order in B, and zero order in C. What is the overall order of the reaction?
Struct complex : A complex number can be represented by two parts, real and image. A series complex data can be organized as a group of elements by linked list, which is shown as below: struct Complex
Run in the forward direction to restablish equilibrium : Run in the forward direction to restablish equilibrium. B. Run in the reverse direction to restablish equilibrium. C. Remain the same. Already at equilibrium. The concentration of CO will: A. Increase. B. Decrease. C. Remain the same
Design the logic for a program : Using Visual Logic: Design the logic for a program that allows a user to entry 15 numbers, then displays each number and its difference from the numeric average of the numbers entered.
What is the maximum mass of molybdenum : The elements silver, molybdenum, and sulfur combine to form Ag2MoS4. What is the maximum mass of Ag2MoS4 that can be obtained if 8.63 g of silver
Define and explains an open system : Defines and explains a closed system and provides an example. Defines and explains an open system and provides an example. Explains the inner and outer flows of a closed system. Explains the inner and outer flows of an open system.

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Design and implement a library system

Design and implement a library system that does the following: ? Takes details of a student/library users: first name, last name, other names, user ID number, and nationality.

  Functions to compute stress and strain in steel rod

Write a main function and the following functions to compute the stress and strain in a steel rod of diameter D (inches) and length L (inches) subject to the compression loads P of 10,000 to 1,000,000 pounds.

  C assignment of curl library

C Assignment Curl library must be used To be done on linux, it should be compiled using the following command: gcc -Wall -ansi -pedantic NameOfFile.c -lncurses Please make sure it is commented with clarification Variable names in camel case

  C program to compute parking fare for customers

Write C program to compute parking fare for customers who park their cars in parking lot when following information is provided: A character showing type of vehicle: C for car, B for bus and T for truck

  Prepare an accounting for a dorm''s kitchen

The "purpose" of the program is to prepare an accounting (database) for e.g. a dorm's kitchen, to keep track of the consumption of beer for each room.

  Write program in c to calculate diameter-compression load

Write a program in C to calculate diameter in centimeters of steel rod, an aluminum rod, and a copper rod, which can withstand a particular compression load.

  Design a nested program

How many levels of nesting are there in this design?

  Write two short c programs and solve exam-style problem

Write two short C programs and solve four exam-style problems.

  Prepare a linear support vector machine svm

Write a computer program to prepare a Linear Support Vector Machine SVM

  Prepare a linux shell

Prepare a linux shell (in other words, write a C/C++ program) that will recursively prompt for input from the user. The shell should prompt as

  Pros and cons of choosing two servers

Classify the two alternatives in terms of what type of application architecture they use. b. Outline the pros and cons of the two alternatives and make a recommendation to Fred about which is better.

  Write a program that will be used to gather statistical data

Write a program that will be used to gather statistical data about the number of movies

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd