#include<stdio.h> #include<stdlib.h> const int SIZE=10; FILE *infile; int main (
ID: 3625362 • Letter: #
Question
#include<stdio.h>
#include<stdlib.h>
const int SIZE=10;
FILE *infile;
int main (int argc, char* argv[])
{
int number;
number= argv[1][0]-'0';
int count, key;
char array [SIZE+1];
char found='n';
infile = fopen (argv[1], "r");
if (infile == NULL)
{
printf("can't open %s/n",argv[1]);
exit(EXIT_FAILURE);
}
else
{
fscanf (infile, "%s",array);
printf("%s/n", array);
}
printf("Reading 10 char/n");
int counter;
for (counter = 0; counter<MAX; counter++)
if (isdigit(array[counter]))
numeric_array[counter]=atoi(array[counter]");
return 0;
}
Explanation / Answer
please rate - thanks
#include<stdio.h>
#include <conio.h>
int add(char[],int,char[],int,char[],int);
int getvalue(char);
int main()
{const int size=10;
char num1[size],num2[size],ans[size+1];
int d1,d2;
int over,valid;
FILE *input1,*input2;
input1 = fopen("hexdata1.dat","r");
input2 = fopen("hexdata2.dat","r");
fscanf(input1,"%s",&num1);
fscanf(input2,"%s",&num2);
fclose(input1);
fclose(input2);
for(d1=0;num1[d1]!='';d1++)
num1[d1]=toupper(num1[d1]);
for(d2=0;num2[d2]!='';d2++)
num2[d2]=toupper(num2[d2]);
if(d2<d1)
over=add(num1,d1,num2,d2,ans,size);
else
over=add(num2,d2,num1,d1,ans,size);
if(over)
printf("%s + %s = overflow ",num1,num2);
else
printf("%s + %s = %s ",num1,num2,ans);
getch();
return 0;
}
int getvalue(char h)
{int i;
char hex[17]={"0123456789ABCDEF"};
for(i=0;i<17;i++)
if(h==hex[i])
return i;
}
int add(char num2[],int m,char num1[],int l,char ans[],int size)
{char hex[17]={"0123456789ABCDEF"};
int i,j,c=0,a,digits=0;
for(i=0;i<size+1;i++)
ans[i]='';
l--;
m--;
while(l>=0)
{a=getvalue(num2[m])+getvalue(num1[l])+c;
c=a/16;
ans[m]=hex[a%16];
m--;
l--;
digits++;
}
while(m>=0)
{a=getvalue(num2[m])+c;
c=a/16;
ans[m]=hex[a%16];
m--;
digits++;
}
if(c!=0)
{ for(i=digits;i>=0;i--)
ans[i]=ans[i-1];
ans[0]=hex[c];
digits++;
}
if(digits>size)
return 1;
return 0;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.