Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2011, 19:55   #1
KODING_ON_C_MYLOVE
Новичок
Джуниор
 
Регистрация: 20.10.2011
Сообщений: 1
Смущение Работа с массивом строк в С

Код:
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
int main()
{
    char *units1[10] = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
    char *units2[10] = { "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
    char *tens[8] = { "twenty",  "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" };
    char number[9], *toknumber[9];
 
    char *tokPtr;
 
    int i, u, result = 0;
 
    printf("Enter string: ");
        gets(number);
 
    tokPtr = strtok( number, " " );
    int p = 0;
 
    while ( tokPtr != NULL )
    {
        toknumber[p++] = tokPtr;
        tokPtr = strtok( NULL, " " );
    }
 
    for( i = 0; i < 9; i++ )
    {
        for ( u = 0; u < 3; u++ )
        {
                if ( strcmp(toknumber[u], units1[i]) == 0 ) {
                        result = result + i;
                }
                if ( (strcmp(toknumber[u], units1[i]) == 0) && (strcmp(etokstring[u], "hundred") == 0) ) {
                        result =  (i + 1) * 100;
                }
        }
 
    }
 
   printf( "%d\n", result);
 
   getch();
 
   return 0;
}
Вводится строка. Потом она разбивается на подстроки и далее сравниваем строку которую ввели и исходный массив units1.
Компилируется, после ввода выдается ошибка, типо выход за границы массива. В чем может быть проблема ?

Последний раз редактировалось KODING_ON_C_MYLOVE; 20.10.2011 в 19:58.
KODING_ON_C_MYLOVE вне форума Ответить с цитированием
Старый 20.10.2011, 20:14   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

KODING_ON_C_MYLOVE

выдается ошибка, типо выход за границы массива

неправильно работаешь с массивом

В чем может быть проблема ?

запусти отладчик и посмотри
Rififi вне форума Ответить с цитированием
Старый 21.10.2011, 02:11   #3
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

чё такое etokstring?
onewho вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с массивом строк Kveigs Общие вопросы C/C++ 2 18.07.2011 20:19
С++. Работа с массивом. Bonne Помощь студентам 2 10.02.2010 21:49
работа с массивом kritik Помощь студентам 10 22.07.2009 20:00
файл с массивом строк, помогите найти ошибку LyaLyaLya Паскаль, Turbo Pascal, PascalABC.NET 7 26.12.2008 23:44
C++.Работа с массивом строк. Очень срочно=( NamelessEndless Помощь студентам 1 29.05.2008 20:08