Data File p1artstxt Assignment Use an array of linked list t

Data File:     “p1arts”.txt”

Assignment:

Use an array of linked list to process the data file to produce the output similar to the following output file : Name the output file “p3artists_arts.txt”.

Each artist will occupy one row of the array.

Try to design the structure of the first node. In addition to “artistID” and “next” fields, what else should it contain

Artist ID

Artist Name

Art ID

Art Title

Appraised Value

50

Morgan

1001

Red Rock Mountain

18000

1028

Tired Cowboy

4700

1054

Snake Charmer

4500

1068

Moonlight

9750

1069

Renaissance

5500

1113

Shadow House

5500

1114

Storytelling at the Campfire

18000

52

Novarre

1002

Offerings

10000

p1arts.txt:

1001   Red Rock Mountain   50   18000
1002   Offerings    52   10000
1003   Spring Flowers   12   2400
1004   Seeking Shelter   64   52000
1005   The Hang   18   8000
1006   House Remembered   32   700
1007   Homage to the Ancestors   82   1200
1008   End of the Path   26   1900
1009   Amen   28   3000
1010   Untitled (land with adobe)   71   800
1011   Eve   19   975
1012   Man on Horseback   74   8000
1013   Superstitions   3   78000
1014   Plenty   45   500
1015   Punch   46   10000
1016   Untitled   65   6000
1017   Brittlecone   6   1300
1018   Mountain Scene   8   2500
1019   The White Heart   61   9300
1020   Untitled (Man holding coat)   73   3000
1021   Bead Wall   3   14000
1022   The Cowboy   69   4200
1023   Shooting the Rapids   47   1300
1024   Spirit and Nature   48   592
1025   Profile of a Woman   68   625
1026   Untitled (couple)   66   4000
1027   Mountain Climber   47   4700
1028   Tired Cowboy   50   4700
1029   Horseshoe Falls   31   15000
1030   Ash Bench   28   13000
1031   Inside/Out   34   3500
1032   Rising Sun   42   2000
1033   Untitled (Woman abstract)   77   2500
1034   Beaver Pole Jumble   3   28000
1035   Nature/Nurture   47   1300
1036   Blackhawk   5   25500
1037   Floating World   21   2350
1038   Spring Flowers   1   800
1039   Treachery   14   20000
1040   Night on the Praire   47   1300
1041   Night Version   29   3800
1042   Coffee on the Trail   2   7544
1043   Creosote Bushes   28   18000
1044   Mexican Fiesta   43   14000
1045   Leaf Patterns   38   2100
1046   Immediate Gratification   33   1500
1047   Medicine Man   44   2500
1048   Comfy Chair   57   800
1049   Buttercup with Red Lip   7   400
1050   Cattle Ranch   1   10000
1051   Night Version   36   7000
1052   American Rodeo   16   3500
1053   Blue Eyed Indian   6   40000
1054   Snake Charmer   50   4500
1055   Starlit Evening   9   9500
1056   Cavalry Is Coming   6   1900
1057   Untitled   66   4500
1058   The Gathering   60   250
1059   Dwelling   17   16000
1060   Story Sticks   42   650
1061   Untitled Mural   78   3520
1062   Cowboy and Saddle   41   18000
1063   Asleep in the Garden   3   110000
1064   Spirit Columns   51   7000
1065   Moonlite    47   1300
1066   Untitled (still life)   76   19500
1067   Owl in Flight   49   7000
1068   Moonlight   50   9750
1069   Renaissance   50   5500
1070   Beginnings   4   27500
1071   Ride the Rapids   79   300
1072   Funnel   24   4500
1073   Dancing in the Light   15   4000
1074   Storm on the Rise   55   8000
1075   Western Boots and Spurs   6   6000
1076   Ride the Bronco   79   1500
1077   Bull Riding   6   5200
1078   Chuckwagon   28   32000
1079   Carrying the Mail   62   8000
1080   The Dust Behind   59   18000
1081   Coming Under Fire   13   650
1082   Spring Flowers   29   20000
1083   Untitled   64   2500
1084   Crossing the Platt River   23   2200
1085   Traces   63   20000
1086   Untitled (desert landscape)   67   18000
1087   Three Woman   81   20000
1088   Lessons   37   3700
1089   Life Lessons   53   4125
1090   Off the Grid   11   8000
1091   Stone Palette   54   11500
1092   Dressing Up   47   1300
1093   Antelopes    62   12500
1094   Life Is Sweet   39   25000
1095   The Spirit   61   20000
1096   Ceremonial Sticks   10   15000
1097   Untitled (Sea)   75   2800
1098   Sweet Project   56   592
1099   Watch That Rattler   20   900
1100   Hungry Cowboys   38   750
1101   The Red Door   58   10000
1102   Crying Hats   14   10000
1103   Trail End   1   8000
1104   Untitled    70   1800
1105   Meteor Show   80   10000
1106   Horse Corral   40   12500
1107   Striking It Rich   35   1750
1108   Untitled Mural   77   400
1109   Friends   22   16000
1110   Three Sisters   62   6500
1111   Untitled (man and crucifix)   72   3200
1112   Dark Canyon   27   8000
1113   Shadow House   50   5500
1114   Storytelling at the Campfire   50   18000
1115   Starry Night   25   8500
1116   Apache Warrior   30   23000

p1artists.txt:

1   Acconci
2   Ames
3   Aserty
4   Baron
5   Battenberg
6   Bindner
7   Blain
8   Blum
9   Budd
10   Cardenas
11   Carpenter
12   Chico
13   Colvin
14   Cox
15   Cridler
16   Curtis
17   Dawson
18   DiGrigoro
19   Dill
20   Edwards
21   Fleming
22   Fratt
23   Garber
24   Garin
25   Giama
26   Gilhooly
27   Gonzales
28   Guys
29   Hamend
30   Higgins
31   Hofmann
32   Ibe
33   Indiana
34   Ingraham
35   Irvin
36   Kerrihard
37   Kollasch
38   Kritz
39   Lerman
40   Long
41   Lowney
42   Lundquist
43   Lutes
44   Maglich
45   McGraw
46   McIver
47   Meglech
48   Metz
49   Miller
50   Mogan
51   Motherwell
52   Novarre
53   Odiezma
54   Ortega
55   Parker
56   Penn
57   Pierobon
58   Prinzen
59   Quiroz
60   Rath
61   Reed
62   Rissman
63   Rogers
64   Roman
65   Schenck
66   Scherzel
67   Scholder
68   Senior
69   Shenal
70   Statom
71   Swartz
72   Tidwell
73   Turrell
74   Udinotti
75   Van Coller
76   Waid
77   Werner
78   Wittner
79   Wright
80   Xie
81   Yasami
82   Zischke

Artist ID

Artist Name

Art ID

Art Title

Appraised Value

50

Morgan

1001

Red Rock Mountain

18000

1028

Tired Cowboy

4700

1054

Snake Charmer

4500

1068

Moonlight

9750

1069

Renaissance

5500

1113

Shadow House

5500

1114

Storytelling at the Campfire

18000

52

Novarre

1002

Offerings

10000

Solution

As per my understanding you have to create an array of linklist. So We have created two structures. One for artist Id and name and second for art with respect to each artist id. Please find the source code and output file.

Source Code:

#include<stdio.h>
#include<stdlib.h>
typedef struct array_linklist         // sturcture of art list in the array
{
        int art_id;
        char title[30];
        int value;
        struct array_linklist *next;
}list;
struct artist     // sturcture of array
{
        int artist_id;
        char name[20];
        list *art;
};
void main()
{
        int i,j,n,len;
        char str[50],fstr[50];
        list *temp,*new;
        FILE *f1,*f2,*fo;
        f1= fopen(\"p1arts.txt\",\"r\");
        f2= fopen(\"p1artists.txt\",\"r\");
        fo= fopen(\"p3artists_arts.txt\",\"w\");
        struct artist arr[100]={NULL};
        i=1;
        while(fscanf(f2,\"%d\",&arr[i].artist_id)!=EOF)
        {
                fscanf(f2,\"%s\",arr[i].name);
                i++;
        }
        while(fscanf(f1,\"%d\",&j)!=EOF)
        {
                fscanf(f1,\"%s\",str);
                strcpy(fstr,\"\");
                while(str[0]<48 || str[0]>57)
                {
                        strcat(fstr,str);
                        strcat(fstr,\" \");
                        fscanf(f1,\"%s\",str);
                }
                len=strlen(str);
                if(len==2)
                        n=(str[0]-48)*10+(str[1]-48);
                else
                        n=(str[0]-48);
               
                if(arr[n].art == NULL)
                {
                        arr[n].art = (list *)malloc(sizeof(list));
                        fscanf(f1,\"%d\",&(arr[n].art->value));
                        arr[n].art->art_id = j;
                        strcpy(arr[n].art->title,fstr);
                        arr[n].art->next = NULL;
                }
                else
                {
                        new = (list *)malloc(sizeof(list));
                        fscanf(f1,\"%d\",&(new->value));
                        new->art_id = j;
                        strcpy(new->title,fstr);
                        new->next = NULL;
                        temp = arr[n].art;
                        while(temp->next != NULL)
                                temp = temp->next;
                        temp->next = new;                     
                }
        }
      
        for(j=1;j<i;j++)
        {
                fprintf(fo,\"%d\\t\",arr[j].artist_id);
                fprintf(fo,\"%s\\t\\t\",arr[j].name);
                temp = arr[j].art;
                while(temp != NULL)
                {
                        fprintf(fo,\"%d\\t\",temp->art_id);
                        fprintf(fo,\"%s\\t\",temp->title);
                        fprintf(fo,\"%d\\t\ \",temp->value);                      
                        if(temp->next!=NULL)
                                fprintf(fo,\"\\t\\t\\t\");                                              
                        temp = temp->next;
                }
                fprintf(fo,\"\ \");                      
        }      
}

Output: p3artists_arts.txt

1   Acconci       1038   Spring Flowers    800  
           1050   Cattle Ranch    10000  
           1103   Trail End    8000  

2   Ames       1042   Coffee on the Trail    7544  

3   Aserty       1013   Superstitions    78000  
           1021   Bead Wall    14000  
           1034   Beaver Pole Jumble    28000  
           1063   Asleep in the Garden    110000  

4   Baron       1070   Beginnings    27500  

5   Battenberg       1036   Blackhawk    25500  

6   Bindner       1017   Brittlecone    1300  
           1053   Blue Eyed Indian    40000  
           1056   Cavalry Is Coming    1900  
           1075   Western Boots and Spurs    6000  
           1077   Bull Riding    5200  

7   Blain       1049   Buttercup with Red Lip    400  

8   Blum       1018   Mountain Scene    2500  

9   Budd       1055   Starlit Evening    9500  

10   Cardenas       1096   Ceremonial Sticks    15000  

11   Carpenter       1090   Off the Grid    8000  

12   Chico       1003   Spring Flowers    2400  

13   Colvin       1081   Coming Under Fire    650  

14   Cox       1039   Treachery    20000  
           1102   Crying Hats    10000  

15   Cridler       1073   Dancing in the Light    4000  

16   Curtis       1052   American Rodeo    3500  

17   Dawson       1059   Dwelling    16000  

18   DiGrigoro       1005   The Hang    8000  

19   Dill       1011   Eve    975  

20   Edwards       1099   Watch That Rattler    900  

21   Fleming       1037   Floating World    2350  

22   Fratt       1109   Friends    16000  

23   Garber       1084   Crossing the Platt River    2200  

24   Garin       1072   Funnel    4500  

25   Giama       1115   Starry Night    8500  

26   Gilhooly       1008   End of the Path    1900  

27   Gonzales       1112   Dark Canyon    8000  

28   Guys       1009   Amen    3000  
           1030   Ash Bench    13000  
           1043   Creosote Bushes    18000  
           1078   Chuckwagon    32000  

29   Hamend       1041   Night Version    3800  
           1082   Spring Flowers    20000  

30   Higgins       1116   Apache Warrior    23000  

31   Hofmann       1029   Horseshoe Falls    15000  

32   Ibe       1006   House Remembered    700  

33   Indiana       1046   Immediate Gratification    1500  

34   Ingraham       1031   Inside/Out    3500  

35   Irvin       1107   Striking It Rich    1750  

36   Kerrihard       1051   Night Version    7000  

37   Kollasch       1088   Lessons    3700  

38   Kritz       1045   Leaf Patterns    2100  
           1100   Hungry Cowboys    750  

39   Lerman       1094   Life Is Sweet    25000  

40   Long       1106   Horse Corral    12500  

41   Lowney       1062   Cowboy and Saddle    18000  

42   Lundquist       1032   Rising Sun    2000  
           1060   Story Sticks    650  

43   Lutes       1044   Mexican Fiesta    14000  

44   Maglich       1047   Medicine Man    2500  

45   McGraw       1014   Plenty    500  

46   McIver       1015   Punch    10000  

47   Meglech       1023   Shooting the Rapids    1300  
           1027   Mountain Climber    4700  
           1035   Nature/Nurture    1300  
           1040   Night on the Praire    1300  
           1065   Moonlite    1300  
           1092   Dressing Up    1300  

48   Metz       1024   Spirit and Nature    592  

49   Miller       1067   Owl in Flight    7000  

50   Mogan       1001   Red Rock Mountain    18000  
           1028   Tired Cowboy    4700  
           1054   Snake Charmer    4500  
           1068   Moonlight    9750  
           1069   Renaissance    5500  
           1113   Shadow House    5500  
           1114   Storytelling at the Campfire    18000  

51   Motherwell       1064   Spirit Columns    7000  

52   Novarre       1002   Offerings    10000  

53   Odiezma       1089   Life Lessons    4125  

54   Ortega       1091   Stone Palette    11500  

55   Parker       1074   Storm on the Rise    8000  

56   Penn       1098   Sweet Project    592  

57   Pierobon       1048   Comfy Chair    800  

58   Prinzen       1101   The Red Door    10000  

59   Quiroz       1080   The Dust Behind    18000  

60   Rath       1058   The Gathering    250  

61   Reed       1019   The White Heart    9300  
           1095   The Spirit    20000  

62   Rissman       1079   Carrying the Mail    8000  
           1093   Antelopes    12500  
           1110   Three Sisters    6500  

63   Rogers       1085   Traces    20000  

64   Roman       1004   Seeking Shelter    52000  
           1083   Untitled    2500  

65   Schenck       1016   Untitled    6000  

66   Scherzel       1026   Untitled (couple)    4000  
           1057   Untitled    4500  

67   Scholder       1086   Untitled (desert landscape)    18000  

68   Senior       1025   Profile of a Woman    625  

69   Shenal       1022   The Cowboy    4200  

70   Statom       1104   Untitled    1800  

71   Swartz       1010   Untitled (land with adobe)    800  

72   Tidwell       1111   Untitled (man and crucifix)    3200  

73   Turrell       1020   Untitled (Man holding coat)    3000  

74   Udinotti       1012   Man on Horseback    8000  

75   VanColler       1097   Untitled (Sea)    2800  

76   Waid       1066   Untitled (still life)    19500  

77   Werner       1033   Untitled (Woman abstract)    2500  
           1108   Untitled Mural    400  

78   Wittner       1061   Untitled Mural    3520  

79   Wright       1071   Ride the Rapids    300  
           1076   Ride the Bronco    1500  

80   Xie       1105   Meteor Show    10000  

81   Yasami       1087   Three Woman    20000  

82   Zischke       1007   Homage to the Ancestors    1200  

Data File: “p1arts”.txt” Assignment: Use an array of linked list to process the data file to produce the output similar to the following output file : Name the
Data File: “p1arts”.txt” Assignment: Use an array of linked list to process the data file to produce the output similar to the following output file : Name the
Data File: “p1arts”.txt” Assignment: Use an array of linked list to process the data file to produce the output similar to the following output file : Name the
Data File: “p1arts”.txt” Assignment: Use an array of linked list to process the data file to produce the output similar to the following output file : Name the
Data File: “p1arts”.txt” Assignment: Use an array of linked list to process the data file to produce the output similar to the following output file : Name the
Data File: “p1arts”.txt” Assignment: Use an array of linked list to process the data file to produce the output similar to the following output file : Name the
Data File: “p1arts”.txt” Assignment: Use an array of linked list to process the data file to produce the output similar to the following output file : Name the
Data File: “p1arts”.txt” Assignment: Use an array of linked list to process the data file to produce the output similar to the following output file : Name the
Data File: “p1arts”.txt” Assignment: Use an array of linked list to process the data file to produce the output similar to the following output file : Name the
Data File: “p1arts”.txt” Assignment: Use an array of linked list to process the data file to produce the output similar to the following output file : Name the

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site