#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h> // alternate (*temp).data = x;
// gcc -o main -lm -std=c99 -Wall -pedantic main.c
typedef struct Node {
char *data;
int count;
struct Node* next;
} Node;
struct Node* head; // global
void Insert(char word){
Node
* newNode
= (Node
*)malloc(sizeof(struct Node
)); newNode->data = &word;
newNode->count = 1 ;
newNode->next = 0;
if (head->next ==0){
head->next = newNode;
}
Node
* check
= (Node
*)malloc(sizeof(struct Node
)); check = head->next;
check->data = head->data;
check->count = 0 ;
if (strcmp(const char *check
->data
, const char *newNode
->data
) == 0 ){ check->count += 1 ;
}
while (check->next != 0){
if (strcmp(check
->data
,newNode
->data
) == '0' ){ check->count += 1 ;
}
check = check->next;
}
if (check->next == 0){
check->next = newNode ;
}
}
void Print(){
struct Node* temp = head;
while(temp != NULL){
temp = temp->next;
}
}
int main(){
head = NULL; //(int) 0;
//head->data = 0;
printf("How many numbers?\n"); int n,i,x;
for(i=0;i<n;i++){
printf("Enter the number \n"); Insert(x);
Print();
}
}
/*
int strcmp(const char *a,const char *b){
if (! (*a | *b) ) return 0;
return (*a!=*b) ? *a-*b : strcmp(++a,++b);
}
*/
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPGN0eXBlLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4JCS8vIGFsdGVybmF0ZSAoKnRlbXApLmRhdGEgPSB4OwovLyBnY2MgLW8gbWFpbiAtbG0gLXN0ZD1jOTkgLVdhbGwgLXBlZGFudGljIG1haW4uYwoKdHlwZWRlZiBzdHJ1Y3QgTm9kZSB7CgljaGFyICpkYXRhOwoJaW50IGNvdW50OwoJc3RydWN0IE5vZGUqIG5leHQ7Cn0gTm9kZTsKc3RydWN0IE5vZGUqIGhlYWQ7CQkvLyBnbG9iYWwKCnZvaWQgSW5zZXJ0KGNoYXIgd29yZCl7CglOb2RlKiBuZXdOb2RlID0gKE5vZGUqKW1hbGxvYyhzaXplb2Yoc3RydWN0IE5vZGUpKTsKCW5ld05vZGUtPmRhdGEgPSAmd29yZDsKCW5ld05vZGUtPmNvdW50ID0gMSA7CgluZXdOb2RlLT5uZXh0ID0gMDsKCWlmIChoZWFkLT5uZXh0ID09MCl7CgkJaGVhZC0+bmV4dCA9IG5ld05vZGU7Cgl9CglOb2RlKiBjaGVjayA9IChOb2RlKiltYWxsb2Moc2l6ZW9mKHN0cnVjdCBOb2RlKSk7CgljaGVjayA9IGhlYWQtPm5leHQ7CgljaGVjay0+ZGF0YSA9IGhlYWQtPmRhdGE7CgljaGVjay0+Y291bnQgPSAwIDsKCWlmIChzdHJjbXAoY29uc3QgY2hhciAqY2hlY2stPmRhdGEsIGNvbnN0IGNoYXIgKm5ld05vZGUtPmRhdGEpID09IDAgKXsKCQljaGVjay0+Y291bnQgKz0gMSA7Cgl9Cgl3aGlsZSAoY2hlY2stPm5leHQgIT0gMCl7CgkJaWYgKHN0cmNtcChjaGVjay0+ZGF0YSxuZXdOb2RlLT5kYXRhKSA9PSAnMCcgKXsKCQkJY2hlY2stPmNvdW50ICs9IDEgOwoJCX0KCQljaGVjayA9IGNoZWNrLT5uZXh0OwoJfQoJaWYgKGNoZWNrLT5uZXh0ID09IDApewoJCWNoZWNrLT5uZXh0ID0gbmV3Tm9kZSA7Cgl9Cn0KCnZvaWQgUHJpbnQoKXsKCXN0cnVjdCBOb2RlKiB0ZW1wID0gaGVhZDsKCXByaW50ZigiTGlzdCBpczogIik7Cgl3aGlsZSh0ZW1wICE9IE5VTEwpewoJCXByaW50ZigiICVzICIsdGVtcC0+ZGF0YSk7CgkJdGVtcCA9IHRlbXAtPm5leHQ7Cgl9CglwcmludGYoIlxuIik7Cn0KCmludCBtYWluKCl7CgloZWFkID0gTlVMTDsgLy8oaW50KSAwOwoJLy9oZWFkLT5kYXRhID0gMDsKCXByaW50ZigiSG93IG1hbnkgbnVtYmVycz9cbiIpOyAKCWludCBuLGkseDsKCXNjYW5mKCIlZCIsJm4pOwoJZm9yKGk9MDtpPG47aSsrKXsKCQlwcmludGYoIkVudGVyIHRoZSBudW1iZXIgXG4iKTsKCQlzY2FuZigiJWQiLCZ4KTsKCQlJbnNlcnQoeCk7CgkJUHJpbnQoKTsKCX0KfQoKLyoKaW50IHN0cmNtcChjb25zdCBjaGFyICphLGNvbnN0IGNoYXIgKmIpewogIGlmICghICgqYSB8ICpiKSApIHJldHVybiAwOwogIHJldHVybiAoKmEhPSpiKSA/ICphLSpiIDogc3RyY21wKCsrYSwrK2IpOwp9Ciov
In file included from /usr/include/string.h:635:0,
from prog.c:4:
prog.c: In function 'Insert':
prog.c:26:13: error: expected expression before 'const'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:38: error: expected expression before 'const'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:13: error: expected expression before 'const'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:38: error: expected expression before 'const'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:25: error: expected ')' before 'check'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:25: error: expected ')' before 'check'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: expected expression before '==' token
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:50: error: expected ')' before 'newNode'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:50: error: expected ')' before 'newNode'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: expected expression before '==' token
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:13: error: expected expression before 'const'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: too few arguments to function '__builtin_strcmp'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:13: error: expected expression before 'const'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:25: error: expected ')' before 'check'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:25: error: expected ')' before 'check'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: expected expression before '==' token
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:13: error: expected expression before 'const'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:38: error: expected expression before 'const'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:50: error: expected ')' before 'newNode'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:50: error: expected ')' before 'newNode'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: expected expression before '==' token
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:13: error: expected expression before 'const'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: too few arguments to function '__builtin_strcmp'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:50: error: expected ')' before 'newNode'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: expected expression before ';' token
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:25: error: expected ')' before 'check'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: expected expression before ')' token
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:25: error: expected ')' before 'check'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: expected expression before ')' token
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:25: error: expected ')' before 'check'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: expected expression before ')' token
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:25: error: expected ')' before 'check'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: expected expression before ')' token
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:38: error: expected expression before 'const'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:50: error: expected ')' before 'newNode'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:50: error: expected ')' before 'newNode'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: expected expression before '==' token
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:38: error: expected expression before 'const'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:13: error: expected expression before 'const'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:25: error: expected ')' before 'check'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:25: error: expected ')' before 'check'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: expected expression before '==' token
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:13: error: expected expression before 'const'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: too few arguments to function '__builtin_strcmp'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:25: error: expected ')' before 'check'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: expected expression before ';' token
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:50: error: expected ')' before 'newNode'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: expected expression before ')' token
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:50: error: expected ')' before 'newNode'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: expected expression before ')' token
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:50: error: expected ')' before 'newNode'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: expected expression before ')' token
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:50: error: expected ')' before 'newNode'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: expected expression before ')' token
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:13: error: expected expression before 'const'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^
prog.c:26:6: error: too few arguments to function '__builtin_strcmp'
if (strcmp(const char *check->data, const char *newNode->data) == 0 ){
^