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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2013, 01:47   #1
Дмитрий123d
 
Регистрация: 24.11.2013
Сообщений: 5
По умолчанию C++ Массив. Не работает программа

Помогите пожалуйста по программированию решить массив
Здание: Дана строка символов, признак конца строки "." . Строка состоит из слов разделенных пробелами. Вывести слова заканчивающиеся символом "А".

Я набросал программу, но она не работает
В чем дело подскажите пожалуйста
Код:
#include <stdio.h>
#include <conio.h>
#define N 80
main()
{char s[N];
int i=0,j,pb,q;
scanf ("%c", &s[i]);
while (s[i]!='.')
{
scanf ("%c", &s[i]);}
i++;
i=0;
while(s[i]!='.')
pb=i;
while (s[i]!=' ' &&s[i]!='.')
{
i++;
}
if(s[i]!='a'&&s[i+1]!='.')
{
for(q=pb;q<=i;q++)
{
printf ("%c", s[q]);
}
}
while(s[i]==' ')
{
i++;
}
}
getch();
Дмитрий123d вне форума Ответить с цитированием
Старый 24.11.2013, 06:05   #2
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,609
По умолчанию

Код:
while (s[i]!='.')
{
scanf ("%c", &s[i]);}
Это бесконечный цикл, так как i остается неизменно равным 0. i++; должно быть внутри фигурных скобок.

Дальше ошибочно.

Просто main без указания типа возврата может компилятором типа gcc и не приниматься.

getch вне main

Код:
#include <stdio.h>
#include <conio.h>

#define N 80

int main()
{
char s[N];
int i=0,j;

scanf ("%c", &s[i]);

while (s[i]!='.' && i < 80)
{
i++;
scanf ("%c", &s[i]);
}

printf("\nend getting s\n");

for(i=0;i< 80 && s[i]!='.' ; i++)
printf("%c", s[i]);

printf("\nend output\n");

i=0;


while (s[i] != '.')
{
i++;

if (s[i] == ' ' && s[i-1] == 'A' && i > 0 )
{
j = i - 1;
while (j >=0 && s[j] !=' ')
j--;

if (s[j] == ' ') j++;
if (j<0) j = 0;

for(;j < i;j++)
printf("%c", s[j]); 
printf("\n");
}


}


if (s[i-1] == 'A')
{

j = i - 1;
while (j >=0 && s[j] !=' ')
j--;

if (s[j] == ' ')
j++;


for(;j< i;j++)
printf("%c", s[j]); 


}

getch();
return 0;
}
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 24.11.2013, 19:47   #3
Дмитрий123d
 
Регистрация: 24.11.2013
Сообщений: 5
По умолчанию

Цитата:
Сообщение от challengerr Посмотреть сообщение
Код:
while (s[i]!='.')
{
scanf ("%c", &s[i]);}
Это бесконечный цикл, так как i остается неизменно равным 0. i++; должно быть внутри фигурных скобок.

Дальше ошибочно.

Просто main без указания типа возврата может компилятором типа gcc и не приниматься.

getch вне main

Код:
#include <stdio.h>
#include <conio.h>

#define N 80

int main()
{
char s[N];
int i=0,j;

scanf ("%c", &s[i]);

while (s[i]!='.' && i < 80)
{
i++;
scanf ("%c", &s[i]);
}

printf("\nend getting s\n");

for(i=0;i< 80 && s[i]!='.' ; i++)
printf("%c", s[i]);

printf("\nend output\n");

i=0;


while (s[i] != '.')
{
i++;

if (s[i] == ' ' && s[i-1] == 'A' && i > 0 )
{
j = i - 1;
while (j >=0 && s[j] !=' ')
j--;

if (s[j] == ' ') j++;
if (j<0) j = 0;

for(;j < i;j++)
printf("%c", s[j]); 
printf("\n");
}


}


if (s[i-1] == 'A')
{

j = i - 1;
while (j >=0 && s[j] !=' ')
j--;

if (s[j] == ' ')
j++;


for(;j< i;j++)
printf("%c", s[j]); 


}

getch();
return 0;
}




СПАСИБО БОЛЬШОЕ! Программа запускается! Но почему то не работает. Программа не выполняет функцию отбрасывая слов не оканчивающихся на "А". А ведь условие программы выделять тока слова оканчивающиеся на "А"
Дмитрий123d вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа на Visual C# работает при запуске руками, но не работает при попытки автоматического запуска Bug$ Помощь студентам 18 21.10.2013 16:22
Программа работает в WinXP и не работает в Win7 blblbl-org Общие вопросы Delphi 4 23.04.2012 19:50
Программа работает пошагово, но не работает при запуске -Katerina- Microsoft Office Excel 3 12.07.2011 03:40
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? >>STINGER<< Помощь студентам 4 08.03.2011 09:56