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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2012, 12:23   #1
Юлия-
 
Регистрация: 11.11.2012
Сообщений: 7
Печаль не понимаю где ошибка(((

задан текст нужно вывести на экран количество слов где первая и последняя буквы одинаковы
Код:
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
char main()
{
  setlocale(LC_ALL,"Rus");
  char a[200],k[50],x,y;
  int j,t,i=0;
  //cout << "Введите строку:\n";
  //cin >> a;
  cin.get(a,200,'.');
  while (a[i]!='.')
  {
    for (j=0;a[j]==' ';j++)
    {
      if (a[j]==' ')
      {
        strncpy(k,a,j);
      }
    }
    x=k[0];
    y=k[j];
    if (x==y)
    {
      for (t=0;t==j;t++)
      {
        cout << k[t];
      }
    }
    i++;
  }
  _getch();
  return 0;
}

Последний раз редактировалось Stilet; 15.12.2012 в 15:15.
Юлия- вне форума Ответить с цитированием
Старый 15.12.2012, 14:29   #2
LynXzp
Пользователь
 
Аватар для LynXzp
 
Регистрация: 04.10.2012
Сообщений: 95
По умолчанию

Ошибок много, пытаюсь сейчас исправить.
Во-первых
так в строку не попадет точка
cin.get(a,200,'.');
соотв условие никогда не выполнится
while (a[i]!='.').

И много лишних действий.
Код:
int main()
{	setlocale(LC_ALL,"Rus");
	char a[200];
	int j=0,count=0;
	//cout << "Введите строку:\n";
	//cin >> a;
	cin.get(a,200,'.');
	while (a[j]!='\0')//так конец строки
		{   j++;
			int first=j;//первая буква в слове
			if(first==1)first=0;
//исключение для первого слова. По-другому что-то в голову не приходит
			while((a[j]!=' ')&(a[j]!='\0'))j++;
//переход к последней букве и обязательно смотрим не только на пробел а и на конец строки
			if (a[first]==a[j-1])count++;
//сравниваем буквы, копировать слово не нужно
		}
	cout<<" count="<<count;
	_getch();
	return 0;
}
Пишу на чистом С, плюсы спилил.

Последний раз редактировалось Stilet; 15.12.2012 в 15:16.
LynXzp вне форума Ответить с цитированием
Старый 15.12.2012, 15:13   #3
Юлия-
 
Регистрация: 11.11.2012
Сообщений: 7
По умолчанию

спасибо большое очень благодарна)))
Юлия- вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не понимаю где ошибка lisica198808 Помощь студентам 1 29.11.2012 00:23
не понимаю где ошибка Hulio Паскаль, Turbo Pascal, PascalABC.NET 2 25.01.2012 23:49
Не понимаю где ошибка ВДПУ Помощь студентам 2 21.11.2011 20:50
Ошибка и не понимаю где она cargo29 Общие вопросы Delphi 4 10.02.2011 17:11
Не понимаю где увидеть то, что передается в Post запросе TBrowser'ом KentOne Работа с сетью в Delphi 0 03.08.2010 18:48