Before seeing the solution make sure that you tried enough. Don’t paste the whole code, just find out the logic. If you stuck in trouble, just inform me on comment.
/**Bismillahir Rahmanir Rahim.**/ #include <stdio.h> int main() { int tst, i; scanf("%d", &tst); for(i=1; i<=tst; i++) { int n, m, D; scanf("%d%d", &n, &m); int ara[n], j, k, l, tmp, x, y; for(j=0; j<n; j++) scanf("%d", &ara[j]); for(k=0; k<m; k++) { char step[2]; scanf("%s", step); if(step[0]=='S') { scanf("%d", &D); for(j=0; j<n; j++) ara[j]+=D; } else if(step[0]=='M') { scanf("%d", &D); for(j=0; j<n; j++) ara[j]*=D; } else if(step[0]=='D') { scanf("%d", &D); for(j=0; j<n; j++) ara[j]/=D; } else if(step[0]=='R') { for(j=0,l=n-1; j<n/2; j++, l--) { tmp = ara[j]; ara[j] = ara[l]; ara[l] = tmp; } } else if(step[0]=='P') { scanf("%d%d", &x, &y); tmp = ara[x]; ara[x] = ara[y]; ara[y] = tmp; } } printf("Case %d:\n", i); for(j=0; j<n-1; j++) printf("%d ", ara[j]); printf("%d\n", ara[j]); } return 0; }
why did u print the array twice at the output?
ReplyDelete