Write a prog to accept a given string in any order and flash
error if any of the character is different.
For example : If abc is the input then abc, bca, cba, cab
bac are acceptable, but aac or bcd are unacceptable.
Answers were Sorted based on User's Feedback
Answer / santhoo035
#include<iostream.h>
#include<string.h>
int main()
{
int flag=0,i=0,j=0;
char ar[4]="abc" ;
char temp[4];
cout<<"Plz enter a string with size #3";
cin>>temp;
for(j=0;ar[j];j++)
{
flag=0;
for(i=0;temp[i];i++)
{
if(ar[j]==temp[i])
flag+=1;
}
if(flag==0||flag>1)
break;
}
if(flag==0||flag>1)
cout<<"Not accepted";
else
cout<<"Accepted";
}
Note:PLz convert "iostream.h" into "stdio.h" and "cout<<"
to "printf"
| Is This Answer Correct ? | 6 Yes | 4 No |
Answer / ew
The above is broken. If the ar[4] is "aac" rather
than "abc" it fails.
#include "stdio.h"
#define CountOf(a) (sizeof(a)/sizeof(*a))
int main(int argc, _TCHAR* argv[])
{
char data[] = "abc";
char test[CountOf(data)];
printf("Enter %d characters: ", CountOf(data)-1);
scanf("%s", test);
for (int i=0;i < CountOf(data);i++)
{
for (int j=0;j < CountOf(data);j++)
{
if (data[i] == test[j])
{
test[j] = 0;
break;
}
}
}
for (int i=0;i < CountOf(data);i++)
{
if (test[i]) {
printf("\nNot ");
break;
}
}
printf("\nAccepted");
return 1;
}
| Is This Answer Correct ? | 2 Yes | 2 No |
Answer / rahul shandilya
both of the solutions above given have complexity O(N^2),
i have tried to solve it in O(N).let me inform if there is
any bug or better solution .
#include<iostream>
using namespace std;
int main()
{
int a[130],a1[130];
memset(a,0,sizeof(a));
memset(a1,0,sizeof(a));
char ans[1000];
char str[]="putanystringhere";
for(int i=0;i<sizeof(str)/sizeof(char)-1;i++)
{
a[(int)str[i]]+=1;
}
cout<<"Enter any string of length
"<<sizeof(str)/sizeof(char)-1<<" :";
cin>> ans;
for(int i=0;i<sizeof(str)/sizeof(char)-1;i++)
{
a1[(int)ans[i]]+=1;
}
bool flag=true;
for(int i=0;i<sizeof(str)/sizeof(char)-1;i++)
{
if(a[(int)str[i]]!=a1[(int)str[i]])
{
flag=false;
break;
}
}
if(flag==true)
cout<<"No error";
else
cout<<"Error";
system("pause");
return 0;
}
| Is This Answer Correct ? | 1 Yes | 3 No |
Answer / sivan
if we ask the user to enter the second string having the
same characters as in the first string, the program
essentailly reduces to finding whether there is a
repetition in the second string. A program for this is
given below.
#include<iostream>
using namespace std;
int main()
{
char string1[10];
char string2[10];
int flag = 0;
cout<<"\n Enter the first string";
cin>>string1;
cout<<"\n Enter the second string with the same
characters as entered in string1";
cin>>string2;
for(int i = 0; i < strlen(string2); i++)
{
for(int j = i+1; j < strlen(string2) ; j++)
{
if(string2[i] == string2[j])
{
flag = 1;
break;
}
}
}
if(flag ==1)
cout<<"\n wrong";
else
cout<<"\n correct";
return 0;
}
| Is This Answer Correct ? | 2 Yes | 4 No |
Answer / yegullelew
My answer is O(n) - but it is done in C# sorry for C guys
public bool isAccepted(string original, string
toCompare)
{
if (original.Length != toCompare.Length)
return false;
bool[] flags = new bool[128];
for (int i = 0; i < toCompare.Length; i++)
flags[toCompare[i]] = true;
for (int i = 0; i < original.Length; i++)
if (!flags[original[i]])
return false;
return true;
}
| Is This Answer Correct ? | 1 Yes | 4 No |
main() { int i = 100; clrscr(); printf("%d", sizeof(sizeof(i))); } a. 2 b. 100 c. 4 d. none of the above
void main() { int i=10, j=2; int *ip= &i, *jp = &j; int k = *ip/*jp; printf(“%d”,k); }
Given an array of characters which form a sentence of words, give an efficient algorithm to reverse the order of the words (not characters) in it.
main() { int i = 0xff ; printf("\n%d", i<<2); } a. 4 b. 512 c. 1020 d. 1024
main() { char c=' ',x,convert(z); getc(c); if((c>='a') && (c<='z')) x=convert(c); printf("%c",x); } convert(z) { return z-32; }
print numbers till we want without using loops or condition statements like specifically(for,do while, while swiches, if etc)!
what is the output of following program ? void main() { int i=5; printf("%d %d %d %d %d ",i++,i--,++i,--i,i); }
main() { char *p="hai friends",*p1; p1=p; while(*p!='\0') ++*p++; printf("%s %s",p,p1); }
What is wrong with the following code? int *foo() { int *s = malloc(sizeof(int)100); assert(s != NULL); return s; }
Write a single line c expression to delete a,b,c from aabbcc
main( ) { char *q; int j; for (j=0; j<3; j++) scanf(“%s” ,(q+j)); for (j=0; j<3; j++) printf(“%c” ,*(q+j)); for (j=0; j<3; j++) printf(“%s” ,(q+j)); }
main() { extern int i; { int i=20; { const volatile unsigned i=30; printf("%d",i); } printf("%d",i); } printf("%d",i); } int i;