Extrasassignment

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 14

ASSIGNMENT # 03

1st Semester – 2019


Programming Fundamentals

Name: - Ahmed Ashraf


Roll NO.: - K190270
Section: - A
TASK 1:
#include<stdio.h>
#include<stdlib.h>
int main(){
int age[ ] = {20 , 32 , 25};
char names[3][7] = {"bilal","ALi","Rahul"};
float height[ ] = {4.5 , 5.5 , 5.0};
void *p[3];
p[0] = age;
p[1] = names;
p[2] = height;
printf("%s\t%s\t%s\n\n","AGE","NAME","Height");
for(int i = 0 ; i < 3 ; i++){
printf("%d\t%s\t%.2f\n",*((int*)p[0]+i),*((char**)p+1),*((float*)p[2]+i));
p[1] = names[i+1];
}}

OUTPUT:
TASK 2:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(){
FILE *fp,*fp1;
char file1[50],file2[50],sub[100],sub1[100],longest[100],ch;
int i,len=0;
printf("Enter a file name :"); scanf("%s",file1);
printf("Enter a file name :"); scanf("%s",file2);
fp = fopen(file1,"r"); fp1 = fopen(file2,"r");
if(fp==NULL&&fp1==NULL){
printf("Error");
return 1;}
while(!feof(fp)){
i=0;
while((ch=fgetc(fp))!=' ' && !feof(fp)){
sub[i]=ch;
i++; }
rewind(fp1);
while(!feof(fp1)){
i = 0;
while((ch=fgetc(fp1))!=' '&&!feof(fp1)){
sub1[i]=ch;
i++; }
if(strcmp(sub,sub1)==0&&strlen(sub)>len){
len = strlen(sub);
strcpy(longest,sub);} } }
if(len>0){
printf("Long Substring is \"%s\" and length of substring is \"%d\"",longest,len);}
else{
printf("No Found");}
fclose(fp); fclose(fp1); }
OUTPUT:

TASK 3:
#include<stdio.h>
#include<string.h>
int main()
{
char string[100];
printf("enter any number ends on 0 or 1:\t");
scanf("%[^\n]",string);
int i = strlen(string);
if(string[i-1]=='0'&&string[0]=='1'){
printf("Accept");
}
else if(string[i-1]=='1'){
printf("Reject"); } }

OUTPUT:
TASK 4:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char *worker[8][6]={
{"1","Monika","Arora","100000","2014-02-20","HR"},
{"2","Niharika","Verma","80000","2014-06-11","Admin"},
{"3","Vishal","Singhal","300000","2014-02-20","HR"},
{"4","Amitabh","Singh","500000","2014-02-20","Admin"},
{"5","Vivek","Bhati","500000","2014-06-11","Admin"},
{"6","Viput","Diwan","200000","2014-06-11","Account"},
{"7","Satish","Kumar","75000","2014-01-20","Account"},
{"8","Geetika","Chauhan","90000","2014-04-11","Admin"} };
char *Title[8][3]={
{"1","Manager","2016-02-20"},
{"2","Executive","2016-06-11"},
{"8","Executive","2016-06-11"},
{"5","Manager","2016-06-11"},
{"4","Asst Manager","2016-06-11"},
{"7","Executive","2016-06-11"},
{"6","Lead","2016-06-11"},
{"3","Lead","2016-06-11"}};
char *Bouns[6][3]={
{"1","2016-02-20","5000"},
{"2","2016-06-11","3000"},
{"3","2016-02-20","4000"},
{"1","2016-02-20","4500"},
{"2","2016-06-11","3500"}};
int num[100], sum=0,sum1=0,sum2=0;
for(int i = 0 ; i < 8 ; i++){
num[i]=atoi(worker[i][3]);}
for(int i = 0; i < 8 ; i++)
{if((strcmp("HR",worker[i][5])==0)){
if(num[i]<num[i+1]){
for(int j = 0 ; j < 6 ; j++){
printf("%10s ",worker[i][j]);}
printf("\n");} } }
for(int i = 0; i < 8 ; i++){
for(int m = i+1 ; m < 8 ; m++){
if((strcmp(worker[i][5],worker[m][5])==0)){
if((num[i]>num[m]&&num[i]!=num[i-1])){
for(int j = 0 ; j < 6 ; j++){
printf("%10s ",worker[i][j]);}
printf("\n");} }} }
for(int i = 0; i < 8 ; i++){
if((strcmp("HR",worker[i][5])==0)){
sum+=num[i]; }
else if(strcmp("Admin",worker[i][5])==0){
sum1+=num[i]; }
else{
sum2+=num[i]; } }
printf("\nHR -%d",sum);
printf("\nAdmin -%d",sum1);
printf("\nAccount -%d",sum2);}

OUTPUT:

TASK 5:
#include<stdio.h>

#include<math.h>

#include "koolplot.h"

int main()

{ float z,z1;

printf("Enter starting and ending value of x");

scanf("%f%f",&z,&z1);

Plotdata x(z,z1), y = (x)/sqrt(1+pow(x,2));

plot(x, y);

return 0;

}
OUTPUT:

TASK 5b:
#include<stdio.h>
#include<math.h>
#include "koolplot.h"
int main()
{ double z,z1;
printf("Enter starting and ending value of x");
scanf("%lf%lf",&z,&z1);
Plotdata x(z,z1), y = 1/(1+exp(-x));
plot(x, y);
return 0;}
OUTPUT:

TASK 6:
#include<stdio.h>
int main()
{
FILE *fp;
char name[50],c;
int count = 0 ;
printf("Enter a file name");
scanf("%s",name);
fp = fopen(name,"r");
if(fp==NULL){
printf("file canot be read");
return 0;}
c = fgetc(fp);
while(c!=EOF){
if(c=='\n'){
count++;}
c = fgetc(fp); }
fclose(fp);
printf("%d",count);}
OUTPUT:

TASK 7:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct info
{int id; char name[50];int salary;}data;
int main()
{ int id;
FILE *fp,*fp1,*fp2;
fp = fopen("personal.txt","a+");
if(fp==NULL){
printf("File cannot open");
return 0;}
fp1 = fopen("dept.txt","a+");
if(fp1==NULL){
printf("file cannot open");
return 0;}
fp2 = fopen("combine.txt","a+");
if(fp2==NULL){
printf("Cannot open");
return 0;}
printf("enter your Id:\t"); scanf("%d",&data.id);
printf("Enter your name:\t"); scanf("%s",data.name);
fprintf(fp,"%d\t%s\n",data.id,data.name);
printf("Enter your Salary:\t"); scanf("%d",&data.salary);
fprintf(fp1,"%d\t%d\n",data.id,data.salary);
system("cls");
printf("Enter a id"); scanf("%d",&id);
rewind(fp);rewind(fp1);
while((fscanf(fp,"%d%s",&data.id,data.name)!=EOF)&&(fscanf(fp1,"%d",&data.salary)!=EOF)
{if(data.id==id){
fprintf(fp2,"\n%d\t%s\t%d",data.id,data.name,data.salary);
printf("Record Added into another file");}}
fclose(fp2); fclose(fp1);fclose(fp); }
OUTPUT:
Personal file:

Department file:

Combine File:

TASK 8:
#include<stdio.h>
#include<stdlib.h>
void *Merge(const float *arr1, int size,const float *arr2, int size1,float **arr3);
int main(){
float *arr1,*arr2,*arr3;
int size,size1;
printf("Enter size of One array:\t"); scanf("%d",&size);
arr1 = (float *)malloc(size*sizeof(float));
if(arr1==NULL){return 1;}
printf("Enter array Element:\t");
for(int i = 0 ; i < size ;i++){
scanf("%f",(arr1+i)); }
printf("Array Element :\t");
for(int i = 0 ; i < size ; i++){
printf("%.0f ",*(arr1+i));}
printf("\nEnter size of second array:\t"); scanf("%d",&size1);
arr2 = (float *)malloc(size1*sizeof(float));
if(arr2==NULL)
{return 1;}
printf("Enter array Element:\t");
for(int i = 0 ; i < size1 ;i++){
scanf("%f",(arr2+i));}
printf("Array Element :\t");
for(int i = 0 ; i < size1 ; i++){
printf("%.0f ",*(arr2+i));}
Merge(arr1,size,arr2,size1,&arr3);
printf("\nArray Address %d:\n\n",arr3); printf("MERGE ARRAY ELEMENT: \t");
for(int i = 0 ; i<size+size1;i++){
printf("%.0f ",*(arr3+i));} }
void *Merge(const float *arr1, int size,const float *arr2, int size1,float **arr3){
int size3 = size+size1, i , j , k;
*arr3 = (float *)malloc(size3*sizeof(float));
for(i=0,j=0,k=0 ; i<size3,j<size,k<size1 ; i++){
*(*arr3+i) = arr1[j];
j++;
if(i>=size){
*(*arr3+i) = arr2[k];
k++;} } }

OUTPUT:
TASK 9:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
char *name[] = {"Shiraz","Zeeshan","Mansoor","Bilal"};
char *l_name[] = {"Nisar","Niar","Mehmood","Aslam"};
char *f_name;
for(int i = 0 ; name[i]!='\0',l_name[i]!='\0';i++){
f_name = (char*)malloc((strlen(name[i]) + strlen(l_name[i]) + 2)*sizeof(char));
strcpy(f_name, name[i]);
strcat(f_name, " ");
strcat(f_name, l_name[i]);
printf("\n%s",f_name);}
free(f_name); }

OUTPUT:

TASK 10: OUTPUT:


#include<stdio.h>
#include<stdlib.h>
#define Row 5
#define Col 5
int main(){
int arr[Row][Col],count=0,count1=0;
for(int i = 0 ; i<Row ;i++){
printf("Enter Element for Row %d\n",i+1);
for(int j = 0 ; j < Col ; j++){
scanf("%d",&arr[i][j]);} }
printf("\nSparse Matrix Element\n");
for(int i = 0 ; i<Row ;i++){
for(int j = 0 ; j< Col ; j++){
printf("%d ",arr[i][j]);}
printf("\n");}
for(int i = 0 ; i< Row ; i++){
for (int j = 0 ; j < Col ; j++){
if(arr[i][j]==0) {
count++;}
else{
count1++;}}}
if(count>count1){
printf("\nSparse Matrix");}
else{
printf("\nDenser Matrix");} }

You might also like