Форум программистов, компьютерный форум CyberForum.ru

Выбрать те слова, длина которых равна заданному числу - C++

Восстановить пароль Регистрация
 
juli.ya92
2 / 2 / 0
Регистрация: 25.09.2010
Сообщений: 82
25.11.2010, 02:50     Выбрать те слова, длина которых равна заданному числу #1
Выбрать те слова, длина которых равна заданному числу.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2010, 02:50     Выбрать те слова, длина которых равна заданному числу
Посмотрите здесь:

C++ Найти все элементы массива, сумма которых равна заданному числу
C++ Получить все четырехзначные числа, сумма цифр которых равна заданному числу n
Определить количество натуральных трехзначных чисел, сумма цифр которых равна заданному числу N C++
Удалить из массива все элементы, последняя цифра которых равна заданному числу D C++
C++ Среди всех N значных чисел указать те, сумма цифр которых равна заданному числу К
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
25.11.2010, 08:45     Выбрать те слова, длина которых равна заданному числу #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <string.h>
 
#define DELIM " \t\n"
 
int main(void){
    char buf[BUFSIZ], * p;
    int len;
    
    printf("String: ");
    scanf("%[^\n]%*c", buf);
    printf("Length: ");
    scanf("%d", &len);
    
    for ( p = strtok(buf, DELIM); p; p = strtok(NULL, DELIM) )
        if ( strlen(p) == len )
            printf("%s\n", p);
    
    return 0;
}
juli.ya92
2 / 2 / 0
Регистрация: 25.09.2010
Сообщений: 82
25.11.2010, 17:55  [ТС]     Выбрать те слова, длина которых равна заданному числу #3
easybudda,
А как осуществить эту задачу не используя string.h?
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
25.11.2010, 20:05     Выбрать те слова, длина которых равна заданному числу #4
Цитата Сообщение от juli.ya92 Посмотреть сообщение
А как осуществить эту задачу не используя string.h?
мастеря нелепые велосипеды и раздувая текст простенькой програмки на несколько экранов...

Добавлено через 6 минут
ну или так как-нибудь:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <sstream>
 
int main(){
    std::string buf;
    int len;
    
    std::cout << "String: ";
    std::getline(std::cin, buf);
    std::cout << "Length: ";
    std::cin >> len;
    
    std::istringstream ist(buf);
    while ( ist >> buf )
        if ( buf.size() == len )
            std::cout << buf << std::endl;
    
    return 0;
}
<string> и <string.h> - всё-таки разные библиотеки
juli.ya92
2 / 2 / 0
Регистрация: 25.09.2010
Сообщений: 82
25.11.2010, 20:24  [ТС]     Выбрать те слова, длина которых равна заданному числу #5
easybudda,
Нет вообще не исп String!!!
Пример вот!:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# include <stdio.h>
# include <conio.h>
# include <bios.h>
# include <math.h>
# include <iostream.h>
 
void main(void);
int len(char *s);
void zadacha1(char *s, int *k2, int *k3);
 
 
int len(char *s)
{
  int k=0;
  for(;s[k]!='\0';)
  k++;
  return k;
 
}
void zadacha1(char *s, int *k2, int *k3)
{
 
  int kol;
  int k1;
  *k2=0;
  *k3=0;
 
  kol=len(s);
  for (int i=0;i<kol;i++)
   {
    if (s[i]=='E') s[i]='F';
 
    if (s[i]==','&& s[i+1]=='.') (*k2)++;
    if (s[i]=='-'&& s[i-1]==';') (*k3)++;
   }
 
 
}
 
void main(void)
{
  int ss,k2,k3;
  char *s=new char [150];
  int kol;
  char *s1;
  clrscr();
  puts("vvedite stroku");
  gets(s);
 
//  puts(s);
//  kol=len(s);
zadacha1(s,&k2,&k3) ;
  puts(s);
  printf("\n  Є®«ЁзҐбвў® бЁ¬ў®«®ў '.', бв®пйЁе Ї®б«Ґ  ','= %d",k2);
  printf("\n Љ®«ЁзҐбвў® бЁ¬ў®«®ў ';' ЇҐаҐ¤ '-' = %d",k3);
  getch();
}
Yandex
Объявления
25.11.2010, 20:24     Выбрать те слова, длина которых равна заданному числу
Ответ Создать тему
Опции темы

Текущее время: 04:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru