i want to print all the rows of my array and for whatever reason im having some difficulty, probably a quick fix but i cant find it
Code:
#include <stdio.h>
#define length 1024
int Capitalize(int ch);
void UserInput(char string[]);
char NEW_2D_array(char* str);
/* the main function prints a message to the user, the user inputs a string
** other functions are called to make sure that the desired information is found
** and ultimately printed neatly in a table like this...
**
Total Words: 6
Word Count Word Character Count
-------------------------------------------------------
1 SEA 3
2 TO 2
3 SHINING 7
4 C 1
5 HELLO 5
6 WORLD 5
--------------------------------------------------*/
char TWO_D_array[1024][100];
int wordcount, charcount;
int r, c, i;
int main()
{
char str[length];
int i, ch;
ch = 0;
printf("Enter a string of characters\n"); /* this is where the user */
printf("End input by pressing <CTRL-Z>\n\n"); /* will input their string */
printf("Enter string: ");
UserInput(str);
/* this part goes through every letter of the */
/* array and checks to see if the letter is upper case */
for (i = 0; str[i] != '\0'; i++)
{
str[i] = (char) Capitalize(str[i]);
}
NEW_2D_array(str);
printf("Word Count Word Character Count\n");
printf("--------------------------------------------------\n");
while (TWO_D_array[r][c] != '\0')
{
printf("%-21d%s%10d\n", wordcount, TWO_D_array, charcount );
}
return 0;
}
char NEW_2D_array(char* str)
{
r = c = i = 0;
charcount = 0;
wordcount = 0;
for (i = 0; str[i] != '\0'; i++)
{
TWO_D_array[r][c] = str[i];
if ((str[i] == ' ') || (str[i] == '\n'))
{
r++;
c = 0;
}
else
{
c++;
}
}
return (TWO_D_array[r][c]);
}
/* this function capitalizes letters that are lower case by using math */
int Capitalize(int ch)
{
if (( 'a' <= ch) && (ch <= 'z' ))
{
return (ch + 'A' - 'a');
}
else
{
return ch;
}
}
/* takes input from user by cycling through every letter in the string up until
** the EOF marker, when the marker is hit, the last element in the array is set
** as the NULL character */
void UserInput(char string[])
{
int ch;
int i = 0;
while ( (ch = getchar()) != EOF )
{
if (ch != '\n')
{
string[i++] = (char) ch;
}
}
string[i] = '\0';
}