
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
expand_more
expand_more
format_list_bulleted
Question
Task 1: Understanding strcpy and Array Bounds
1. Run the following Cprogram :
#include <string.h>
#include <stdio.h>
int main() {
char str[10];
int i = 0;
strcpy(str, "012345678");
for (i = 0; i < 1000000; i++) {
printf("%c", str[i]);
}
return 0;
}
• When you compile and execute the program, you may encounter compiler warnings.
• Observe the program's output and explain what you see and why.
Task 2: Command-Line Arguments and String Copying
#include <string.h>
#include <stdio.h>
int main(int argc, char* argv[]) {
char str[10];
char *arg1 = argv[1];
int i = 0;
int j = 0;
while (arg1[i] != '\0') {
str[i] = arg1[i];
i++;
}
while (str[j] != '\0') {
printf("%c", str[j]);
j++;
}
return 0;
}
1. Run the following C
#include <string.h>
#include <stdio.h>
int main() {
char str[10];
int i = 0;
strcpy(str, "012345678");
for (i = 0; i < 1000000; i++) {
printf("%c", str[i]);
}
return 0;
}
• When you compile and execute the program, you may encounter compiler warnings.
• Observe the program's output and explain what you see and why.
Task 2: Command-Line Arguments and String Copying
#include <string.h>
#include <stdio.h>
int main(int argc, char* argv[]) {
char str[10];
char *arg1 = argv[1];
int i = 0;
int j = 0;
while (arg1[i] != '\0') {
str[i] = arg1[i];
i++;
}
while (str[j] != '\0') {
printf("%c", str[j]);
j++;
}
return 0;
}
a. Execute the program with 012345678 as the command-line argument. Observe the output.
b. Execute the program with 01. as the command-line argument. Observe the output. Explain what you see and
why.
c. Execute the program with 01234567890123 as the command-line argument. Observe the output. Explain
what you see and why.
d. Fix the condition inside the while loop on line 12 to always print the right amount of characters and never
read past the end of the str array.
b. Execute the program with 01. as the command-line argument. Observe the output. Explain what you see and
why.
c. Execute the program with 01234567890123 as the command-line argument. Observe the output. Explain
what you see and why.
d. Fix the condition inside the while loop on line 12 to always print the right amount of characters and never
read past the end of the str array.
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution
Trending nowThis is a popular solution!
Step by stepSolved in 3 steps with 1 images

Knowledge Booster
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
- I need to convert this code from C language to C++arrow_forwardC PROGRAMMING Instructions: Use the code template below to implement the length() and reverse() functions into the main() /* This program will create a string which is the reverse of an original string using pointers. * Performs string handling, manipulates pointers, passes pointers to functions. */ #include <stdio.h>#include <stdlib.h> int length( ){ while(str1[len++] != '\0'); // Calculate length of string len--; // Remove the null character len--; // Array index start from 0 to (length -1) return ; } void reverse( ){ while (counter < len) { i = str1[counter]; str1[counter] = str1[len]; str1[len] = i; counter++; len--; } return ;} int main (){ char str1[41]; // String to be Reversed printf("Enter some text (No spaces and 40 characters max): "); scanf("%40s", str2); printf("Reversed string: %s\n", str1); return 0;}arrow_forward#include <bits/stdc++.h>using namespace std;int main() { double matrix[4][3]={{2.5,3.2,6.0},{5.5, 7.5, 12.6},{11.25, 16.85, 13.45},{8.75, 35.65, 19.45}}; cout<<"Input no in first row of matrix"<<endl; for(int i=0;i<3;i++){ double t; cin>>t; matrix[0][i]=t; } cout<<"Contents of the last column in matrix"<<endl; for(int i=0;i<4;i++){ cout<<matrix[i][2]<<" "; } cout<<"Content of first row and last column element in matrix is: "<<matrix[0][3]<<endl; matrix[3][2]=13.6; cout<<"Updated matrix is :"<<endl; for(int i=0;i<4;i++){ for(int j=0;j<3;j++){ cout<<matrix[i][j]<<" "; }cout<<endl; } return 0;} Please explain this codearrow_forward
- AHPA #11: Changing Grades *use c programming language * Create a C function (switcher) that will receive a pointer to the finalExams array, using only pointers look for D scores and boost them to C scores. (ouput should be same as picture) #include <stdio.h> void switcher() { } int main(void) { int finalExams[] = {90,82,65,79,67,82,94,64,88,78,92,61,96,83,74}; return 0;}arrow_forwardC++ Program: #include <iostream>#include <string> using namespace std; const int AIRPORT_COUNT = 12;string airports[AIRPORT_COUNT] = {"DAL","ABQ","DEN","MSY","HOU","SAT","CRP","MID","OKC","OMA","MDW","LAX"}; int main(){ // define stack (or queue ) here string origin; string dest; string citypair; cout << "Loading the CONTAINER ..." << endl; // LOAD THE STACK ( or queue) HERE // Create all the possible Airport combinations that could exist from the list provided. // i.e DALABQ, DALDEN, ...., ABQDAL, ABQDEN ... // DO NOT Load SameSame - DALDAL, ABQABQ, etc .. cout << "Getting data from the CONTAINER ..." << endl;// Retrieve data from the STACK/QUEUE here } Using the attached program (AirportCombos.cpp), create a list of strings to process and place on a STL STACK container. The provided code is meant to be generic. Using the provided 3 char airport codes, create a 6 character string that is the origin &…arrow_forwardCreate a flowchart for this program in c++, #include <iostream>#include <vector> // for vectors#include <algorithm>#include <cmath> // math for function like pow ,sin, log#include <numeric>using std::vector;using namespace std;int main(){ vector <float> x, y;//vector x for x and y for y float x_tmp = -2.5; // initial value of x float my_function(float x); while (x_tmp <= 2.5) // the last value of x { x.push_back(x_tmp); y.push_back(my_function(x_tmp)); // calculate function's value for given x x_tmp += 1;// add step } cout << "my name's khaled , my variant is 21 ," << " my function is y = 0.05 * x^3 + 6sin(3x) + 4 " << endl; cout << "x\t"; for (auto x_tmp1 : x) cout << '\t' << x_tmp1;//printing x values with tops cout << endl; cout << "y\t"; for (auto y_tmp1 : y) cout << '\t' << y_tmp1;//printing y values with tops…arrow_forward
- Please complete the following guidelines and hints. Using C language. Please use this template: #include <stdio.h>#define MAX 100struct cg { // structure to hold x and y coordinates and massfloat x, y, mass;}masses[MAX];int readin(void){/* Write this function to read in the datainto the array massesnote that this function should return the number ofmasses read in from the file */}void computecg(int n_masses){/* Write this function to compute the C of Gand print the result */}int main(void){int number;if((number = readin()) > 0)computecg(number);return 0;}Testing your workTypical Input from keyboard:40 0 10 1 11 0 11 1 1Typical Output to screen:CoG coordinates are: x = 0.50 y = 0.50arrow_forwardIn C++ Assume that a 5 element array of type string named boroughs has been declared and initialized. Write the code necessary to switch (exchange) the values of the first and last elements of the array.arrow_forwardIn C programming. How do I find the max and min values of the corressponding columns. #include <stdio.h>#include <math.h>#include <stdlib.h>#define NROWS 5#define NCOLS 5 int main(void){ int i,j, max, min, m, n; float M[NROWS][NCOLS], Mt[NROWS][NCOLS]; char key_hit; //Input the sizes printf("ROW size(1-5) : ");scanf("%d",&m); printf("Column size(1-5): ");scanf("%d",&n); //Size Check while(m>NROWS || n>NCOLS) { printf("Please re-enter the sizes. \n"); printf("Row size(1-5) : ");scanf("%d", &m); printf("Column size(1-5) : ");scanf("%d", &n); } //Input the Matrix Data for(i=0; i<m; i++) for(j=0; j<n; j++) { printf("M[%d][%d] = ", i,j); scanf("%f", &M[i][j]); } //Print the Matrix Data for(i=0; i<m; i++) { for(j=0; j<n; j++) { printf("%1.2f\t", M[i][j]); }…arrow_forward
- This is the C code I have so far #include <stdio.h> #include <stdlib.h> struct employees { char name[20]; int ssn[9]; int yearBorn, salary; }; // function to read the employee data from the user void readEmployee(struct employees *emp) { printf("Enter name: "); gets(emp->name); printf("Enter ssn: "); for (int i = 0; i < 9; i++) scanf("%d", &emp->ssn[i]); printf("Enter birth year: "); scanf("%d", &emp->yearBorn); printf("Enter salary: "); scanf("%d", &emp->salary); } // function to create a pointer of employee type struct employees *createEmployee() { // creating the pointer struct employees *emp = malloc(sizeof(struct employees)); // function to read the data readEmployee(emp); // returning the data return emp; } // function to print the employee data to console void display(struct employees *e) { printf("%s", e->name); printf(" %d%d%d-%d%d-%d%d%d%d",…arrow_forwardC++ shapes.h: #include <iostream>#include <cmath>struct Point2d{double x;double y;void print(){// example: (2.5,3.64)std::cout << "(" << x << "," << y << ")" << std::endl;}double length() const{return std::sqrt(x * x + y * y);}// const Point2D & ==> function can't modify 'other'// the second const ==> function can't modify x, yPoint2d add(const Point2d &other) const{Point2d result;result.x = x + other.x;result.y = y + other.y;return result;}};// example of an interfacestruct Shape{virtual bool contains(Point2d p) = 0;};struct Circle : Shape{Point2d center;double radius;bool contains(Point2d p){Point2d diff;diff.x = p.x - center.x;diff.y = p.y - center.y;double distToCenter = diff.length();return distToCenter <= radius;}};// TODO: replace this with your Rectangle implementationstruct Rectangle : Shape{// TODO: which member variables to model a rectangle?bool contains(Point2d p){return false; // TODO }};//…arrow_forward
arrow_back_ios
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education

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)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON

C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON

Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning

Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education