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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2012, 21:04   #1
blain
Пользователь
 
Регистрация: 26.01.2012
Сообщений: 19
По умолчанию строки

Дана символьная строка. Оставить в ней только слова, содержащие хотя бы одну букву «А».

Не работает, почему, понять не могу(

Код:
#include <stdio.h>
#include <conio.h>
#include <string.h>
# define N 100
int main(void)
{
    char str[N], str1[N];
    int i, k=0, j=0, x=0;
    printf("Vvedi stroku\n");
    for (i=0; i<N; i++)
     scanf("&c", &str[i]);
    while (str[i]!='\0')
    {
          i++;
          if (str[i]==' ') 
          {
                        for (k; k<=i; k++)
                          if (str[i]=='a') j++ ;
                        if (j!=0)
                        {
                            for (k; k<=i; k++)
                             str1[x]=str[k];
                             j=0;
                        }
          }
    }
    for(i=0; i<N; i++)
    puts(str1[i]);
    getch();
    return 0;
}
blain вне форума Ответить с цитированием
Старый 19.02.2012, 21:08   #2
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Что значит "не работает"? Выражайтесь понятнее.
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 19.02.2012, 21:12   #3
Juffin
Форумчянин
Форумчанин
 
Аватар для Juffin
 
Регистрация: 05.04.2009
Сообщений: 446
По умолчанию

Переменную i надо обнулить перед циклом while.
Nobody expects Spanish Inquisition!
Juffin вне форума Ответить с цитированием
Старый 19.02.2012, 21:25   #4
blain
Пользователь
 
Регистрация: 26.01.2012
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Juffin Посмотреть сообщение
Переменную i надо обнулить перед циклом while.
там появляются непонятно какие символы, прога работает, но на выходе даёт что-то непонятное(
blain вне форума Ответить с цитированием
Старый 19.02.2012, 23:28   #5
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Господи... "что-то непонятное"... ЧТО именно? Принтскрин экрана работающей проги. И учимся формулировать вопросы.
Но сначала: k надо обнулять в циклах. i тоже надо обнулить перед while, как вам сказал Juffin
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 20.02.2012, 22:02   #6
blain
Пользователь
 
Регистрация: 26.01.2012
Сообщений: 19
По умолчанию

исправил листинг, всё равно что-то не так, что не могу понять

Код:
#include <stdio.h>
#include <conio.h>
#include <string.h>
# define N 100
int main(void)
{
    char str[N], str1[N];
    int i=0, k=0, j=0, x=0, q=0;
    printf("Vvedi stroku\n");
    for (i=0; i<N; i++)
     scanf("&c", &str[i]);
    i=0; 
    while (str[i]!='\0')
    {
          i++;
          if (str[i]==' ') 
          {
                        k=q;
                        for (k; k<=i; k++)
                          if (str[i]=='a') j++ ;
                        if (j!=0)
                        {   
                            for (q; q<=i; q++)
                             str1[x]=str[q];
                             j=0;
                        }
          }
    }
    for(i=0; i<N; i++)
    printf ("%c", str1[i]);
    getch();
    return 0;
}
на выходе программа выдаёт следующее:


Последний раз редактировалось blain; 20.02.2012 в 22:08.
blain вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сделать в гриде строки выше, чтобы не растягивать строки до бесконечности kris__tina БД в Delphi 1 09.06.2011 15:31
Даны строки S и S0. Удалить из строки S все подстроки, совпадающие с S0 . Если совпадающих подстрок нет, Шпунюся Помощь студентам 1 16.12.2010 21:02
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
Определять максимальную длину той части строки s, которая не содержит символы из строки s1. Александе еть я Общие вопросы C/C++ 5 13.04.2010 20:54
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10