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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2013, 13:58   #1
Karnal
Новичок
Джуниор
 
Регистрация: 10.03.2013
Сообщений: 1
По умолчанию Завершается работа программы раньше.

Не понимаю почему завершается программа пробыавал убирать строчку с выделением памяти но все равно программа не доходит даже до вывода в консоль текста "slovo1"
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

        void newarray(char** array,int p)
        

int main()
{
 char** a=0;char s[100]; int i,n=0;
 
 printf("skolko slov hotite vvesti?\n");
 scanf("%d",n);
 
 a=(char**)malloc(sizeof(char*)*n);
 
 for(i=0;i<n;i++)
 {
  printf("slovo%d \n",i+1);
  scanf("%s",s);
  *(a+i)=(char*)malloc(sizeof(char)*strlen(s));
  strcpy(*(a+i),s);
 }
 
 newarray(a,n);
   
   system("PAUSE");	
   return EXIT_SUCCESS;
}


void newarray(char** array,int p)
{
 int k=0,m,i,j;
 char **q;
 
 for(i=0;i<p;i++)
 {
  for(j=i+1;j<=p;j++)
  if(array[i]==array[j])
  {
   q=(char**)malloc(sizeof(char*)*(m+1));
   *(q+m)=(char*)malloc(sizeof(char)*strlen(array[j]));
   strcpy(q[m],array[j]);
   m++;
   k=1;
  }
  if(k=1)
   {
    q=(char**)malloc(sizeof(char*)*(m+1));
    *(q+m)=(char*)malloc(sizeof(char)*strlen(array[j]));
    strcpy(q[m],array[j]);
    m++;
    k=0;
   } 
 } 
}

Последний раз редактировалось Karnal; 10.03.2013 в 14:41. Причина: вот
Karnal вне форума Ответить с цитированием
Старый 10.03.2013, 14:36   #2
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

само собой... цикл не выполняется....
код ужасный, на стоко, что думается надо половину выкинуть.
Почему цикл не выполняется? потому что условие возвращает false
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Старый 10.03.2013, 15:01   #3
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Код:
scanf("%d",n);
забыл апмерсанд перед n
rrrFer вне форума Ответить с цитированием
Старый 10.03.2013, 17:26   #4
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Код:
scanf("%d",&n);
.........
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не завершается функция! Theseus Общие вопросы C/C++ 11 24.07.2012 03:53
Не завершается приложение. roma20231 Win Api 2 11.05.2012 19:36
GetMailslotInfo завершается с ошибкой. tamTam C# (си шарп) 0 26.12.2011 14:42
Программа стартует и сразу же завершается IceExecutioner Общие вопросы Delphi 1 03.03.2011 13:18
Запуск программы , перед экраном приветствия или раньше ? gefest58 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 06.02.2011 10:59