Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Translate this program to c++ please C Implementation #include <stdio.h> #includ

ID: 3561170 • Letter: T

Question

Translate this program to c++ please

C Implementation

#include <stdio.h>
#include <stdlib.h>
#include <cmath.h>

typedef struct charPtr{
int arr[20];
char** charr[20];
}charPtr;

int f( int n ){
if(n == 21)
return ;
else{
if(n == 0)
return 2900;
else
return 2*f(n-1);
}
}

int main(){
  
int i, mc, sc, sc2, index, dindex = -1; // main choice, sub choice, index & deleted index
char *temp;
charPtr* cp = (charPtr*) malloc (sizeof(charPtr));
  

// initialization
for( i = 0; i < 20; i++){
// initialize integer array
cp->arr[i] = f(i);
  
// initialize char array
cp->charr[i] = (char*) malloc (sizeof(char));
*(cp->charr[i]) = 'A' + abs(rand()%20 - i);
//printf("%c ",*(cp->charr[i]));
}
  
do{
dindex = -1;
printf(" Main menu");
printf(" 1. Access pointer");
printf(" 2. Exit program ");
printf(" Enter choice : ");
scanf("%d", &mc);
  
switch(mc){
case 1:
printf(" Enter index of array to manipulate: ");
scanf("%d", &index);
  
if(index < 1 || index > 20){
printf(" Valid index: 1 - 20 ");
  
}else{
  
printf(" 1. Display 10 random characters.");
printf(" 2. Delete all the characters associated with this pointer, ");
printf(" 3. Return to main menu. ");
  
do{
printf(" Enter choice : ");
scanf("%d", &sc);
  
switch(sc){
case 1:
printf(" Enter starting location : ");
scanf("%d", &sc2);
if(dindex != -1)
printf(" Missing character at %d ", dindex+1);

printf(" ");
for(i = sc2-1; i < 20; i++){
if(i == dindex){
// initialize the deleted index
printf(" ");
realloc (cp->charr[i], sizeof(char));
*(cp->charr[i]) = 'A' + abs(rand()%20 - i);
dindex = -1;
}else{
printf("%c ",*(cp->charr[i]));
}
}
printf(" ");
break;
case 2:
free(cp->charr[index-1]);
printf(" Character pointer at index %i deleted. ", index);
dindex = index-1;
break;
case 3:
break;
default:
printf(" Invalid choice.");
break;
}
}while(sc != 3);
}
break;
case 2:
free(cp);
printf(" Program terminated.");
break;
default:
printf(" Invalid choice.");
break;
}
}while(mc != 2);
return 0;
}

Explanation / Answer

#include <iostream>
#include <stdlib.h>
#include <math.h>
typedef struct charPtr{
int arr[20];
char** charr[20];
}charPtr;
int f( int n ){
if(n == 21)
return 0;
else{
if(n == 0)
return 2900;
else
return 2*f(n-1);
}
}
int main(){

int i, mc, sc, sc2, index, dindex = -1; // main choice, sub choice, index & deleted index
char *temp;
charPtr* cp = (charPtr*) malloc (sizeof(charPtr));

// initialization
for( i = 0; i < 20; i++){
// initialize integer array
cp->arr[i] = f(i);

// initialize char array
cp->charr[i] = (char*) malloc (sizeof(char));
*(cp->charr[i]) = 'A' + abs(rand()%20 - i);
//printf("%c ",*(cp->charr[i]));
}

do{
dindex = -1;
cout<<" Main menu";
cout<<" 1. Access pointer";
cout<<" 2. Exit program ";
cout<<" Enter choice : ";
cin>>mc;

switch(mc){
case 1:
cout<<" Enter index of array to manipulate: ";
cin>>index;

if(index < 1 || index > 20){
cout<<" Valid index: 1 - 20 ";

}else{

cout<<" 1. Display 10 random characters.";
cout<<" 2. Delete all the characters associated with this pointer, ";
cout<<" 3. Return to main menu. ";

do{
cout<<" Enter choice : ";
cin>>sc;

switch(sc){
case 1:
cout<<" Enter starting location : ";
scanf("%d", &sc2);
if(dindex != -1)
cout<<" Missing character at ", dindex+1;
cout<<" ";
for(i = sc2-1; i < 20; i++){
if(i == dindex){
// initialize the deleted index
cout<<" ";
realloc (cp->charr[i], sizeof(char));
*(cp->charr[i]) = 'A' + abs(rand()%20 - i);
dindex = -1;
}else{
cout<<*(cp->charr[i]);
}
}
cout<<" ";
break;
case 2:
free(cp->charr[index-1]);
cout<<" Character pointer at index"<<i<<" deleted. "<<index;
dindex = index-1;
break;
case 3:
break;
default:
cout<<" Invalid choice.";
break;
}
}while(sc != 3);
}
break;
case 2:
free(cp);
cout<<" Program terminated.";
break;
default:
cout<<" Invalid choice.";
break;
}
}while(mc != 2);
return 0;
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote