Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Manhuntz90
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 16
#1

Все та же работа со строками (ошибка) - C++

26.01.2012, 21:17. Просмотров 485. Ответов 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
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int Proc(char *main)
{
 int i;
    for(i=1;main[i]!=0;i++)
    {
        if(main[i-1]==' ' && (main[i]==' ' || i==1) )
        {
            for(int j=i-1;main[j]!=0;j++)
                main[j]=main[j+1];
            i--;
        }
    }
    if(main[i-1]==' ')main[i-1]=0;
    cout<<main;
    _getch();
    return 0;
}
 
int main(char arr[255])
{
puts("Enter string:");
gets(arr); 
 
}
Вот в этом программном коде при запуске консоль тупо виснет и пишет что прекращена работа и тд не пойму в чем проблемма??Функция Proc удаляет пробелы.а в main должно быть прописано что бы пользователь вводил строку с пробелами

Помогите разобраться почему не работает так как должно быть
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2012, 21:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Все та же работа со строками (ошибка) (C++):

работа со строками, ошибка в коде - C++
#include &lt;iostream&gt; #include &lt;cstring&gt; using namespace std; class str{ char *a; int n; public: str(); ...

Работа со строками, вылетает ошибка - C++
Здравствуйте товарищи! В общем задание такого, посчитать слова в строке, у которых первая и последняя буква одинаковы (Привер: faaaaf) ...

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

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

Из строки получить новую, выбросив все вхождения заданного символа (Работа со строками) - C++
Доброго времени суток =) Нужна помощь с заданием: &quot;Из заданной строки получить новую, выбросив из нее все вхождения заданного...

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

8
NoMasters
Псевдослучайный
1764 / 1107 / 73
Регистрация: 13.09.2011
Сообщений: 3,148
26.01.2012, 21:19 #2
Proc не вызывается тчк
0
Manhuntz90
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 16
26.01.2012, 21:30  [ТС] #3
то есть после gets(arr);
должно быть что то типа этого??
Proc(arr)
0
NoMasters
Псевдослучайный
1764 / 1107 / 73
Регистрация: 13.09.2011
Сообщений: 3,148
26.01.2012, 21:42 #4
Да.

Не по теме:

Это сообщение не слишком короткое

0
Manhuntz90
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 16
26.01.2012, 21:54  [ТС] #5
если только Proc(arr) пропсиать то все равно работа программы прекращена из за ошибки

Добавлено через 10 минут
может кто поконкретнее показать место вставки вызова функции и как выглядит
0
NoMasters
Псевдослучайный
1764 / 1107 / 73
Регистрация: 13.09.2011
Сообщений: 3,148
26.01.2012, 22:07 #6
Цитата Сообщение от Manhuntz90 Посмотреть сообщение
int main(char arr[255])
Что это? Где ты видел такой прототип main()? А ты туда ещё и пишешь...
Мой libastral нынче что-то косячит, ты хочешь разобраться с ошибкой, пиши полный её текст.
0
Manhuntz90
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 16
26.01.2012, 22:12  [ТС] #7
ну понимаешь так при компиляции ошибки нету я пишу на dev-cpp под Windows 7 и при заупске программе после ввода строки и нажатия enter программа виснет и пишет что Прекращена работа программы и тд

Добавлено через 3 минуты
Все разобрался спасибо действительно это не правильно main прописан был поставил char до мейна и стало норм все ))..хотя в одном коде я видел что кто то писал так как я и все работало странноо
0
NoMasters
Псевдослучайный
1764 / 1107 / 73
Регистрация: 13.09.2011
Сообщений: 3,148
26.01.2012, 22:13 #8
Вынеси объявление arr в тело main(). Никто ей не передаст такой массив.

Не по теме:

upd: опоздал

0
Manhuntz90
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 16
26.01.2012, 22:43  [ТС] #9
я вынес до main и заработало)

Добавлено через 18 минут
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
#include <iostream>
#include <conio.h>
#include <stdio.h> 
#include <stdlib.h> 
using namespace std;
int Proc(char const str[]);
void Proctxt(char const infile[], char const outfile[]);
 
 int main()
{
     char infile[256], outfile[256]; 
     printf("Enter your file name: ");
    gets(infile);
    printf("Enter result file name: ");
    gets(outfile);
    printf("\n");
    Proctxt(infile, outfile);
    printf("\n");
    system("pause");
}
 
int Proc(char *str)
{
 int i;
    for(i=1;str[i]!=0;i++)
    {
        if(str[i-1]==' ' && (str[i]==' ' || i==1) )
        {
            for(int j=i-1;str[j]!=0;j++)
                str[j]=str[j+1];
            i--;
        }
    }
    if(str[i-1]==' ')str[i-1]=0;
    cout<<str;
    _getch();
    return 0;
}
void Proctxt(char const infile[], char const outfile[])
{
    FILE *inf, *outf;                       
    char str[256];                          
    inf = fopen(infile, "r");               
    outf = fopen(outfile, "w");                 
    do{
        fgets(str, 256, inf);
                        
        printf("REWR FILE\n");
        fprintf(outf,str);
                        
    }while(!feof(inf)); 
    fclose(outf);   
    fclose(inf);
}


Вот примерно аналогичная проблемма только ошибки не выводит но ...не могу понять как тут в функции ProcTxt сделать вывод строки из 1го файла последующая её обработка,вывод на экран измененной строки ..и записать в файл измененную ...Я понимаю что тут всего пару строк нужно но не могу понять каких именно

Добавлено через 5 минут
решено добавлением cout<<Proc(str);
0
26.01.2012, 22:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.01.2012, 22:43
Привет! Вот еще темы с ответами:

работа со строками, ошибка - Java SE
2.Строка содержит английский текст. Подсчитать количество слов, начинающихся на заданную букву Ошибку выдает в условии import...

Работа со строками. Найти все вхождения строки - Delphi
Здравствуйте! Попросили написать парсер, который будет проверять количество ссылок на странице. Т.е. программа должна брать исходный код...

Работа со строками: убрать из строки все цифры - Assembler
Дана строка, содержащая латинские буквы и цифры. Необходимо убрать из строки все цифры

Работа со строками: Вычеркнуть из текста все повторяющиеся слова - Pascal ABC
Строка должна вводиться с клавиатуры. Полученная строка и другие элементы должны выводиться на экран. 2) Дан текст. Слова в тексте...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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