Some help with C programming questions

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
1 reply · 11K views
fubag
Messages
105
Reaction score
0
I have a few questions:

1. Reversing the elements of an array involves swapping the corresponding elements of the array: the first with the last, the second with the next to the last, and so on, all the way to the middle of the array.

Given an array a , an int variable n containing the number of elements in a , and two other int variables, k and temp , write a loop that reverses the elements of the array.

Do not use any other variables besides a , n , k , and temp .

I have:

for (temp=n;temp>0; temp--;)

{

for (k=0; k<n;k++)

a[k] = a[temp-1];

}

the compiler yells at me and I don't know what's up...just for everyone to know this is a Codelab assignment.


2. You are given two int variables j and k , an int array zipcodeList that has been declared and initialized, an int variable nZips that contains the number of elements in zipcodeList , and an int variable duplicates .

Write some code that assigns 1 to duplicates if any two elements in the array have the same value, and that assigns 0 to duplicates otherwise.
Use only j , k , zipcodeList , nZips , and duplicates .

I have: duplicates=0;

for (j=0; j<(nZips); j++)
{
for (k=0; k<(nZips); k++)

{ if (zipcodeList[j] == zipcodeList[k])
duplicates=1;

}

}

yet the feedback comes back i am not assigning 0 to duplicates if they don't match...




3. Given an array arr of type int , along with two int variables i and j , write some code that swaps the values of arr and arr[j] . Declare any additional variables as necessary.

I wrote:

int x=j;

arr=arr[j];

arr[j]=arr;

- but the feedback comes that only one variable is changing...I don't understand why..




I know it's a lot but if someone can help me on any of them I would appreciate it a lot!

Thanks!
 
Physics news on Phys.org
1. for (temp=n;temp>0; temp--;)

You have a semicolon too many there. There should be exactly two semicolons in a for(a;b;c) clause.

2. This will always return 1, because when j == k then zipcodeList[j]==zipcodeList[k], always.

3. On line two you assign arr[j] to arr. On line three you assign arr to arr[j]. But you destroyed the value of arr on line two, didn't you? You overwrote it with arr[j]. So assigning arr to arr[j] afterwards does nothing.