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

Сформировать две строки - первая содержит только числа из исходной строки, а вторая – только слова - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Засунуть в тернарный оператор http://www.cyberforum.ru/cpp-beginners/thread186846.html
Помогите засунуть выражение if ( (i < 0 || j < 0) || (i >= ROW || j >= COL) || (i == oi && j == oj)) continue; else if (arr) ++cnt; в тернарный оператор, у меня что-то не выходит никак
C++ сортировка массива по двум критериям(или что-то вроде того) Дан массив int arr, нужно отсортировать первую строчку по возрастанию, если числа равны сравнивать соответственные значения во второй (гарантируется, что все числа во второй разные). И вся проблема в том, что n=100000, а отсортировать нужно меньше чем за 0.5 сек. Конечно, написал с быстрой сортировкой, но по второй срочке не всегда сортируется. Покажу, что есть, там ошибка в if-е, где... http://www.cyberforum.ru/cpp-beginners/thread186845.html
C++ Создание массива по Указателю на массив
(к сведенью. пользую C++, версия Dev C++ 4.9.9.2) Я создал указатель на массив: char (*e); Мне нужно создать по этому указателю массив с помощью new. Подскажите как это сделать. P.s. Знаю что имя массива это указатель на него, и что это изврат. Но этого требует лабораторная. Огромное спасибо за помощь.
C++ Масив строк на С
Задача: есть массив из строк. нужно инвертировать его по строкам. например у нас есть строка1, строка2, строка3, строка4, а надо сделать: строка4, строка3, строка2, строка1. нужно сделать без библиотечных функций на языке С. помогите кто может.
C++ Одномерный массив http://www.cyberforum.ru/cpp-beginners/thread186819.html
ребята помогите! Приехал в россию учиться а тут учебная программа очень сложная!не могу освоить си++! как мне это решить??? Ввести одномерный массив A, в котором число элементов кратно трём, вывести его. Разбить массив на три равные части, каждую из которых отсортировать по возрастанию.
C++ Можно ли перегрузить " ' кавычки? Вписываю разные значения, но компилятор говорит - требуется оператор. operator"" operator" operator' operator'' Кавычки это оператор или что? Когда я что то ввожу в кавычки то вызывается конструктор который складывает символы char? подробнее

Показать сообщение отдельно
CHUCKe
0 / 0 / 0
Регистрация: 05.11.2010
Сообщений: 25
19.11.2010, 22:27  [ТС]     Сформировать две строки - первая содержит только числа из исходной строки, а вторая – только слова
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
#include <iostream>
#include <stdio.h>
#include <string.h>
 
 
int main()
    {
        char s[20][70];
        int count=0;//÷òîáû ГіГ§Г*Г*ГІГј êîë-ГўГ® ñòðîê
        for(int i=0;i<20;i++,count++)//Г*ГҐ áîëüøå
        {
         gets(s[i]);
         if(strcmp(s[i],"") == 0) break;//åñëè ââåëè ГЇГіГ±ГІГіГѕ ñòðîêó ГІГ® ïðåâðГ*ГІГј öèêë
        }
        cout<<endl;
        for(int i=0;i<count;i++) 
        puts(s[i]);//ïîñìîòðåòü Г*Г* ðåçóëòГ*ГІ
        
        int arr[10];//äëèГ*Г» ïðåäëîæåГ*ГЁГ©
        
        i=0;
        int length=0;
        int k=-1;
        int lem=0;
        for (int i=0;i<count;i++)
        {
          k++;
          for(int j=0;j<strlen(s[i]);j++)
          {
            if s[i][j]='.'
            length++;
          }
           arr[k]=length;//Г§Г*ГЇГЁГёГҐГ¬ äëèГ*Гі ïðåäëîæåГ*ГЁГї Гў Г¬Г*Г±Г±ГЁГў
           lem++;//êîë-ГўГ® ïðåäëîæåГ*ГЁГ©
           length=0;
        }
        //òåïåðü Гў Г¬Г*Г±Г±ГЁГўГҐ õðГ*Г*ГїГІГ±Гї äëèГ*Г» ñòðîê
        //lem-×èñëî ïðåäëîæåГ*ГЁГ© Г* ñëåäîâГ*òåëüГ*Г® ГЁ ñòðîê
        char s1[lem][100];
        int l=0;
        innt i=0;
            //ñîçäГ*ГҐГ¬ Г*îâûé ГІГҐГЄГ±ГІ
помогите с алгоритмом создания нового текста с предложениями в каждой строке...
сортировку я знаю как сделать а ввот текста организовал.но не знаю как разбить текст на предложения....

Добавлено через 18 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int flag=1;
while(flag)
    {
    flag = 0;
    for(int i = 0;i<count-1;i++)
      if(strcmp(strs[i],strs[i+1])>0)
        {
        char buffer[100];
        strcpy(buffer,strs[i]);
        strcpy(strs[i],strs[i+1]);
        strcpy(strs[i+1],buffer);
        flag = 1;
      } 
  }
вот сортировка.
помогите с разбивкой....

Добавлено через 13 минут
Help

Добавлено через 1 час 9 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for(int i=0;i<20;i++,count++)//Г*ГҐ áîëüøå
        {
         gets(s[i]);
             while((s[i][j]!='.')&&(j<strlen(s[i]))
             {
                s1[k][k1]=s[i][j];//ñîçäГ*Г*ГЁГҐ ñòðîêè
                if (s[i][j]=='.')//åñëè Г*Г*éäåГ*Г* òî÷êГ* ïåðåõîäèì Г*Г* Г*îâóþ ñòðîêó
                      k++;//Г*Г* Г*îâóþ ñòðîêó ïåðåõîäèì
                 j++; 
                 k1++;
             }
             k1=0;
         if(strcmp(s[i],"") == 0) break;//åñëè ââåëè ГЇГіГ±ГІГіГѕ ñòðîêó ГІГ® ïðåâðГ*ГІГј öèêë
         }
на что то в while ругается

Добавлено через 8 минут
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
#include <iostream>
#include <stdio.h>
#include <string.h>
 
 
int main()
    {
        char s[20][70];
        char s1[10][100];
        int count=0;//÷òîáû ГіГ§Г*Г*ГІГј êîë-ГўГ® ñòðîê
        int k=0,k1=0,j=0;
        bool f=false;
        
        for(int i=0;i<20;i++,count++)//Г*ГҐ áîëüøå
        {
             gets(s[i]);
             while((s[i][j]!='.')&&(j<strlen(s[i])))
             {
                s1[k][k1]=s[i][j];//ñîçäГ*Г*ГЁГҐ ñòðîêè
                if (s[i][j]=='.')//åñëè Г*Г*éäåГ*Г* òî÷êГ* ïåðåõîäèì Г*Г* Г*îâóþ ñòðîêó
                      k++;//Г*Г* Г*îâóþ ñòðîêó ïåðåõîäèì
                 j++; 
                 k1++;
             }
             k1=0;
         if(strcmp(s[i],"") == 0) break;//åñëè ââåëè ГЇГіГ±ГІГіГѕ ñòðîêó ГІГ® ïðåâðГ*ГІГј öèêë
         }
         
         for(int i=0;i<=k;i++)
          puts(s1[i]);
          
       int flag = 1;
       while(flag)
        {
        flag = 0;
       for(int i = 0;i<k-1;i++)
       if(strcmp(s1[i],s1[i+1])>0)
        {
        char buffer[81];
        strcpy(buffer,s1[i]);
        strcpy(s1[i],s1[i+1]);
        strcpy(s1[i+1],buffer);
        flag = 1;
       } 
       } 
       
       for(int i=0;i<=k;i++)
          puts(s1[i]);
       
}
вот что получилось.проверьте плз!

Добавлено через 20 часов 28 минут
Решил задачу сегодня утром.тему можно прикрыть
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru