Sponsored Content
Top Forums Programming Sort ascending n strings in C Post 302409718 by 1/0 on Friday 2nd of April 2010 07:34:26 AM
Old 04-02-2010
Sort ascending n strings in C

Hy guys. My English is not so good, sorry for any mistakes.
I'm a bigginer in C, and I have a problem. I want to sort ascending n strings, but I can't read the strings. Here is what I've done so far:
Code:
//sort ascending n strings

#include <stdio.h>

int main()
{
  int n,i,j;
  char a[20];
  printf("How many strings?");
  scanf("%d",&n);
  
  for (i=1;i<=n;i++)
  {
    printf("a[%d]=",i);
    scanf("%s",&a[i]);
  }
    
  printf("\n");
  
  for (j=1;j<=n;j++)        //Here I want to write them, so I'm sure I've read them good
    printf("%s\n",a[j]);     //the problem apears here: Segmentation fault
    
  return 0;
}

If someone could help me, I would be grateful. Smilie
ps: I have read in this forum something about sscanf(), gets(), but I don't know how to use them... How do I use them in this problem?
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Sort / ascending order

What's the command to sort a file in ascending order and redirect the output to another file? Thanks!!!!!! (1 Reply)
Discussion started by: gyik
1 Replies

2. UNIX for Dummies Questions & Answers

Sort ascending and descending

How can I sort a file as follows ? cols 1 - 10 ascending cols 11 - 18 descending cols 19 - 20 ascending Thanks (1 Reply)
Discussion started by: don_0110
1 Replies

3. Linux

Using sort command to get numeric ascending order

HI everyone, I am trying to use the unix sort command to get a list of numbers sorted in ascending order but having trouble in getting it to work. An example of this issue would be when i am trying to sort the following three number each on a different line "1" , "2" and "116" the sort command... (3 Replies)
Discussion started by: wali4813
3 Replies

4. Shell Programming and Scripting

sort the org_no & member_type column ascending

I have a FILE1.DAT with the following information 21111111110001343 000001004OLF-AA029100020091112 21111111110000060 000001004ODL-CH001000020091112 24444444440001416 000001045OLF-AA011800020091112 23333333330001695 000001039OLF-AA030600020091112 23333333330000111... (5 Replies)
Discussion started by: new2ksh
5 Replies

5. Shell Programming and Scripting

ascending and descending sort

Hi I have a problem with sort command : sort -nk 1.28,1.34 file | sort -nrk 1.27 file | sort -nk 1.22,1.25 file |sort -nk 1.13,1.21 file | sort -nk 1.9,1.12 file | sort -nk 1.1,1.8 file This is the input file 0000000100010000000200004090317003 0000000100010000000230001020592002... (3 Replies)
Discussion started by: Fafa
3 Replies

6. UNIX for Dummies Questions & Answers

How to sort lines by strings between ()?

Hello,everyone. I am learning some Info commands.I put all commands and their explanations in a file. This is a part of it: ESC PgUp (scroll-other-window-backward)Scroll the other window backward ESC Right (forward-word) Move forward a word ESC r (move-to-window-line) ESC TAB... (3 Replies)
Discussion started by: vic005
3 Replies

7. UNIX for Dummies Questions & Answers

sort file returned by FIND command in ascending

Hi there I have to enhance my current file looping to ensure the oldest file being processed first. current command: for FILENAME in `find $MY_DIRECTORY -follow -type f` I manage to get command for order by date modified descending, just can't get the ascending order. Please help for... (3 Replies)
Discussion started by: elsie512
3 Replies

8. UNIX for Dummies Questions & Answers

How to sort a column based on numerical ascending order if it includes e-10?

I have a column of numbers in the following format: 1.722e-05 2.018e-05 2.548e-05 2.747e-05 7.897e-05 4.016e-05 4.613e-05 4.613e-05 5.151e-05 5.151e-05 5.151e-05 6.1e-05 6.254e-05 7.04e-05 7.12e-05 7.12e-05 (6 Replies)
Discussion started by: evelibertine
6 Replies

9. UNIX for Dummies Questions & Answers

Strings in ascending order

Hi, I have a sequence which has 30000 strings which looks like this >string2991 234445 >string224 470561 >string121 675386 >string4098 177229 >string8049 255838 >string8 672382 >string1115 578415 I want it to be arranged in ascending order >string8 672382 >string121... (5 Replies)
Discussion started by: siya@
5 Replies

10. Shell Programming and Scripting

Sort date time in ascending order

Hi, i had a data block (coming from pipe from other codes) as: H YF_CO.dat 77164 11/17/2013 04:00:02 731374590.96 1 1 731374590.96 76586 77164 578 2988 Y H YF_CO.dat 77164 11/17/2013 04:00:07 731374590.96 1 4 731374590.96 76586 77164 578 2988 Y H YF_CO.dat 77178 ... (5 Replies)
Discussion started by: pr5439
5 Replies
RADIXSORT(3)						   BSD Library Functions Manual 					      RADIXSORT(3)

NAME
radixsort, sradixsort -- radix sort LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <limits.h> #include <stdlib.h> int radixsort(const unsigned char **base, int nmemb, const unsigned char *table, unsigned endbyte); int sradixsort(const unsigned char **base, int nmemb, const unsigned char *table, unsigned endbyte); DESCRIPTION
The radixsort() and sradixsort() functions are implementations of radix sort. These functions sort an array of pointers to byte strings, the initial member of which is referenced by base. The byte strings may contain any values; the end of each string is denoted by the user-specified value endbyte. Applications may specify a sort order by providing the table argument. If non-NULL, table must reference an array of UCHAR_MAX + 1 bytes which contains the sort weight of each possible byte value. The end-of-string byte must have a sort weight of 0 or 255 (for sorting in reverse order). More than one byte may have the same sort weight. The table argument is useful for applications which wish to sort differ- ent characters equally, for example, providing a table with the same weights for A-Z as for a-z will result in a case-insensitive sort. If table is NULL, the contents of the array are sorted in ascending order according to the ASCII order of the byte strings they reference and endbyte has a sorting weight of 0. The sradixsort() function is stable, that is, if two elements compare as equal, their order in the sorted array is unchanged. The sradixsort() function uses additional memory sufficient to hold nmemb pointers. The radixsort() function is not stable, but uses no additional memory. These functions are variants of most-significant-byte radix sorting; in particular, see D.E. Knuth's Algorithm R and section 5.2.5, exercise 10. They take linear time relative to the number of bytes in the strings. RETURN VALUES
The radixsort() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indi- cate the error. ERRORS
[EINVAL] The value of the endbyte element of table is not 0 or 255. Additionally, the sradixsort() function may fail and set errno for any of the errors specified for the library routine malloc(3). SEE ALSO
sort(1), qsort(3) Knuth, D.E., "Sorting and Searching", The Art of Computer Programming, Vol. 3, pp. 170-178, 1968. Paige, R., "Three Partition Refinement Algorithms", SIAM J. Comput., No. 6, Vol. 16, 1987. McIlroy, P., "Computing Systems", Engineering Radix Sort, Vol. 6:1, pp. 5-27, 1993. HISTORY
The radixsort() function first appeared in 4.4BSD. BSD
January 27, 1994 BSD
All times are GMT -4. The time now is 01:03 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy