Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

17.02.2010, 17:35
|
|
Участник форума
Регистрация: 18.07.2009
Сообщений: 272
Провел на форуме: 2083691
Репутация:
330
|
|
2KrabKN, вот вам функция:
Код:
#include <iostream>
using namespace std;
int kol(char * str);
int main()
{
char *str = new char [999];
cin>>str;
cout<<kol(str);
}
int kol(char * str)
{
char buf[] = "bcdfghklmnpqrstvwxyz";
int count = 0;
for(int i = 0; str[i] != '\0'; i++)
{
for(int j = 0; buf[j] != '\0'; j++)
{
if(str[i] == buf[j])
{
count++; break;
}
}
}
return count;
}
Но вот эта программа крайне не корректна, да и написана с ошибками, которые могут превести неизвестно к чему. Да и ищет она не гласные, а согласные.
Могу предложить вам другой вариант (накидал по быстрому):
Код:
#include <iostream>
#include <string>
using namespace std;
int kol(string str);
int main(int argc, char * argv[])
{
string slovo;
cout<<"Vvedite slovo>";
cin>>slovo;
cout<<kol(slovo);
return 0;
}
int kol(string str)
{
string bukv = "AEIOUY";
int found = 0;
int i = 0;
int i2;
int c = bukv.size();
while(i < str.size())
{
i2 = 0;
while(i2 < c)
{
if(str[i] == bukv[i2])
{
found++;
}
i2++;
}
i++;
}
return found;
}
Последний раз редактировалось Ins3t; 17.02.2010 в 20:49..
|
|
|

17.02.2010, 19:01
|
|
Познающий
Регистрация: 09.08.2009
Сообщений: 39
Провел на форуме: 298385
Репутация:
75
|
|
как работает эта программа? я в С оч.слаб... что будет на экране в результате работы программы? В самом коде могут быть ошибки...
#include<iostream.h>
int * sfirst_function(void);
int *isecond_function(void);
void main()
{int *pi=sfirst_function();isecond_function();
cout << "Znachennya virne?" << *pi;}
int * sfirst_function(void)
{int ilocal_to_first=11;
return &ilocal_to_first;}
int *isecond_function(void);
{int ilocal_to_second=44;
return &ilocal_to_f_second;
}
пишет: Declaration terminated incorrectly
что не так?
Последний раз редактировалось mr_walker; 17.02.2010 в 19:13..
|
|
|

17.02.2010, 20:52
|
|
Участник форума
Регистрация: 18.07.2009
Сообщений: 272
Провел на форуме: 2083691
Репутация:
330
|
|
Сообщение от mr_walker
как работает эта программа? я в С оч.слаб... что будет на экране в результате работы программы? В самом коде могут быть ошибки...
пишет: Declaration terminated incorrectly
что не так?
В программе допущены ошибки.
Рабочий вариант:
Код:
#include<iostream.h>
int * sfirst_function(void);
int *isecond_function(void);
void main()
{
int *pi=sfirst_function();
isecond_function();
cout << "Znachennya virne?" << *pi;}
int * sfirst_function(void)
{
int ilocal_to_first=11;
return &ilocal_to_first;
}
int *isecond_function(void)
{
int ilocal_to_second=44;
return &ilocal_to_second;
}
Программа выведит сообщение: "Znachennya virne?"
Последний раз редактировалось Ins3t; 17.02.2010 в 20:56..
|
|
|

17.02.2010, 21:10
|
|
студент
Регистрация: 30.07.2007
Сообщений: 800
Провел на форуме: 4275992
Репутация:
1188
|
|
Сообщение от mr_walker
как работает эта программа? я в С оч.слаб... что будет на экране в результате работы программы? В самом коде могут быть ошибки...
пишет: Declaration terminated incorrectly
что не так?
еще один вариант.
Код:
#include <iostream>
int *sfirst_function(void);
int *isecond_function(void);
int * sfirst_function(void)
{
int ilocal_to_first=11;
return &ilocal_to_first;}
int *isecond_function(void)
{
int ilocal_to_second=44;
return &ilocal_to_second;
}
void main()
{
int *pi=sfirst_function();
printf("First Function = %d\n",*pi);
int *si= isecond_function();
printf("Second Function = %d\n",*si);
}
На экране надпись:
First Function =11
Second Function = 44
|
|
|

17.02.2010, 21:20
|
|
Познающий
Регистрация: 11.01.2008
Сообщений: 42
Провел на форуме: 95213
Репутация:
49
|
|
PHP код:
int *sfirst_function(void);
int *isecond_function(void);
Зафига? Это надо объявлять, если собираешься экспортировать эти функции
PHP код:
int ilocal_to_first=11;
return &ilocal_to_first;
Так лучше не делать - локальные переменные удаляются из стека после возврата управления функцией, и не факт, что эта ячейка памяти не будет перезаписана до того, как вы это используете. Лучше передать возвращаемую переменную по значению, а не по ссылке
Последний раз редактировалось rankor777; 17.02.2010 в 21:24..
|
|
|

18.02.2010, 12:52
|
|
Banned
Регистрация: 05.03.2009
Сообщений: 71
Провел на форуме: 1130493
Репутация:
2
|
|
Нужно решить задачку на Си:
Дана строка символов. Известно, что среди символов строки имеется хотя бы один символ, отличный от пробела. Преобразовать строку, удалив группы пробелов, которыми начинается и заканчивается строка. Если указанных групп пробелов нет, то оставить строку без изменения.
|
|
|

18.02.2010, 13:08
|
|
Познающий
Регистрация: 11.01.2008
Сообщений: 42
Провел на форуме: 95213
Репутация:
49
|
|
PHP код:
char *trim(char *str)
{
int len = strlen(str); // строка должна быть с завершающим нулем!
int pos = 0;
char *result = new char[len];
ZeroMemory(result, len);
for ( int i = 0; i < len - 1; i++ ){
if ( memcmp(str[i], "0") != 0 ){
result[pos] = str[i];
pos++;
}
}
return result;
}
Писал по памяти, могут некоторые аргументы у функций отличаться, но смысл, я думаю понятен
|
|
|

18.02.2010, 13:20
|
|
Banned
Регистрация: 05.03.2009
Сообщений: 71
Провел на форуме: 1130493
Репутация:
2
|
|
Сообщение от rankor777
PHP код:
char *trim(char *str)
{
int len = strlen(str); // строка должна быть с завершающим нулем!
int pos = 0;
char *result = new char[len];
ZeroMemory(result, len);
for ( int i = 0; i < len - 1; i++ ){
if ( memcmp(str[i], "0") != 0 ){
result[pos] = str[i];
pos++;
}
}
return result;
}
Писал по памяти, могут некоторые аргументы у функций отличаться, но смысл, я думаю понятен
не правильная функция-memcmp, zeromemory-identifier not found
|
|
|

18.02.2010, 13:27
|
|
Познающий
Регистрация: 11.01.2008
Сообщений: 42
Провел на форуме: 95213
Репутация:
49
|
|
Замените условие цикла на for ( int i = 0; i < len - 1; i++ )
И подключите файлы string.h и windows.h
|
|
|

18.02.2010, 15:04
|
|
Новичок
Регистрация: 25.08.2008
Сообщений: 5
Провел на форуме: 13949
Репутация:
0
|
|
привет!
Тема работы: Динамический список динамических списков
Язык: Delphi
Подскажите, что почитать или сам алгоритм описания данной структуры.
Спасибо.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|