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

Строки (избавьте от ошибки) - C++

Восстановить пароль Регистрация
 
оленяш
 Аватар для оленяш
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 40
14.01.2011, 13:42     Строки (избавьте от ошибки) #1
В строке имеется одна точка с запятой ( Подсчитать количество символов до точки запятой и после неё.


вот программа

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream.h>
#include <string.h>
#include <conio.h>
#include<stdio.h>
void main()
{
int i=0,k=0,n;
char s[50];
clrscr();
 cout<<"stroka:";
 gets(s);
 for(n=0;n<50;n++)
 if (s[n]==';')
 if (i>0) k=strlen(s)-i;
 cout<<"до "<<i-1<<" после "<<k;
 }
(он у меня не правильно считает кол-во символов до и после)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SashaPinsk
 Аватар для SashaPinsk
39 / 37 / 2
Регистрация: 27.12.2009
Сообщений: 73
14.01.2011, 14:02     Строки (избавьте от ошибки) #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main() //ф-ция подразумевает корректный ввод, т.е. наличие ":"
{
    char str[201];
    std::cout << "Input string" << std::endl;
    std::cin.getline(str, 200);
    int countBefore = 0;
    while(str[countBefore++] != ':');
    int countAfter = countBefore;
    --countBefore;
    while(str[countAfter++] != '\0');
    countAfter = countAfter - countBefore - 2;
    std::cout << "\nBefore: " << countBefore << std::endl;
    std::cout << "After: " << countAfter << std::endl;
 
    std::cin.get();
    return 0;
}
оленяш
 Аватар для оленяш
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 40
14.01.2011, 15:17  [ТС]     Строки (избавьте от ошибки) #3
у меня должна быть программа на Borland C
поэтому то что вы мне написали к сожалению мне ни как не помогло
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
14.01.2011, 15:31     Строки (избавьте от ошибки) #4
Цитата Сообщение от оленяш Посмотреть сообщение
у меня должна быть программа на Borland C
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 SYMB ';'
 
int main(void){
    char buf[BUFSIZ], * p;
    
    printf("String: ");
    scanf("%[^\n]", buf);
    
    if ( ( p = strchr(buf, SYMB) ) == NULL ){
        fprintf(stderr, "Symbol '%c' not found!\n", SYMB);
        return 1;
    }
    
    printf("Before: %d\nAfter:  %d\n", p - buf, strlen(buf) - (p - buf) - 1);
    
    return 0;
}
Строки (избавьте от ошибки)
оленяш
 Аватар для оленяш
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 40
14.01.2011, 15:44  [ТС]     Строки (избавьте от ошибки) #5
а объясните каждую строчку,
особенно что за define
а еще у меня после ; не считает
Yandex
Объявления
14.01.2011, 15:44     Строки (избавьте от ошибки)
Ответ Создать тему
Опции темы

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