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

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

Войти
Регистрация
Восстановить пароль
 
 
kostiapp
-43 / 5 / 0
Регистрация: 12.10.2012
Сообщений: 76
#1

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

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

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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2013, 10:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка с конвентированием (C++):

IIS- asp ошибка: HTTP 500.100 - Внутренняя ошибка сервера - ошибка ASP Internet Information Services - C# ASP.NET
Привет! Конфигурация win2000pro sp2, стандартный IIS, IE 5. При попытке обратиться к сценарию(asp) получаю ошибку: &lt;пропуск&gt; ......

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Эксперт CЭксперт С++
13209 / 7480 / 841
Регистрация: 27.09.2012
Сообщений: 18,388
Записей в блоге: 3
Завершенные тесты: 1
11.04.2013, 11:01 #2
Цитата Сообщение от kostiapp Посмотреть сообщение
Cannon convert int to char*
На какой строчке выдает то?
0
kostiapp
-43 / 5 / 0
Регистрация: 12.10.2012
Сообщений: 76
11.04.2013, 11:06  [ТС] #3
Цитата Сообщение от Croessmah Посмотреть сообщение
На какой строчке выдает то?
На функции turn. Строчка без раницы , я в борланде делаю , он не определяет нормально .
0
Croessmah
Эксперт CЭксперт С++
13209 / 7480 / 841
Регистрация: 27.09.2012
Сообщений: 18,388
Записей в блоге: 3
Завершенные тесты: 1
11.04.2013, 11:11 #4
Принимает char
C++
1
char* turn(char str)
А работаете с str как с массивом.
C++
1
char* turn(char * str)
0
kostiapp
-43 / 5 / 0
Регистрация: 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
Croessmah
Эксперт CЭксперт С++
13209 / 7480 / 841
Регистрация: 27.09.2012
Сообщений: 18,388
Записей в блоге: 3
Завершенные тесты: 1
11.04.2013, 11:36 #6
Цитата Сообщение от kostiapp Посмотреть сообщение
Строковый тип данных это массив символов.
кхм... допустим....
но зачем тогда вместо указателя на массив делать аргументом 1 char, если нужна строка?
0
kostiapp
-43 / 5 / 0
Регистрация: 12.10.2012
Сообщений: 76
11.04.2013, 12:19  [ТС] #7
Цитата Сообщение от Croessmah Посмотреть сообщение
кхм... допустим....
но зачем тогда вместо указателя на массив делать аргументом 1 char, если нужна строка?
Не понял о чем ты
0
Croessmah
Эксперт CЭксперт С++
13209 / 7480 / 841
Регистрация: 27.09.2012
Сообщений: 18,388
Записей в блоге: 3
Завершенные тесты: 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 Посмотреть сообщение
Это не первая программа , где у меня работает со строкой
Что Вы тут глупости всякие спрашиваете

0
kostiapp
-43 / 5 / 0
Регистрация: 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
Croessmah
Эксперт CЭксперт С++
13209 / 7480 / 841
Регистрация: 27.09.2012
Сообщений: 18,388
Записей в блоге: 3
Завершенные тесты: 1
12.04.2013, 09:52 #11
Вопрос с выделением памяти под строку открыт
0
kostiapp
-43 / 5 / 0
Регистрация: 12.10.2012
Сообщений: 76
12.04.2013, 12:49  [ТС] #12
Цитата Сообщение от Croessmah Посмотреть сообщение
Вопрос с выделением памяти под строку открыт
Борланд не ругается если делит отсутствует ) не из-за него
0
Tulosba
:)
Эксперт С++
4395 / 3238 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
12.04.2013, 12:53 #13
Цитата Сообщение от kostiapp Посмотреть сообщение
Борланд не ругается если делит отсутствует )
а кто-то ругается? (препод не в счет)
0
Croessmah
Эксперт CЭксперт С++
13209 / 7480 / 841
Регистрация: 27.09.2012
Сообщений: 18,388
Записей в блоге: 3
Завершенные тесты: 1
12.04.2013, 12:54 #14
Ну раз не из-за памяти, то решайте сами свою проблему, мы ж здесь ничего не знаем



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



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

В чем именно ошибка я написал выше , оно пытается инт конвертировать к строковому типу где-то , не могу понять где.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.04.2013, 20:57
Привет! Вот еще темы с ответами:

Ошибка HTTP 500 - внутреняя ошибка сервера при отправке почты. - C# ASP.NET
Я пытаюсь отправить почту и присоединяю к ней письма Вот часть страницы Dim myMail Set myMail = CreateObject('CDONTS.NewMail') ...

Ошибка разбора XML/ Ошибка при вызове метода контекста (Прочитать) - 1С
1C 8.2 Документооборот КОРП 1.2 Текст ошибки {ОбщийМодуль.АвтозаполнениеШаблоновФайловКлиентСервер.Модуль(616)}: Ошибка при вызове...

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

Deserialize - ошибка. в документе XML присутствует ошибка - странный глюк - C#
Происходит ошибка в следующей функции: private void LoadSettingsFromFile() { string folderToSaveSettings =...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.04.2013, 20:57
Ответ Создать тему
Опции темы

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