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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2016, 19:04   #1
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию Как вводить слова с клавиатуры в char *s[N];

Добрый вечер. Как вводить слова с клавиатуры в массив типа char *s[N];?Язык Си. Спасибо

Последний раз редактировалось Вероника99; 17.11.2016 в 19:06.
Вероника99 вне форума Ответить с цитированием
Старый 17.11.2016, 19:18   #2
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

Разобралась
Код:
 char **words=new char*[SIZE];
  char buf[100];
  int len=SIZE;
   for(int i=0;i<SIZE;i++)
   {
		cin.getline(buf, MAXLENGTH);
		words[i] = new char [strlen(buf) + 1];  //выделяем память на новую строку
		 strcpy(words[i], buf);  //и копируем новую строку в элемент p[size].
	   fflush(stdin);
	
   }

Последний раз редактировалось Вероника99; 17.11.2016 в 19:26.
Вероника99 вне форума Ответить с цитированием
Старый 17.11.2016, 19:43   #3
Вероника99
Форумчанин
 
Регистрация: 15.12.2013
Сообщений: 414
По умолчанию

Подскажите в чем ошибка??не сортируется...
Код:
void Merge(char A[][MAXLENGTH], int first, int last)
{
    int middle, start, final, j,k;
    char *mas=new char[100];
    middle=(first+last)/2; //вычисление среднего элемента
    start=first; //начало левой части
    final=middle+1; //начало правой части
     
    for(j=first; j<=last; j++) //выполнять от начала до конца
 for (k = j + 1; A[j][k] != '\0'; k++) 
    if ((start<=middle) && ((final>last) || (A[start][k]<A[final][k])))
    {
    mas[j]=A[start][k];
    start++;
    }
    else
    {
    mas[j]=A[final][k];
    final++;
    }
//возвращение результата в список
    for (j=first; j<=last; j++)
        for (k = j + 1;A[j][k] != '\0'; k++) 
        A[j][k]=mas[j];
    delete[]mas;
}
//рекурсивная процедура сортировки
void MergeSort(char A[][MAXLENGTH], int first, int last)
{
    // for (int i = 0; i < SIZE; i++) 
    {if (first<last)
    {
        MergeSort(A, first, (first+last)/2); //сортировка левой части
        MergeSort(A, (first+last)/2+1, last); //сортировка правой части
        Merge(A, first, last); //слияние двух частей
    }
     }
 
      for (int i = 0; i < SIZE; i++)
   {
    puts(A[i]);
 
    }
}
Вероника99 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi,как поменять слова в array of char местами Neostat Помощь студентам 19 29.12.2014 17:41
как исправить ошибку invalid conversion from const char* to char Ника К Помощь студентам 5 01.06.2012 00:13
Вводить числа с клавиатуры и записывать их в массив JesusChristS Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 29.06.2011 13:31
как вводить ascii коды с клавиатуры на ноутбуке? ololo-schoolboy Свободное общение 0 06.01.2011 20:30
вводить свои слова и цифры для регистрации. Nicky21 Microsoft Office Access 2 18.11.2008 11:04