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

Из массива строк выделить подстроки состоящие из русских букв, затем найти среди них самую котороткую - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дан массив целых чисел. Найти В этом массиве минимальный элемент т и максимальный элемент м. Вывести сумму элементов от минимального до максимального http://www.cyberforum.ru/cpp-beginners/thread804799.html
Дан массив целых чисел. Найти В этом массиве минимальный элемент т и максимальный элемент м. Вывести сумму элементов от минимального до максимального элемента не включая их.
C++ Указатель на объект с перегруженным оператором вывода(с наследованием) Есть два класса: строка(базовый) и комплексное число(производный). В базовом классе есть поле stri (указатель на char). В производном классе есть перегруженный оператор вывода для этого поля. Как следует написать этот оператор(или что-либо ещё изменить), чтобы он выдавал на экран stri, а не адрес памяти? #include "stdafx.h" #include "iostream" using namespace std; int ck=0,cf=0; http://www.cyberforum.ru/cpp-beginners/thread804794.html
Чем заголовочные файлы отличаются от обычных бибилиотек? C++ C++
вроди как это одной и тоже, только в стандартной библиотеки C все файлы заголовочные, а в C++ обычные библиотеки... В чем разница между ними, ведь и там и там лежат подобные сущности.
Ругается компилятор C++
Создать класс жидкость, имеющий название (указатель на строку), плотность. Определить конструкторы, деструктор и операторы вывода в поток. Создать производный класс - спиртные напитки, имеющий крепость. Определить функции переназначения плотности и крепости. Продемонстрировать работу классов. #include <iostream> class jidkost { public: jidkost(char *Njid, double Pjid); protected: char...
C++ Найти количество действительных корней квадратного уравнения http://www.cyberforum.ru/cpp-beginners/thread804754.html
не могу найти ошибку.Компилятор ругается Суть задачи : Определить кол-во действительных корней квадратного уравнения ax^2+bx+c=0 с произвольными значениями a,b,c. #include <iostream> #include <math.h> void main() double a,b,c,d,x1,x2; std::cout<<"Vvedi koeficienti a,b,c"; std::cin>>a; std::cin>>b;
C++ вывести значение числа цифр в дробной части числа #include "stdafx.h" #include <locale.h> #include <conio.h> #include <iostream> using namespace std; class Chislo { double x; подробнее

Показать сообщение отдельно
Sabonar
3 / 3 / 0
Регистрация: 11.10.2012
Сообщений: 27
10.03.2013, 19:43     Из массива строк выделить подстроки состоящие из русских букв, затем найти среди них самую котороткую
Продолжение задания:
В строке, содержащей самую коротку подстроку(из условия) - русские буквы в конце.
Помогите пожалуйста дописать эту прогу.
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <iostream>
using namespace std;
 
 
void substr(char str[][81], int n, char str1[][81], int*n1, int num[])
{
int i,a;
char *s,*s1,*s2; 
 
*n1=0;  
for(i=0;i<n;i++)
   {
   s=str[i]; 
   while(*s)
    {
        a=0;
        if ('А'<*s && *s<'п' || 'р'<*s && *s<'ё')
          a++;
     }
        if (a==strlen(str[i]))
        {
            num[*n1]=i; 
            strncpy(str1[*n1],0,strlen(str[i]));
            (*n1)++;
        }
     }
    }
}
 
void korot(char str[][81], int n, char str1[][81])
{
int i,imin,min;
char *s;
min=strlen(str1[0]);
imin=0;
for(i=1;i<n;i++);
{
    if (strlen(str[i])<min)
    {
        min=strlen(str[i]);
        imin=i;
    }
}
 
 
 
}
void rus(char str[][81], int n, char str1[][81], int*n1, int num[])
{
int i,a;
char *s;
a=strlen(str[num[imin]]);
do
a--;
while ('А'<str[num[imin]][a] && str[num[imin]][a]<'п' || 'р'<str[num[imin]][a] && str[num[imin]][a]<'ё');
if (a!=strlen(str[num[imin]])) 
}
 
int main()
{
int n=0, n1, num[100], f, i, k;
char str [10][81], str1[10][81];
printf("input strings: \n");
while(n<10 && *gets(str[n]))n++;
substr(str, n, str1, &n1, num); 
printf("strings: \n");
for(i=0; i<n1; i++)
   puts(str1[i]);
 
return 0;
}
Вот мой нерабочий код, наброски с алгоритма. Каждое подзадание разбито на функции. Прошу помощи!

Добавлено через 2 часа 2 минуты
Решил попробовать с нуля .
Вот код, который выделяет подстроки , состоящие только из русских букв. Подскажите как лучше сделать диапозон русских букв, потому что мой - не рабочий.
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
void substr(char str[][81], int n, char str1[][81], int*n1, int num[])
{
int i;
char *s,*s1,*s2;
*n1=0;
for(i=0;i<n;i++)
   {
   s1=NULL;
   s=str[i];
   while(*s)
      if ('А'<*s && *s<'Я' || 'а'<*s && *s<'я')
         {
         s2=s-1;
         while('А'<*s && *s<'Я' || 'а'<*s && *s<'я'&&*s)
            s++;
         if (s2>=s1&&s1)
               {
               num[*n1]=i;
               strncpy(str1[*n1],s1,s2-s1+1);
 
               str1[*n1][s2-s1+1]='\0';
               (*n1)++;
               }
            s1=s;
            }
      else s++;
         }
 
   }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru