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

упорядочить слова в четных строках в порядке убывания в них гласных - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Тело падает под действием силы тяжести http://www.cyberforum.ru/cpp-beginners/thread746366.html
Тело падает под действием силы тяжести с нулевой начальной скорости. Движение описывается следующей системой дифференциальных уравнени Система: (как скобочку сделать не знаю) dx/dt=V dV/dt=g/1+k
C++ Построить фигуру, которая состоит из трех концентрических колец разного цвета. Фигура движется по кругу по часовой стрелке Построить фигуру, которая состоит из трех концентрических колец разного цвета. Фигура движется по кругу по часовой стрелке http://www.cyberforum.ru/cpp-beginners/thread746358.html
Поменять местами максимальный и минимальный элемент матрицы C++
Здравствуйте. Задача вроде бы простая, но у меня возникло затруднение. Искал подобные, но свою ошибку увидеть не могу в упор. Суть задачи: дана матрица n на m. Поменять местами максимальный и минимальный элемент матрицы. Вот мой код: #include "stdafx.h" #include <iostream> using namespace std;
база данных C++
Собственно, хочу написать программу с базой данных. Самое главное, хочу разобраться в совместном использовании классов, списков и разделения в файлах. Например, возьмем базу данных студентов. Class base_date { private: char name; int age,number_group; public:
C++ структуры. описать структуру заповедник http://www.cyberforum.ru/cpp-beginners/thread746341.html
Описать структуру заповедник, что содержит в информацию о животных, содержащихся в заповеднике: название, вид класс, количество особей, место естественного пребывания, информация о занесении в красную книгу. создать массив таких структур и заполнить его. вывести на экран всех животных занесенных в красную книгу.
C++ Определить, есть ли в строке(string) хотя бы одно число и определить есть ли в тексте хотя бы два числа. Помогите пожалуйста с заданиями. Определить, есть ли в строке(string) хотя бы одно число. Определить есть ли в тексте хотя бы два числа. подробнее

Показать сообщение отдельно
mr_Eugene
0 / 0 / 0
Регистрация: 26.11.2012
Сообщений: 18
26.12.2012, 13:01     упорядочить слова в четных строках в порядке убывания в них гласных
Доброго времени суток !Помогите пожалуйста советомНе могу реализовать функцию обработки в программе.Очень нужна ваша помощь! .Вот суть задания: вводим число строк, вводим строки, обрабатываем таким образом,чтобы в четных строках слова были сортированы по мере уменьшения в них гласных букв.Слова могут разделяться пробелами и прочими знаками препинания.Вот код (сделана функция ввода/вывода,начата функция обработки текста:все слова строки разделяются по раздельности и считается общее число слов в строке).Заранее искренне благодарен.
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
//---------------------------------------------------------------------------
#include<stdio.h>
#include<conio.h>
#include<alloc.h>
#include<string.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
 
 
char** input_text(int);
void output(char**,int);
#pragma argsused
int main(int argc, char* argv[])
{
 int n;
 int fl1=0,fl2=0,z;
 char **text,**newtext={'\0'};
 free(newtext);
 free(text);
 clrscr();
 fflush(stdin);
 puts("Hello let's start");
 do
   {
   puts("Please choose pozition in the menu: ");
   puts("1.Input text") ;
   puts("2.Output text") ;
   puts("3.Confirming the change");
   puts("4.Outout new text");
   puts("5.help");
   puts("6.exit");
   scanf("%d",&z);
   switch(z)
            {
             case 1:
             puts("Please enter how much string do you want: ");
             do
               {
                scanf("%d",&n);
                if ((n<=0)||(n>200)) puts("\nError,please enter n>1 and n<200\n");
               }
               while((n<0)||(n>200));
               puts("\n Okey \n");
 
             fl1=1;
             text=input_text(n);
             break;
             case 2:
             puts("Input text:");
             output(text,n);
             break;
             case 3:
 
             case 5:
             puts ("\n1. Vvodit'sa kol-vo strok,dalee vvodyatsya stroka(i) \n");
             puts ("\n2. Vivodit'sa vvedennbIe stroki\n");
             puts ("\n3. ObrabatbIvautsya stroki\n");
             }
 
 
 
    }
     while(z!=6);
        return 0;
}
//---------------------------------------------------------------------------
 
 
 
void output(char **text,int n)
{
for (int i=0;i<n;i++)
  puts(text[i]);
}
 
 
char** input_text(int n)
  {
  char s[130],**text;
  int i;
 
  text=(char**)malloc(n*sizeof(char*)); //âûäåëåГ*ГЁГҐ ГЇГ*ìÿòè äëÿ ñòðîê
  fflush(stdin);
  for(i=0;i<n;i++)
    {
    printf("------------Enrer text (string %d)------------\n",(i+1));
    gets(s);
    text[i]=(char*)malloc((strlen(s)+1)*sizeof(char)); //âûäåëåГ*ГЁГҐ ГЇГ*ìÿòè äëÿ ñèìâîëîâ ñòðîêè
    strcpy(text[i],s);
    }
  return text;
  }
 
char** obrabotka(char** text,int n)
{
char textdata[130]="\0";
char newdata[130]="\0";
const char znaki[]="-+?,.;;$#@![]{} _";   //массив знаков препинания
char** newtext;
char* data_b;
int nword,a,b,i,end ;
clrscr();
newtext=(char**)malloc(n*sizeof(char*)); //Выделение памяти для обработанной строки
for(i=0;i<n;i++)
   {
    newtext[j]=(char*)malloc(130)*sizeof(char));
   }
for (a=0;a<n;a++);   //распределение слов строки по отдельности
  {
  data_b=text[a];
  strcat(data,data_b);
  pt = strok(data,znaki);
  i=0;
 
  while(pt)                                
      {
       pt1[i]=pt;
       pt=strok(NULL,znaki);
       i++
      }
  nword=i-1;       //подсчет числа слов
 
//Обработка текста...
i=0;
while(i<=nword)
Добавлено через 10 минут
Также написана программа для подсчета гласных в словах строки:
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#include "conio.h"
#include "stdlib.h"
 
 
void s_free(char* s)
{
 free(s);
}
 
int strlen(char* str)
{
 int len = 0;
 while(*str != '\0')
     {
      len++;
      str++;
     }
 return len;
}
 
void strcpy(char* s, char* str)
{
 int len = strlen(str);
 for(int i=0; i <= len; i++)
   {
    *(s +i) = *(str+i);
   }
}
 
char* s_malloc(char* str)
   {
    char* s = (char*)(malloc((strlen(str)+1) * sizeof(char)));
    return s;
   }
 
bool is_punct(char c)
   {
    bool b = false;
    char punct_arr[] = {"!@#$%^&*()-=_+ {}[]|\/?,.:;"};
    char* p = punct_arr;
    while (*p != '\0')
        {
         if (c == *p)
         b = true;
         p++;
        }
    return b;
   }
 
bool glass(char c)
{
 bool b = false;
 char glass_arr[] = {"aeoiuyAEOUIY"};
 сhar* p = glass_arr;
 while (*p != '\0')
     {
      if (c == *p)
      b = true;
      p++;
     }
 return b;
}
 
void search(char* s)
{
 int k,i=1;
 while (*s)
     {
      while (is_punct(*s))
      s++;
      k = 0;
      while(*s!= '\0' && !is_punct(*s))
          {
           if (glass(*s))
           k++;
           s++;
          }
      printf("%d word %d\n",i, k);
      i++;
     }
 
}
 
int _tmain(int argc, _TCHAR* argv[])
{
 char str[81];
 char c;
 char* s = NULL;
 do
   {
    system("cls");
    fflush(stdin);
    printf("Write string : ");
    gets(str);
 
    if (s)
    s_free(s);
    s = s_malloc(str);
    strcpy(s, str);
    //вывод исходной строки
   if (*s == NULL)
   printf("There is no element in the string\n");
   else
      {
       search(s);
      }
   printf("Do you want to continue?(y/n)\n");
   scanf("%c", &c);
  }
while(c == 'y');
getch();
s_free(s);
return 0;
}
Добавлено через 10 часов 46 минут
Вверх!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru