Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Строки!  (Прочитано 6771 раз)
0 Пользователей и 1 Гость смотрят эту тему.
faraon
Гость
« : 23-12-2006 18:52 » 

Помогите!!! Я рассчитываю на вас!  Дана строка. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Найти количество слов,  начинающихся с заданного символа. Как мне задать символ? Программа без модуля <String.h>. Улыбаюсь
Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int word(char str[],int j)
{
 int n=0;
 for(int i=0;i<j;i++)
{
    if (str[i]!=' ')
{
  n=n+1;
  while(str[i+1]!=' ')
  {
i++;
  };
};
};
     return n;
}
void main()
{
int j=0;
char str[256];
char rez[25] ;

clrscr();

FILE *in, *out;
char *way="stroka.txt";

if((in=fopen(way,"r"))==NULL)
{
   printf("Cannot open input file");
}else
    {
fseek(in, 0, SEEK_SET);
fgets(str,256,in);
fclose(in);
    }

while(str[j]!='\0')
j++;

itoa(word(str,j),rez,10);
printf("\nStroka: %s",str);
printf("\nKol-vo slov v file: ");
printf("%s",rez);
getch();
« Последнее редактирование: 14-12-2007 15:26 от Алексей1153++ » Записан
faraon
Гость
« Ответ #1 : 23-12-2006 19:00 » 

Ёщё один вопросик. Как найти длину самого протяженного отрезка знакопостоянства функции на исследуемом отрезке?
Код:
# include<stdio.h>
# include<conio.h>
# include<math.h>
# include<dos.h>

void main (void)
{

clrscr();

double x,y,a,b,k;
int n,flag=0,x1=2,y1=49,pr;

printf ("Granici otrezka\n\n");


printf ("Vvedite a:");
scanf("%lf",& a);
printf ("Vvedite b:");
scanf("%lf",& b);
if (a > b) {pr=a;a=b;b=pr;}

do{
printf ("Vvedite shag:");
scanf("%lf",& k);
}while(k<=0);

do{
printf ("Vvedite N:");
scanf("%d",& n);
}while(n<=0);
n*=3;
delay(5000);
clrscr();

   for(x=a; x<=b; x+=k)
{

if(flag==n) {y1=y1-2;delay(5000);flag=0;}
flag++;
if(y1<1) {x1+=27; y1=49;}
gotoxy(x1,y1--);
if (x<=-2.2) { y=3*x*x*x+2*x; cprintf("f(%lf)=%lf\n",x,y); }
else if(x<=3) { y=exp(-2*x); cprintf("f(%lf)=%lf\n",x,y);}
else {y=sin(x)*sin(x)+fabs(x); cprintf("f(%lf)=%lf\n",x,y);}
}

gotoxy(x1,--y1);
cprintf ("Press any key for Exit");

getch();
}
« Последнее редактирование: 23-12-2006 19:28 от Алексей1153 » Записан
Sel
Злобный
Администратор

ru
Offline Offline

« Ответ #2 : 23-12-2006 19:24 » 

faraon, свои разработки, попытки решить задачи - в студию.
Записан

Слово не воробей. Всё не воробей, кроме воробья.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 23-12-2006 19:39 » 

faraon, для поиска символа можно пользовать функцию
Код:
char *strchr(   const char *string,   int c );

Parameters
string
Null-terminated source string.
c
Character to be located.
Return Value
Each of these functions returns a pointer to the first
occurrence of c in string, or NULL if c is not found.

задача 1)
идея проста (всё записано у тебя в условии )  - ищешь очередной пробел и смотришь символ после него (или, как частный случай - самый первый символ строки) - это начало очередного слова. Дальше вроде понятно, считаешь нужное.

Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines