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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
seruy-t
2 / 2 / 0
Регистрация: 21.08.2010
Сообщений: 216
#1

Найти в строке точку - C++

19.03.2012, 18:32. Просмотров 1964. Ответов 26
Метки нет (Все метки)

Всем привет ! Нужно найти в строке точку. Делаю

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
#include <iostream>
#include <string>
 
//---------------------------------------------------------------------------
using std::cout;
using std::cin;
using std::endl;
using std::string;
 
int main()
{
 
string input;
cin >> input;
 
short int i,pntr;
 
for(i=0;i<=input.length();i++){
 
                if(input[i] = "." ) pntr =i;
 
 
 
                       }
 
 
 
 
 
        return 0;
}
//---------------------------------------------------------------------------
Ошибка преобразования типов в
C++
1
      if(input[i] = "." ) pntr =i;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2012, 18:32     Найти в строке точку
Посмотрите здесь:

В введенной строке заменить каждую запятую и точку на точку с запятой - C++
В введенной строке заменить каждую запятую и точку на точку с запятой и вывести полученную строку.

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

Найти точку D, симметричную точку A относительно стороны BC. - C++
помогите решить пожалуйста...

Замена в строке восклицательного знака на точку - C++
Надо написать функцию которает поменяет влюбом тексте все &quot;!&quot; знаки на &quot;.&quot; надо использовать указатели.

В строке заменить все запятые на точку - C++
В строке заменить все запятые на точку. Подсчитать количество замен.

найти точку, принадлежащую - C++
дано множество отрезков на прямой. найти точку, которая принадлежит наибольшему количеству отрезков, определить это количество

Найти точку на окружности - C++
Здравствуйте. Подскажите, пожалуйста. По написанной программе надо найти точку, лежащую на окружности. Было задание :Составить...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
seruy-t
2 / 2 / 0
Регистрация: 21.08.2010
Сообщений: 216
19.03.2012, 21:12  [ТС]     Найти в строке точку #21
Ну так если целая часть отрицательная, по идеи, дробная тоже ?

Добавлено через 1 минуту
R136a1, вот и я не знаю )))

Добавлено через 8 минут
Вот что интересно : мой код сервер принял на 78.9% , а ваш на 47.4%. Хотя оба они рабочие


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
 #include <iostream>
#include <string>
#include <stdlib.h>
//---------------------------------------------------------------------------
using namespace std;
int main()
 {
    string input;
    cin >> input;
 
    long int i,pntr;
 
    for(i=0;i<input.length();i++)
    {
        if(input[i] == '.' )
        pntr =i;
    }
 
 
int lft=0;
 
   for(i=0;i<pntr;i++){
       if(i!='-'){
   lft += input[i] - '0';
       }
                     }
 
 
 
  int right =0;
 
       for(i=pntr+1;i<input.length();i++){
 
           if(i!='-'){
   right += input[i] - '0';
           }
                     }
 
 
//cout << lft <<" "<<right<<endl;
 
if(lft-right==0) cout << "Yes"<<endl;
else cout << "No"<<endl;
 
 
    return 0;
 }
Есть идеи что не так ?
R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
19.03.2012, 21:29     Найти в строке точку #22
Цитата Сообщение от seruy-t Посмотреть сообщение
Ну так если целая часть отрицательная, по идеи, дробная тоже ?
Если так, то:
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
#include <iostream>
#include <cstring>
#include <cstdlib>
 
int main()
{
        char num[10];
        int left = 0;
        int right = 0;
 
        std::cin.getline(num,10);
 
        char *numToken = strtok(num,".");
 
        int count = 0;
 
    bool isnegative = false;
 
        while(numToken != NULL)
        {
        int  ptr_count = 0;
 
                if(!count)
        {
            if(*numToken == '-')
            {
                isnegative = true;
                ptr_count++;
            }
 
            for( ; *(numToken + ptr_count) != '\0'; ptr_count++)
                if(!isnegative)
                                left += *(numToken + ptr_count) - '0';
                else
                    left -= *(numToken + ptr_count) - '0';
        }
                else
            for( ; *(numToken + ptr_count) != '\0'; ptr_count++)
                if(!isnegative)
                                right += *(numToken + ptr_count) - '0';
                else
                    right -= *(numToken + ptr_count) - '0';
 
                numToken = strtok(NULL,".");
 
                count++;
        }
 
        if(left == right)
                std::cout << "yes" << std::endl;
        else
                std::cout << "no" << std::endl;
 
        return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от seruy-t Посмотреть сообщение
Вот что интересно : мой код сервер принял на 78.9% , а ваш на 47.4%. Хотя оба они рабочие
что за сервер?
seruy-t
2 / 2 / 0
Регистрация: 21.08.2010
Сообщений: 216
19.03.2012, 21:39  [ТС]     Найти в строке точку #23
R136a1,
что за сервер?
e-olimp.com Здесь есть много задач на программирование, готовимся к олимпиаде


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
#include <iostream>
#include <cstring>
#include <cstdlib>
 
int main()
{
        char num[10];
        int left = 0;
        int right = 0;
 
        std::cin.getline(num,10);
 
        char *numToken = strtok(num,".");
 
        int count = 0;
 
        bool isnegative = false;
 
        while(numToken != NULL)
        {
                int  ptr_count = 0;
 
                if(!count)
                {
                        if(*numToken == '-')
                        {
                                isnegative = true;
                                ptr_count++;
                        }
 
                        for( ; *(numToken + ptr_count) != '\0'; ptr_count++)
                                if(!isnegative)
                                        left += *(numToken + ptr_count) - '0';
                                else
                                        left -= *(numToken + ptr_count) - '0';
                }
                else
                        for( ; *(numToken + ptr_count) != '\0'; ptr_count++)
                                if(!isnegative)
                                        right += *(numToken + ptr_count) - '0';
                                else
                                        right -= *(numToken + ptr_count) - '0';
 
                numToken = strtok(NULL,".");
 
                count++;
        }
 
        if(left == right)
                std::cout << "yes" << std::endl;
        else
                std::cout << "no" << std::endl;
 
        return 0;
}
68%
R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
19.03.2012, 22:05     Найти в строке точку #24
Глянул компиляторы на сайте, там можно выбрать компилятор? Если да, то мой код прогоняйте через gcc . Если нет, то вот это прочитайте
seruy-t
2 / 2 / 0
Регистрация: 21.08.2010
Сообщений: 216
19.03.2012, 22:14  [ТС]     Найти в строке точку #25
R136a1, так и делаю, сам им пользуюсь.
читал, там толком ничего и не сказано
R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
19.03.2012, 22:16     Найти в строке точку #26
Цитата Сообщение от seruy-t Посмотреть сообщение
R136a1, так и делаю, сам им пользуюсь.
читал, там толком ничего и не сказано
Меняли хидеры как показано в примерах ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2012, 16:51     Найти в строке точку
Еще ссылки по теме:

Найти точку на прямой - C++
Найти на кривой Y(X)=sin2(2X)cos(4X) точку, абсцисса которой принадлежит интервалу и сумма расстояний от которой до прямых a1x+b1y+c1=0 и...

Найти точку принадлежащую прямой - C++
Имею координаты двух точек, нужно найти точку, которая принадлежит этой прямой. Точка должна быть ближе ко второй вершине, ну или к первой...

Найти точку максимума функции - C++
Может кто то подскажет с чего хотя бы начать ? Задания нужно переписывать!

Найти седловую точку матрицы! - C++
Седловой точкой матрицы назовём такой элемент, который является одновременно максимальным в столбце и минимальным в строке. Найти одну,...

С++, найти искомую точку, используя структуру - C++
Прошу помощи с задачей: Найти такую точку, сумма расстояний от которой до остальных точек множества максимальна. Множество точек задано в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
seruy-t
2 / 2 / 0
Регистрация: 21.08.2010
Сообщений: 216
20.03.2012, 16:51  [ТС]     Найти в строке точку #27
R136a1, это не играет роли, если бы проблема была в хедерах выдало бы ошибку компилирования
Yandex
Объявления
20.03.2012, 16:51     Найти в строке точку
Ответ Создать тему
Опции темы

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