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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2013, 19:10   #1
Solar69
 
Регистрация: 20.11.2013
Сообщений: 7
По умолчанию Поиск символа

Здравствуйте,задача вывести отдельно из входного массива восклицательные и вопросительные предложения.Написал программу ,но почему то она не работает.Помогите исправить данную программу.
Код:
#include <stdio.h>
#include <string.h>
#include <conio.h>

int main()
{
int i=0,len=0,k=0,n1=80;
char str[80],str1[80],str2[80];
gets(str);
len=strlen(str);
printf("dlina stroki=%d",len);
puts("\n");
for(i=0;i<len;i++)
{

if(str[i]=='?')
{
k=i;
for(i=0;i<=k;i++)
{
	str1[i]=str[i];
}
for(i=0;i<=k;i++)
{
	str[i]=str[k+1+i];

	
}
str[len-k]='\0';	
}
else if(str[i]=='!')
{
k=i;
for(i=0;i<=k;i++)
{
	str2[i]=str[i];
}
for(i=0;i<=k;i++)
{
	str[i]=str[k+1+i];
}
str[len-k]='\0';
}
}
puts(str1);
puts(str2);
getch();
}

Последний раз редактировалось Stilet; 20.11.2013 в 20:02.
Solar69 вне форума Ответить с цитированием
Старый 20.11.2013, 20:16   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Предлагаю следующую стратегию:
Код:
#include <iostream>

using namespace std;

int main()
{
    char *s="12 3! 45 5? 456!";
    int k,i;

    // Выводим восклицательные
    for(k=0,i=0;s[i];i++){
        if(s[i]=='!'){
            for(;k<=i;k++) cout<<s[k];
        } else
        if(s[i]=='?') k=i+1;
    }
    cout<<'\n';

    // Выводим вопросительные
    for(k=0,i=0;s[i];i++){
        if(s[i]=='?'){
            for(;k<=i;k++) cout<<s[k];
        } else
        if(s[i]=='!') k=i+1;
    }

    return 0;
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.11.2013, 20:34   #3
Solar69
 
Регистрация: 20.11.2013
Сообщений: 7
По умолчанию

А что в моей стратегии подхода неверно?
Solar69 вне форума Ответить с цитированием
Старый 20.11.2013, 20:57   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну во-первых я там не увидел проверки на ! и ?
Во-вторых фраза
Цитата:
из входного массива восклицательные и вопросительные предложения
подразумевает что это массив строк, а у тебя
Цитата:
char str[80],str1[80],str2[80];
Массив символов.
И в-третьих я тупо не понял логику твоей программы, потому и предложил свою.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск символа в массиве edw1n Помощь студентам 8 06.02.2013 19:22
Поиск символа в Edit sariman Общие вопросы Delphi 7 21.08.2012 07:31
Поиск символа и подсчет пробелов (С) spirit_trapper Помощь студентам 0 21.12.2009 14:15
поиск в строке символа IvanM Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 02.06.2009 22:27
Поиск символа в Edit1.text Alar Компоненты Delphi 0 29.10.2006 19:02