{"id":22514975,"url":"https://github.com/en9inerd/concordance","last_synced_at":"2026-04-18T00:01:49.601Z","repository":{"id":157681089,"uuid":"77095939","full_name":"en9inerd/concordance","owner":"en9inerd","description":"Test for an interview in C (also did it for myself in C++ and Python). Tool determines lines for every unique word in a file","archived":false,"fork":false,"pushed_at":"2017-04-16T05:07:23.000Z","size":85,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T01:55:18.141Z","etag":null,"topics":["c","cpp","interview","programming","python","test"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/en9inerd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-12-22T00:19:46.000Z","updated_at":"2019-03-03T05:38:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"ec55ddaa-72b6-4162-bc0a-eef2e9cbcf5d","html_url":"https://github.com/en9inerd/concordance","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/en9inerd/concordance","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/en9inerd%2Fconcordance","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/en9inerd%2Fconcordance/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/en9inerd%2Fconcordance/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/en9inerd%2Fconcordance/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/en9inerd","download_url":"https://codeload.github.com/en9inerd/concordance/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/en9inerd%2Fconcordance/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31950891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T17:29:20.459Z","status":"ssl_error","status_checked_at":"2026-04-17T17:28:47.801Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","cpp","interview","programming","python","test"],"created_at":"2024-12-07T03:27:14.326Z","updated_at":"2026-04-18T00:01:49.580Z","avatar_url":"https://github.com/en9inerd.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Concordance\n\n**Task**: Write a C program that takes as input (via a command line argument) a sufficiently large text document (several are available online for testing; e.g. via Project Gutenberg), and produces as output (via stdout) an alphabetically-ordered listing of each unique word in the document (case insensitive and space separated, though be careful to consider hyphenated words), along with the lines from the input document that the word appears on. Each unique word (and the list of lines that it appears on) should be on a separate line in the output.\n\nFor example, taking the following text as input, in a file named \"input.txt\" in the current directory:\n\n```\nThis is\nsome kind OF text it\nIs an example of text\n```\n\nSupplied as an argument to an executable named \"concordance\" in the current directory:\n\n```$ ./concordance ./input.txt```\n\nThe following would be the output:\n```\nan 3\nexample 3\nis 1 3\nit 2\nkind 2\nof 2 3\nsome 2\ntext 2 3\nthis 1\n```\n\nThe program must:\n  - Be written in standard C, and able to be compiled on Linux or MacOS. A Makefile should be supplied to enable easy compilation by the reviewer.\n  - Not depend on any libraries excepting C standard libraries.\n  - Utilize your own data structure code for all core data structures.\n  - Output only the required output and exit upon completion.\n  - Be well structured, cleanly implemented and well-commented.\n  - Use a time (and space, but time is more important than space) efficient algorithm.\n  - Be able to handle arbitrarily large files.\n\n## Usage\n\nUse `make all` to build tool in C.  \nUse `make cplus` to build tool in C++.  \nAnd `make clean` to clean.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fen9inerd%2Fconcordance","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fen9inerd%2Fconcordance","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fen9inerd%2Fconcordance/lists"}