In: Computer Science
Write a small C program connect.c that:
1. Initializes an array id of N elements with the value of the index of the array.
2. Reads from the keyboard or the command line a set of two integer numbers (p and q) until it encounters EOF or CTL - D
3. Given the two numbers, your program should connect them by going through the array and changing all the entries with the same name as p to have the same name as q.
4. Once the EOF has been reached, your program should print the array with a max of 10 positions per line.
5. For testing purposes, define N as 10 at the beginning, but by sure of running data with at least 100 elements.
code in C (code to copy)
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char **argv){
//initialize N with 100
const int N = 100;
//declare an array with N elements
int arr[N];
//fill this array with value = index
for(int i=0;i<N;i++){
arr[i]=i;
}
//read pair of input from user until eof which happens when scanf returns -1
int p,q;
while (scanf("%d %d", &p, &q) != -1) {
arr[p]=q;
}
//print the array
for(int i=0;i<N;i++){
//print a line break at every 10 elements
if(i%10==0)
printf("\n");
printf("%d ", arr[i]);
}
}
code screenshot
Console Input/Output Screenshot
Let me know in the comments if you have any doubts.
Do leave a thumbs up if this was helpful.