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

Интерфейс,график,среднее геометрическое,случайные числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массивы. Включение нового элемента. http://www.cyberforum.ru/cpp-beginners/thread209885.html
Подскажите, пожалуйста, как исправить. Вставляет элемент, вправо сдвигает, но последний элемент затирает. #include <iostream.h> #include <conio.h> #include<windows.h> const BUFFLEN = 1000;...
C++ Фундоментальные циклы графа Нужна программа на C\C++.по фундоментальным циклам графа,есть прога подобная на паскале но она у меня почемуто не работает...хотя пример взят из книжки где автор утверждает что она работает))) вот... http://www.cyberforum.ru/cpp-beginners/thread209880.html
Статический массив большого размера C++
Здраствуйте, скорее всего данная проблема у многих есть, этот код вызывает ошибку на этапе исполнения #include <windows.h> int main() { int qq; Sleep(2000); } ,
C++ Найти повторение в строке
Найти наиболее длинную последовательность символов в строке. к примеру const char* str="aabcedddddf". Указатель должен встать на d. Спасибо! Добавлено через 52 минуты Имеется ввиду наиболее...
C++ Как найти среднее арифметическое значение элементов http://www.cyberforum.ru/cpp-beginners/thread209850.html
Как найти среднее арифметическое значение элементов: 1) главной диагонали массива 2) побочной диагонали массива
C++ Операторы цикла (while, do...while) Вводится точность e. Вычислить сумму ряда (LR2). Вычисления продолжать до тех пор, пока очередное слагаемое не станет меньше e. подробнее

Показать сообщение отдельно
Егорка47
7 / 6 / 1
Регистрация: 26.10.2010
Сообщений: 249
15.12.2010, 15:14  [ТС]
кто нибудь может помочь?

Добавлено через 25 минут
поправьте меня если я что то не так делаю.

1 функция: bool check_signs(char a,char *signs)

{
int i;
for (i=0;i<strlen(signs);i++){ // в цикле от и = 0 до и меньше рамера строки "signs"
if(a==signs[i]) // если а присваиваем итый элемент строки.. (что такое а в данном случае?)
return false; // возврашаем функции ошибку
}
return true; // видимо иначе возвращаем правильно
}


что эта функция делает,объясните пожалуйста!

Добавлено через 1 минуту
вот задание ко всей программе:

Задание 1.
Для решения различных задач используются методы Монте-Карло, предполагающие применение массивов случайных чисел с большим количеством элементов. Размер массива становится известным во время выполнения программы, т.е массив должен создаваться динамически. Создайте две функции для решения одной и той же задачи: динамическое создание и заполнение случайными числами массива указанного размера. Первая функция должна использовать возвращаемое значение для передачи пользователю сгенерированного массива, а вторая должна передавать массив через один из своих аргументов. Стандартная библиотека Си содержит функции int rand() и void srand(unsigned) для генерации псевдослучайных чисел (прототипы в файле stdlib.h).

Задание 2.
Дана строка, содержащая текст на естественном языке. Напишите функцию, создающую новую строку, в которой все слова из старой строки следуют в обратном порядке и разделены одним знаком пробела. Исходная строка может содержать различные знаки-разделители (пробелы, запятые, точки и т.п.). Полный набор знаков-разделителей передается функции при её вызове.

Задание 3.
Напишите универсальную функцию для нахождения среднего геометрического отрицательных элементов матриц с произвольным числом строк и столбцов. Напишите программу-тест с промежуточной конструкцией, позволяющей передавать в функцию двумерные массивы.

Задание 4.
Напишите функцию, строящую график заданной функции на заданном интервале изменения аргумента. Указатель на конкретную функцию и предельные значения аргумента передаются через аргументы. Алгоритм работы функции может быть таким: разбить интервал изменения аргумента на фиксированное число равновеликих подинтервалов и для каждого значения аргумента найти значение функции. Получим сетку значений аргумента и функции. Затем нужно провести масштабирование – перейти от действительных значений к целым экранным координатам, полагая, что ось абсцисс направлена сверху-вниз, а ось ординат – слева-направо (график «лежит на боку»). Точки соответствующие значениям функции на сетке можно отображать с помощью какого-нибудь символа, например, звездочки.

Схема масштабирования:
double x, y;
double yMin, yMax; /*минимальное и максимальное значения функции на заданном интервале изменения x */
const int yScrMin = 1, yScrMax = 50; /* пределы изменения "экранной" координаты yScr */
int yScr; /* координата на экране, соответствующая "физической" координате y */

/* найти yMin и YMax */

y = f(x);
/* масштабирование */
yScr = yScrMin + (y – yMin)/(yMax – yMin)*(yScrMax – yScrMin);

Рисунок для функции y = x * x
|--------------------------------
| *
| *
| *
|*
| *
| *
| *


Задание 5.
Создайте текстовый, основанный на использовании меню, интерфейс пользователя для тестирования функций, содержащих алгоритмы решения заданий 1-4. Используйте массивы указателей

Добавлено через 8 минут
2 функция: int* arr(int count)
{
int *p,i; //вводим указатель "п" и переменную "и"
p=(int*)malloc(count*sizeof(int)); // указателю присваиваем.....дальше не знаю!что значит?!
srand((unsigned)time(NULL)); //устанавливаем начальную точку.но как?что значит (unsigned)time(NULL)

for(i=0;i<count;i++) // в цикле от 0 до и меньше count...что такое count??
p[i]=rand(); // теперь итому элементу указателя присваиваем псевдослучайное число..
return p; //возврашаем p.
}


то есть функция в общем заполняет случайными числами ....что?
по идеи должна заполнять массив,но я не понимаю где хоть слово о массиве..

Добавлено через 6 минут
функция 3 (аналогично предыдущей): void arr2(int count,int **p)
{
int i; // почему не объявляем *р ?
*p=(int*)malloc(count*sizeof(int)); // в чем разница?
for(i=0;i<count;i++) //...
(*p)[i]=rand(); // и тут в чем?
}

Добавлено через 13 минут
функция 4: void reverse(char *str1,char *signs) // 2 задание по идеи
{
int i,n,a,b; //..
char *str2,*tmp; //..
str2=(char*)calloc(strlen(str1)+1,1); // что значит эта строка?
b=strlen(str1)-1; // б присваиваем длину строки стр1, а -1 почему?
do {
tmp=(char*)calloc(strlen(str1),1); // ???
for(i=b;i>=0;i--) { //.....
if(check_signs(str1[i],signs)) { // если 1 функция.????..то
a=i;
break;
}
else continue;
}
for(i=a;i>=0;i--) {
if(check_signs(str1[i],signs)==0) { // ????
b=i+1;
break;
}
else
if((i==0)&(check_signs(str1[i],signs)!=0)) { // ???
b=i;
break;
}
else continue;
}
n=a-b+1; // почему??
memcpy(tmp,&str1[b],n); // копируем содержимое строки тмп в стр1. так??
strcat(str2,tmp); // что это значит?
strcat(str2," "); // и это что?
b=b-1; // почему -1?
free(tmp); //освобождаем память
}
while(i!=0);
printf("\nNew string:\n\n");
for (i=0;i<strlen(str2)-1;i++)
printf("%c",*(str2+i));
printf("\n");
}

Добавлено через 55 минут
кто нибудь может показать ошибки в комментариях?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru