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

Распаковка строки - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Zverit
Уничтожитель печенек
 Аватар для Zverit
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
16.12.2011, 20:25     Распаковка строки #1
Задача
Вот мой код (прошу не судить за быдло код, за красотой не гнался). Ну так вот, на моей машине все тесты проходит, а там даже первый не может, в чем , собственно, проблема?

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 <stdio.h>
#include <stdlib.h>
 
using namespace std;
 
void e(int c){
if (c % 40 == 0)
cout<<endl;
}
 
int main()
{
    freopen("INPUT.TXT","r",stdin);
    freopen("OUTPUT.TXT", "w",stdout);
 
    string a, z;
int o = 0,c = 0;
 
cin>>a;
if(isalpha(a[0])){
      cout<<a[0];
      c++;
}
for(int i = 0; i < a.length(); i++){
   if((isalpha(a[i])) && (isalpha(a[i + 1]))){
      cout<<a[i+1];
      c++;
      e(c);
   }
   else
      if(isdigit(a[i])){
        z += a[i];
        if(isalpha(a[i+1])){
            o = atoi(z.c_str());
            for(int j = 0; j < o ; j++){
              cout<<a[i+1];
              c++;
              e(c);
        }
     z.clear();
     o = 0;
     }
   }
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2011, 20:25     Распаковка строки
Посмотрите здесь:

C++ Распаковка 32 битного числа
Распаковка архива C++
C++ Простая задачка: Распаковка строки
C++ Распаковка файла
C++ Распаковка файла
Распаковка программы C++
DjvuLibre и распаковка C++
C++ Распаковка кортежа

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
16.12.2011, 20:46     Распаковка строки #2
у меня вылетает в строке
C++
1
 if(isdigit(a[i])){
Добавлено через 4 минуты
ваш код прошел все тесты

Добавлено через 16 секунд
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 <stdio.h>
#include <stdlib.h>
 
using namespace std;
 
void e(int c){
if (c % 40 == 0)
cout<<endl;
}
 
int main()
{
    freopen("INPUT.TXT","r",stdin);
    freopen("OUTPUT.TXT", "w",stdout);
 
    string a, z;
int o = 0,c = 0;
 
cin>>a;
if(isalpha(a[0])){
      cout<<a[0];
      c++;
}
for(int i = 0; i < a.length()-1; i++){
   if((isalpha(a[i])) && (isalpha(a[i + 1]))){
      cout<<a[i+1];
      c++;
      e(c);
   }
   else
      if(isdigit(a[i])){
        z = z+a[i];
        if(isalpha(a[i+1])){
            o = atoi(z.c_str());
            for(int j = 0; j < o ; j++){
              cout<<a[i+1];
              c++;
              e(c);
        }
     z.clear();
     o = 0;
     }
   }
}
}
Добавлено через 18 секунд
до a.length()-1

Добавлено через 2 минуты
там, где a[i+1] вы обращаетесь к несуществующему элементу
Yandex
Объявления
16.12.2011, 20:46     Распаковка строки
Ответ Создать тему
Опции темы

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