07.01.2018, 23:41 | #1 (permalink) |
Новичок
Регистрация: 07.01.2018
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите с задачей
номер 2 решите задачу на языке си и скрин скиньте пожалуйста В символьном массиве хранятся фамилии и инициалы учеников класса. Напечатать список класса с указанием количества однофамильцев каждого ученика номер 1 Дана строка. Преобразовать ее, удалив каждый символ (*) и повторив каждый символ, отличный от (*) |
07.01.2018, 23:41 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
По топикам найдены совпадения, можете почитать Помогите с задачей помогите с задачей Помогите с задачей |
14.01.2018, 21:15 | #3 (permalink) | |
Member
Регистрация: 10.01.2018
Сообщений: 36
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Цитата:
(хотя бы хоть компилятором на синтаксис проверил! - не strcat(), а strncat() возможно, но и это плохо) Код:
char Str[] = "...", *p1 = Str, *Str2 = (char*)malloc( 2 * strlen( ) ), *p2; while( *p1 ) { if( *p1 != '*' ) { *p2++ = *p1; *p2++ = *p1; } p1++; } *p2 = '\0'; |
|
15.01.2018, 08:40 | #4 (permalink) | |
Member
Регистрация: 21.12.2017
Сообщений: 35
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 717
|
Цитата:
Код:
char *strcat (char *res, const char *src); char *strncat(char *res, const char *src, size_t len);
__________________
Подписуюсь... |
|
15.01.2018, 14:15 | #5 (permalink) |
Member
Регистрация: 10.01.2018
Сообщений: 36
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Я вовсе не ошибся, я вообще ошибаюсь редкос :
- 2-й параметр в прототипе strcat имеет тип const char* - строка ... - а в показанном горе-"решении" 2-й параметр вызова имеет тип char - символ ... - они даже по типу не соответствуют друг другу, и такую конструкцию компилятор просто не пропустит синтаксически: "грубая ошибка компиляции". |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
15.01.2018, 15:26 | #6 (permalink) |
Member
Регистрация: 10.01.2018
Сообщений: 36
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Вот такой вариант:
Код:
strcat( Str2, Str[i], 1 ); Но это бездарный способ по производительности - он просто чудовищно расточительный. А делаются подобные задачи манипуляциями с символами, и никогда использованием строчных функций вида str*(). |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Метки |
заранее пасибо |
|
|