C++ Coding Assignment: Redo the 8 queens 1-dimensional array program with backtracking by REMOVING ALL GOTO's, but implementing the same algorithm. GIVEN C++ CODE - WITH GOTO's: #include using namespace std; int main() {   int q[8], c=0;   q[0] = 0; // place a queen in row 0 of column 0   int counter = 0; // to count solutions                               // c: column as q[c]: row in column c   next_col:   ++c; // or c++;            // next column   if(c==8) goto print;   q[c]=-1; // 0   next_row:   ++q[c]; // or q[c]++;                 // next row   if(q[c]==8) goto backtrack;   for(int i=0; i

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

C++ Coding Assignment: Redo the 8 queens 1-dimensional array program with backtracking by REMOVING ALL GOTO's, but implementing the same algorithm.

GIVEN C++ CODE - WITH GOTO's:

#include <iostream>
using namespace std;

int main() {

  int q[8], c=0;
  q[0] = 0; // place a queen in row 0 of column 0
  int counter = 0; // to count solutions
                              // c: column as q[c]: row in column c

  next_col:
  ++c; // or c++;
           // next column
  if(c==8) goto print;
  q[c]=-1; // 0

  next_row:
  ++q[c]; // or q[c]++;
                // next row
  if(q[c]==8) goto backtrack;
  for(int i=0; i<c; ++i)
    if(q[i]==q[c] || (c-i)== abs(q[c]-q[i])) // || = row test OR diagonal tests
      goto next_row;
    goto next_col;

  backtrack:
    --c; // or c--
    if(c==-1) // once we backtrack to column -1, we have all the solutions.
      return 0; // ends the program
    goto next_row;

  print:
    counter++; // new solutions
    cout << counter << ":" << endl;
    for(int i=0; i<8; i++)
      cout << q[i];
    cout << "\n" << endl;
    goto backtrack;
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 3 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY