lana
написала 22 апреля 2008 года в 15:12 (5213 просмотра)
Ведет себя
как женщина; открыла 3 темы в форуме, оставила 2 комментария на сайте.
Помогите пожалуйста написать прогу на С #
В заданной строке подсчитать частоту появления букв «а» и «b».
// Тему переместил(а) Dmitry Shurupov из форума «Общий по программированию».
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
сколько ты за нее готова выложить?
Ну или сделать…
хм… А сколько надо?! :)
Перенесите тему в соотв. раздел. Это раз.
Лично мне нисколько не надо. Фотку запости, а там будем решать. :D
Ты бы это самое, жанр что ли сразу указывал… ;)
прога строк в 10 максимум, можно и подумать как написать
даже я знаю)
#include
#include
#include
int main(int argc, char* argv[])
{
std::string input;
unsigned int count_a, count_b;
std::cin >> input;
count_a = std::count(input.begin(), input.end(), 'a’);
count_b = std::count(input.begin(), input.end(), 'b’);
std::cout << «Count of 'a' is » << count_a
<< ». Count of 'b' is » << count_b << «.»
<< std::endl;
return 0;
}
Вариант с использованием stl, думаю от C# не сильно будет отличаться.
Будет :)
я бы написал извращенней :)
Ну, вот опять , а при чем здесь моя фотка?!
Ну если мы работаем не за деньги, то надо знать, собственно, кому помогаешь «за так».
Люди добрые помогите написать прогу для объдинения двух текстовых файлов, где названия файлов вводится с клавиатуры. На C…
Продолжение банкета?
Фотка хде?!
Скоро будет…
а как ее можно выложить и куда?
закидываешь на imageshack.us и кидаешь сюда линк
Так пойдет?
Не супер-качество, ну да бог с тобой.
Ну а я то тут при чем, если тут тока 100*100 мона
А мне помогать не надо, но я просто могу фотку выложить =)))))
Так это… В студию! Как можно понять, люди тут заинтересуются :-D
А сколько ты готов за это выложить? =))
Зависит от ракурса и содержимого!Ой, я не… Я пас. Так, для других… :-D
Хе-хе, всегда вы так: чуть что, сразу стрелки на других :D
Ну помогите мне кто-нибудь! Неужели это так тяжело…
Незачёт. Тема сисек на раскрыта!
Ну и ладно…. Сама напишу! :-P
Этого они и добивались ;)
Тогда зачем было вообще отвечать?
Лентяи и наглецы =)
для того, чтобы заставить тебя думать и написать самой :) знаете ли развивает воображение :)
А в написании прог часто воображение помогает? :))
ты не поверишь :)
без воображения в написании прог делать ИМХО просто нечего.
Не, у меня в школе был опыт написания прог в Бэйсике, но как-то воображение мне не особо помогало =)))
да, там не нужно думать, нужно тупо выполнять указания учителя. это быдлокодинг.
гораздо веселее, когда тебе говорят например «сыграть на pc-speaker’e 5-и секундный отрывок любимого муз. произведения» на Q-бейсике например.
вот тут уже потребуется некоторое количество воображения и может даже музыкальных знаний.
Люди добрые, сходите за меня завтра на работу. Фотка прилагаеться :-D
Ты далекова-то живешь:) и кто же за меня на работу пойдет? :D
Давайте я за вас за всех на работу схожу! А вы мне поможете…
Wild_cat, splinter работает шлюхой, ты ещё согласна?
системное администрирование перешло в разряд проституции??? о_О
Я не согласна! Да и тем более он ею не сможет работать…
Ну это вопрос терминологии…
Спасибо myst за помощь!!!
Нельзя помочь тому, кто сам ничего не делает.
А что, тот же обслуживающий персонал. ;)
Ну и.. вот, например:
http://humour.sysadminday.com.ru/read.phtml?n=54
Да всех нас имеют, не льстите себе =))
*сорри за мой французский, но се ля ви :)*
просто иногда бывает что имеют нетрадиционным способом :)
Это уж на что фантазии хватит ) начальство редко когда ей обделено =)
Начала писать прогу с циклическим алгоритмом которая считает x+pow(x,3)/facatarial(3)+pow(x,5)/facatarial(5)+pow(x,7)/facatarial(7)+pow(x,9)/facatarial(9)
Вот она, но она не работает помогите пожалуйста!!!
#include
#include
int facatarial (int i)
{
int sum=1;
for(i=1; i<=9; i++)
sum=sum*i;
return sum;
}
void main (){
int x, n, y;
printf(«Enter x=> »);
scanf («%d»,&x);
y=0;
for (n=1; n<=9; n=n+2) y=y+(pow(x,n)/facatarial(n));
printf(«y=%d»,y);
}
«facatarial» — улыбнуло :) А, интерeсно, что он должен считать? Неужели факториал числа? Тогда кусок
for(i=1; i<=9; i++)
sum=sum*i;
должен быть (в твоих обозначениях)
int j;
for(j=1; j<=i; j++)
sum=sum*j;
1 — факториалы рекомендую считать рекурсивно, но аккуратно.
2.
понимаю, что можно, вот только нужно ли…
А как же…
И вообще кто нибудь может подсказать как сделать что бы знаки чередовались, т.е. что бы было x-pow(x,3)/facatarial(3)+pow(x,5)/facatarial(5)-pow(x,7)/facatarial(7)+p ow(x,9)/facatarial(9)
int k=1;
…
k=-k;
y=y+k*some_expr;
….
Please, напишите программу полностью!
Если не тяжело, а то я уже вся запуталась…
Такая вот получается программа, тока она считает неправильно…
#include
#include
int facatarial (int j)
{
int sum=1;
for(j=1; j<=1; j++)
sum=sum*j;
return sum;
}
void main (){
int x, n, y,k;
printf(«Enter x=> »);
scanf («%d»,&x);
y=0;k=1;
for (n=1; n<=9; n=n+2)
{
y=y+k*(pow(x,n)/facatarial(n));
k=-k;
}
printf(«y=%d»,y);
}
Что то тут не так… Помогите мне
А ты подумай что она тут тебе насчитает и перечитай что пост Heavy
чередование знаков делается умножением на -1
Задача почему-то напоминает частичную сумму ряда Тэйлора для sin(x)…
Вообще ни чего не поняла
int j;
for(j=1; j<=i; j++)
sum=sum*j;
это нужно добавить или этим заменить? Тогда причем тут j<=i?
Пожалуйста напишите мне эту часть с факатариалом!…
а подумать? нарисовать блок-схемку, не смотря в свой код?
рекомендую сначала проговорить словами то, что ты хочешь от программы.
З.Ы. или в помощь за деньги. сделаю за 300 WMR. и то, Лонгобард жалуется, что мало прошу :)
З.Ы.Ы. слово «факториал» пишется как «фактОриал»
#include
#include
int factorial (int n)
{
int sum=1;
int j;
for(j=1;j<=n;j=j+1) sum=sum*j;
return sum;
}
void main (){
int x, n, y, k;
printf(«Enter x=> »);
scanf («%d»,&x);
y=0;k=1;
for (n=1; n<=9; n=n+2)
{
y=y+k*(pow(x,n)/factorial(n));
k=-k;
}
printf(«y=%d»,y);
}
а так?
похоже на правду
Ну а что еще? Ну подскажите
Думаю проблема в том что ты используешь целые числа. int — это знаковый целый тип, прочитай про float и double.
Как я поняла нужно в факториале оставить целые числа, а уже в теле самой программы использовать все действительные?
попробуй поменять в main() тип переменной y на double
Спасибо всем за помощь! Все работает! Уряяя!
сэкономила 300 рублей :) можно попить пива :)
Начала писать еще одну программу: упрвление матрицами добавление и удаление строк. Матрица хранится в файле.
Вот тока начало с добавлением:
#include
void main(){
FILE*fd;
fd=fopen(«File.txt»,«a»);
if(fd==NULL)
{printf(«\n Oshibka sozdaniya fayla»);
return;
}
char str[10];
gets(str);
fputs(str,fd);
return;
}
Кто-нибудь помогите пожалуйста, сделайте что бы она с указанного места строку вставляла и удаление. Я все книги перерыла в нашей библиотеке и ничего так по этому не нашла, а мне ох как срочно надо…
Если кто нибудь поможет, то пришлите программу на ящик: katrin.ras@mail.ru, заранее благодарна!!!
потенциальное переполнение буфера.
далее, кто закрывать дескриптор будет? кто будет делать flush в фаил.
З.Ы. рандомными числами файлик забивать не труЪ?
Пожалуйста напиши программу, очень срочно надо! Скоро сессия, а то до экзамена не допустят, одна осталась, последняя…
коммерческое предложение смотри выше по топику.
Мне такие лабы писать уже неинтересно.
а вот это повод напрячься, подумать, написать и сдать. на экзамене же легче будет. + если специальность завязана на программирование, то без этой базы дальше делать нечего.
З.Ы. да, я сам много чего не делал, не сдавал, или сдавал чужое. Я не верю, что у тебя в группе нет ни одного парня, который умеет делать такие лабы за пиво.
Вот потом получаются, что такие быдлокодеры пишут всякие быдлоприложения, а народ(не искушенный) потом страдает.
Короче я вообще ни в каких книгах не могу найти удаление символов!!!
И времени совсем не остается!
Ну люди, пожалуйста помогите, очень срочно нужно!
Я тебе подскажу примерно.
Во-первых, ты открываешь файл в режими `a`(append), что подразумевает добавление данных в конец файла. Для твоей задачи это не подходит, тебе нужен режим 'r+’.
Как таковое удаление строчки сделать нельзя, тебе надо ее просто переписать.
Для этого считываешь данные из следующей строки, перемещаешься в предыдущую и там записываешь. Для изменения позиции в файле, используется fseek, также полезной функцией может быть ftell.
Ну вот функцию ftell я вообще в учебнике не нашла, а вот что дальше?
#include
#define BUF_SIZE (10 * 1024)
void main(){
FILE*fd;
fd=fopen(«File.txt»,«r+»);
if(fd==NULL)
{printf(«\n Oshibka sozdaniya fayla»);
return;
}
int n;
scanf(«%lf»,n);
int fseek(FILE*fd,long n,int origin);
char str[10];
gets(str);
fputs(str,fd);
return;
}
В man надо смотреть:) В кратце:
long ftell(FILE *stream); — возвращается текущую позицию в файле.
Что означает этот define?
main должен возвращать int, то что у тебя компилятор кушает void, скудоумие разработчиков отдельной ОС.
Открыла файл, текущая позиция в файле 0.
У тебя переменная int, читай про модификаторы формата scanf.
Что ты здесь хочешь получить?
Прототип функции это хорошо, но тебе надо ее использовать, а не переписывать начало файла.
Уже писали, повторюсь что будет если я введу строку длиной больше 10 символов?
Переписала начало файла на введенную строку, но у тебя немного другое задание.
Где закрытие файла? Он конечно и сам закроется, но явное закрытие файла хороший стиль.
Ну как ее использовать? Во всей литературе пишут только прототипы. а как и использовать додумывайте сами, и препод не объяснит, потому что его попросту нет, так как заочница… и как тут быть?
Как указать позицию? Ведь там в байтах указывается и как же с ними разобраться?
У тебя есть интернет, а в нем можно найти кучу исходных кодов, вот тебе и пример использования.
Все правильно, позиция в байтах.
Допустим у тебя есть файл, содержащий: «1234567890».
То что ты написал можно просто вставить в программу? Как я поняла для того чтобы заменить стороку нужно циклический алгоритм создать? Что бы до определенного символа заменять…?????????
Вот что получается, это я в матрице 3*3 2 строку заменяю… Но как сделать что-бы эти a, b, c с клавиатуры вводились… Я делаю как обычно, а программа выдает ошибку…
#include
void main(){
char a =’A';
char b =’B';
char c =’C';
FILE*fd;
fd=fopen(«File.txt»,«r+»);
long pos = ftell(fd);
fseek(fd,5, SEEK_SET);
pos = ftell(fd);
fwrite(&a,1,1,fd);
fseek(fd,-5, SEEK_CUR);
fseek(fd,6, SEEK_SET);
pos = ftell(fd);
fwrite(&b,1,1,fd);
fseek(fd,-6, SEEK_CUR);
fseek(fd,7, SEEK_SET);
pos = ftell(fd);
fwrite(&c,1,1,fd);
fseek(fd,-7, SEEK_CUR);
char string[10];
fgets(string, 10, fd);
puts(string);
}
Куда сдесь нужно вставить scanf(«…..»); ?
Я написал пример, а не точное решение здачи, если немного подумать то его можно адаптировтаь под твое задание.
По поводу возвращаемого значения функцией main я уже писал.
[/quote]
char a =’A';
char b =’B';
char c =’C';
FILE*fd;
fd=fopen(«File.txt»,«r+»);
long pos = ftell(fd);
[/quote]
Зачем здесь ftell? ftell используется для определения позиции, если ты ее не знаешь, а тебе ее надо знать.
Переместиласть к 6-му символу и переписала его.
Зачем эта строчка?
Переместиласть к 7-му символу и переписала его. Перемещение абстолютно было бы не нужно если бы не непонятный предыдущий fseek.
Опять зачем-то перемещение назад.
Перезапись 8-го символа.
Здесь ты увидишь содержание файла, начиная со 2-го символа.
Да это правильный вопрос, еще что он должен сканировать?
Прочитай свое задание и попробуй нарисовать то, что тебе надо сделать. Напиши потом словами что должно происходить в программе, попытки сделать copy/paste не приведут к успеху.
Мне нужно что бы он читал введеные с клавиатуры числа, т.е. заменять A, B, C в файле на числа, но как это сделать. Я пыталась вводить в начале файла и после ни чего не получается!
#include
main(){
char a =’A';
char b =’B';
char c =’C';
double A, B, C;
scanf(«%lf%lf%lf»,&A,&B,&C);
FILE*fd;
fd=fopen(«File.txt»,«r+»);
fseek(fd,5, SEEK_SET);
fwrite(&a,1,1,fd);
fseek(fd,6, SEEK_SET);
fwrite(&b,1,1,fd);
fseek(fd,7, SEEK_SET);
fwrite(&c,1,1,fd);
fseek(fd,-7, SEEK_CUR);
fclose(fd);
}
Вот что получилось при исправлении, ошибок 0, только вот прога все равно ошибку пишет когда вводишь числа
Опять вернемчя к main. Правильный прототип main:
int main(int argc, char* argv[])
Здесь нет ничего не правильного, ошибки ты скорее всего получаешь из-за того что не правильно данные вводишь.
А здесь все довольно странно, не вижу как этот фрагмент связан с твоим заданием. fseek — низкоуровневая функция, она работает с байтами, как и fwrite. Вот такой вызов fwrite(&c,1,1,fd); Записать 1 раз 1 байт данные находящиеся по адресу переменной c. Для переменной c это верно, поскольку она занимает одина байт.
Очень неудачные названия переменных A и a … сама в этом запутаешься.
Вернись еще раз к своему заданию, ты там строки матрицы должна вводить. Можно это сделать отдельными числами, но вряд ли тебе это нужно. Есть ли у тебя понимания чем отличается бинарный файл от текстового? Записывая float через fwrite, ты получаешь его бинарное отображение в файле.
Блин ну подскажи как будет правильно, у меня уже в понедельник экзамен!
Как правильно данные вводить? И сколько весят числа? А main я записываю так как указано в пособии, которое писали наши преподы
main это минус преподам.
bash-3.2$ ./main.e
2.3 54.3 4
2.300000,54.300000,4.000000
Разделитель целой и дробной части может быть и другой.
Не поняла… Пож, исправь мою программу!
Это пример считывания scanf и как вводить данные для нее. Я уже писал, что надо делать чтобы выполнить это задание, ты на это забила.