![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 24.10.2010
Сообщений: 27
|
![]()
#include "stdafx.h"
#include "stdio.h" #include "string.h" #include "stdlib.h" int main() { char s1[100], *rez, *temp; int length; puts("Vvedite stroku"); gets(s1); length = strlen(s1); printf("dlina - %d\n", length); if(!(length % 4)) { puts("stroka kratna 4"); rez = malloc((s1+1) * sizeof(char)); temp = &s1[s1/2]; strcpy(rez, temp); strncpy(temp, s1, temp); strcat(rez, temp); puts(rez); return 0; } puts(s1); return 0; } |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
![]()
rez = malloc((s1+1) * sizeof(char));
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 02.02.2010
Сообщений: 599
|
![]() Код:
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 24.10.2010
Сообщений: 27
|
![]()
#include <stdio.h>
#include <string.h> #include <stdlib.h> int main() { char s1[100], *rez, *temp; int length; puts("Vvedite stroku"); gets(s1); length = strlen(s1); printf("dlina - %d\n", length); if(!(length % 4)) { puts("stroka kratna 4"); rez = malloc((length+1) * sizeof(char)); temp = &s1[length/2]; strcpy(rez, temp); strncpy(temp, s1, length/2); strcat(rez, temp); puts(rez); return 0; } puts(s1); return 0; } всёровно выдаёт ошибки.... |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 02.02.2010
Сообщений: 599
|
![]()
Оформите код и напишите ошибки, какие и где.
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 24.10.2010
Сообщений: 27
|
![]()
#include <stdafx.h>
#include <string.h> #include <stdio.h> #include <stdlib.h> int main() { char s1[100], *rez, *temp; int length; puts("Vvedite stroku"); gets(s1); length = strlen(s1); printf("dlina - %d\n", length); if(!(length % 4)) { puts("stroka kratna 4"); rez = malloc((length+1) * sizeof(char)); // error C2440: =: невозможно преобразовать 'void *' в 'char *' temp = &s1[length/2]; strcpy(rez, temp); strncpy(temp, s1, length/2); strcat(rez, temp); puts(rez); return 0; } puts(s1); return 0; } |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 02.02.2010
Сообщений: 599
|
![]()
Вы, наверное, используете компилятор С++, а пишите на С, где менее строгая типизация, вот он и не может преобразовать void*, возвращаемый С-шным malloc-ом в char*. Соответственно:
Код:
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 24.10.2010
Сообщений: 27
|
![]()
а что есть разница???
у нас в универе преподша после универа первый год...ничё не обьясняет.. |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 24.10.2010
Сообщений: 27
|
![]()
я канешно понимаю что уже наглею ....но можете еще помочь?...в другой задече там ошибки не понятные...
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Где ошибка? С++ | Namolem | Помощь студентам | 1 | 15.09.2010 18:59 |
Где ошибка? | T-dayne | Помощь студентам | 2 | 10.02.2010 16:52 |
Где ошибка? | stas77 | Microsoft Office Excel | 11 | 02.11.2009 18:26 |
Подскажи какой-нибудь нормальный плагин... | Mr.Qwerty | Софт | 0 | 14.07.2009 23:01 |
где ошибка? | Prophet23 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 20.05.2009 23:20 |