25 / 5 / 1
Регистрация: 12.10.2012
Сообщений: 76
1

Ошибка с конвентированием

11.04.2013, 10:58. Показов 604. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <math.h>
#include <string.h>
 
void c();
void g();
//основная функция
void work(char* str);
//функция добавления пробела
char* spaceAdd(char* str);
char* turn(char str);
void main()
{
c();
char szString[100];
char *szStringNew;
 
    cout<<"Vvedite text :\n";
    cin.getline(szString, 99);
    szStringNew=spaceAdd(szString);
    work(szStringNew);
    
g();
delete []szStringNew;
}
 
char *spaceAdd(char* str){
char *szString=new char[104];
szString[0]=' ';
int end=0;
    for(int i=1;i<=strlen(str);i++) {
    szString[i]=str[i-1];
    end=i+1;
    }
szString[end]=' ';
szString[end+1]='\0';
return szString;
}
 
void work(char* str){
char* string;
int cycle=0;
    for(int i=0; i<strlen(str); i++) {
    if(str[i]==' '){
    cycle++;
    char say[100];
        for(int j=i+1,step=0;str[j]!=' ';j++,step++){
        say[step]=str[j];
        }
    say[step]='\0';
    if(cycle%2==0) {
    string=strcat(string,turn(say));
    }
        }
    }
    cout<<string;
 
  
    }
 
 
char* turn(char str) {
int len=strlen(str)+1;
char* string=new char[len];
string[0]=' ';
    for(int i=1,j=len;i<len;i++,j--) {
    string[i]=str[j];
    }
    return string;
}
 
 
 
 
 
 
void c(){clrscr();}
void g(){getch();}
Просто устал уже...Cannon convert int to char* , я не где не сравниваю инт с чаром да и вообще они ни где не взаимодействуют . Проблема в функции turn.

Задание(консольное) :
Отредактировать заданное предложение удаляя из него слова с нечетными номерами и переворачивая с четными .
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.04.2013, 10:58
Ответы с готовыми решениями:

IIS- asp ошибка: HTTP 500.100 - Внутренняя ошибка сервера - ошибка ASP Internet Information Services
Привет! Конфигурация win2000pro sp2, стандартный IIS, IE 5. При попытке обратиться к...

Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка записи!
Доброго всем времени суток! подскажи пожалуйста как исправить ошибку: Ошибка при чтении изменений...

Ошибка при добавлении в файл. Ошибка 101: Ошибка записи на диск (Error 101: Disk write error).
Здравствуйте, возникла проблема такого плана. Нужно произвести добавление записи в файл, но после...

ASP: Response.Redirect - не работает, ошибка `500 - Внутренняя ошибка сервера'
Всем привет! Есть в ASP-сраничке такой код: Response.Redirect 'page1.asp?ReturnTo=page2.asp' ...

15
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
11.04.2013, 11:01 2
Цитата Сообщение от kostiapp Посмотреть сообщение
Cannon convert int to char*
На какой строчке выдает то?
0
25 / 5 / 1
Регистрация: 12.10.2012
Сообщений: 76
11.04.2013, 11:06  [ТС] 3
Цитата Сообщение от Croessmah Посмотреть сообщение
На какой строчке выдает то?
На функции turn. Строчка без раницы , я в борланде делаю , он не определяет нормально .
0
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
11.04.2013, 11:11 4
Принимает char
C++
1
char* turn(char str)
А работаете с str как с массивом.
C++
1
char* turn(char * str)
0
25 / 5 / 1
Регистрация: 12.10.2012
Сообщений: 76
11.04.2013, 11:31  [ТС] 5
Цитата Сообщение от Croessmah Посмотреть сообщение
Принимает char
C++
1
char* turn(char str)
А работаете с str как с массивом.
C++
1
char* turn(char * str)
Строковый тип данных это массив символов. Это не первая программа , где у меня работает со строкой
0
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
11.04.2013, 11:36 6
Цитата Сообщение от kostiapp Посмотреть сообщение
Строковый тип данных это массив символов.
кхм... допустим....
но зачем тогда вместо указателя на массив делать аргументом 1 char, если нужна строка?
0
25 / 5 / 1
Регистрация: 12.10.2012
Сообщений: 76
11.04.2013, 12:19  [ТС] 7
Цитата Сообщение от Croessmah Посмотреть сообщение
кхм... допустим....
но зачем тогда вместо указателя на массив делать аргументом 1 char, если нужна строка?
Не понял о чем ты
0
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
11.04.2013, 12:26 8
C++
1
2
3
4
5
6
7
8
9
10
11
char* turn(char * str);//УКАЗАТЕЛЬ!!!
//...
char* turn(char * str) {//УКАЗАТЕЛЬ!!!
int len=strlen(str)+1;
char* string=new char[len];
string[0]=' ';
    for(int i=1,j=len;i<len;i++,j--) {
    string[i]=str[j];
    }
    return string;
}
Добавлено через 10 секунд
Да и всё равно ошибки будут.

Добавлено через 59 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void work(char* str){
char* string;
int cycle=0;
    for(int i=0; i<strlen(str); i++) {
    if(str[i]==' '){
    cycle++;
    char say[100];
        for(int j=i+1,step=0;str[j]!=' ';j++,step++){
        say[step]=str[j];
        }
    say[step]='\0';
    if(cycle%2==0) {
    string=strcat(string,turn(say));
    }
        }
    }
    cout<<string;
 
  
    }
Что такое step? Где объявлено и инициализировано?
И под строку кто будет память выделять?
0
Tulosba
11.04.2013, 13:58
  #9

Не по теме:

Цитата Сообщение от kostiapp Посмотреть сообщение
я в борланде делаю , он не определяет нормально .
Истину глаголит.
Цитата Сообщение от Croessmah Посмотреть сообщение
И под строку кто будет память выделять?
Цитата Сообщение от kostiapp Посмотреть сообщение
Это не первая программа , где у меня работает со строкой
Что Вы тут глупости всякие спрашиваете :D

0
25 / 5 / 1
Регистрация: 12.10.2012
Сообщений: 76
12.04.2013, 09:28  [ТС] 10
степ в цикле обьявляется
Хм...а используется вне цикла ) ужс невнимательный )

Добавлено через 5 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void work(char* str){
char* string;
int cycle=0;
int step=0;
    for(int i=0; i<strlen(str); i++) {
    step=0;
    if(str[i]==' '){
    cycle++;
    char say[100];
        for(int j=i+1;str[j]!=' ';j++,step++){
        say[step]=str[j];
        }
    say[step]='\0';
    if(cycle%2==0) {
    string=strcat(string,turn(say));
    }
        }
    }
    cout<<string;
 
    }
Все равно не работает
0
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
12.04.2013, 09:52 11
Вопрос с выделением памяти под строку открыт
0
25 / 5 / 1
Регистрация: 12.10.2012
Сообщений: 76
12.04.2013, 12:49  [ТС] 12
Цитата Сообщение от Croessmah Посмотреть сообщение
Вопрос с выделением памяти под строку открыт
Борланд не ругается если делит отсутствует ) не из-за него
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
12.04.2013, 12:53 13
Цитата Сообщение от kostiapp Посмотреть сообщение
Борланд не ругается если делит отсутствует )
а кто-то ругается? (препод не в счет)
0
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
12.04.2013, 12:54 14
Ну раз не из-за памяти, то решайте сами свою проблему, мы ж здесь ничего не знаем



P.S. Я бы все-таки прислушался к советам.
0
25 / 5 / 1
Регистрация: 12.10.2012
Сообщений: 76
12.04.2013, 20:57  [ТС] 15
Цитата Сообщение от Croessmah Посмотреть сообщение
Ну раз не из-за памяти, то решайте сами свою проблему, мы ж здесь ничего не знаем



P.S. Я бы все-таки прислушался к советам.
Разве вы можете за всех писать ?
Если отсутствует делит программа работает отлично , можете у себя проверить написав мини приложение .

В чем именно ошибка я написал выше , оно пытается инт конвертировать к строковому типу где-то , не могу понять где.
0
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
12.04.2013, 21:23 16
Цитата Сообщение от kostiapp Посмотреть сообщение
В чем именно ошибка я написал выше
Я тоже написал

Цитата Сообщение от Croessmah Посмотреть сообщение
И под строку кто будет память выделять?
причем тут delete

Добавлено через 1 минуту
Цитата Сообщение от kostiapp Посмотреть сообщение
оно пытается инт конвертировать к строковому типу где-то , не могу понять где.
И на этот вопрос ответ уже дан:
Цитата Сообщение от Croessmah Посмотреть сообщение
Принимает char
Цитата Сообщение от Croessmah Посмотреть сообщение
А работаете с str как с массивом.
0
12.04.2013, 21:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.04.2013, 21:23
Помогаю со студенческими работами здесь

Ошибка разбора XML/ Ошибка при вызове метода контекста (Прочитать)
1C 8.2 Документооборот КОРП 1.2 Текст ошибки...

Ошибка CL.exe завершилась с кодом 2 Что это за ошибка и как исправить?
Ошибка появилась, но не могу понять как ее исправить. #include &lt;iostream&gt; using namespace...

Ошибка HTTP 500 - внутреняя ошибка сервера при отправке почты.
Я пытаюсь отправить почту и присоединяю к ней письма Вот часть страницы Dim myMail Set myMail =...

Ошибка SQL запроса , в базе работает, а через IBQuery в Delphi ошибка
В Combobox загружены имена организаций. Нужно выполнить запрос на вывод всех полей таблицы...

Загружается до окна приветствия и вылетает ошибка: isass.exe - Системная ошибка
Ребята, помогите кто может... весь день бьюсь безрезультатно... с утра пришёл на работу а сервак...

Django Ошибка доступа (403) Ошибка проверки CSRF. Запрос отклонён
На хостинге разместил сайт и не могу войти в админку, т.к. возникает 403 ошибка &quot;Ошибка доступа...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru