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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ASky
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 5
#1

задачка (сам уже весь запутался нафиг) - C++

28.10.2012, 09:03. Просмотров 243. Ответов 1
Метки нет (Все метки)

в одномерном массиве состоящим из n вещественных элементов, вычислить:
1) количество элементов меньших С
2) сумму целых частей элементов массива, рассположенных после последнего отрицательного элемента
преобразовать массив таким образом чтобы сначала располагались все элементы, отличающиеся от максимального элемента не более чем на 20%, а потом все остальные.


вот что у меня получилось, напишите плиз полностью прогу как должно быть а я сам уже разберусь где и как, а то внатуре запутался не могу уже разобраться


# include <stdio.h>
# include <iostream.h>
# include <conio.h>
# include <math.h>
# include <stdlib.h>
int main()
{
clrscr ();
randomize ();
float *q,*b,w,e,c,i,n,max,z;
z=0;
cout <<"vvedi koli4estvo 4isel massiva" "\n";
cin >>n;
q=new float[n];
b=new float[n];
cout <<"vvedite c" "\n";
cin >>c;
for (i=0; i<=n; i++)
{
q[i]=random(4000)-1000; cout <<"q["<<i<<"]="<<q[i]<<"\n";
}
cout <<"---------------------------------------------------------"<<"\n";
for (i=0; i<n; i++)
{
if (q[i]<c)
z=z+1;
cout <<"q1["<<i<<"]="<<q[i]<<"\n";
}
cout <<"koli4estvo elementov menishih c="<<z<<"\n";
w=0;
i=n;
while (q[i]>0)
{
w=q[i]+w;
i--;
}
cout <<"summa="<<w<<"\n";
cout <<"---------------------------------------------------------"<<"\n";
max=0;
for (i=0; i<=n; i++)
{
if (max<q[i])
max=q[i]; cout <<"q["<<i<<"]="<<q[i]<<"\n";
}
cout <<"max="<<max<<"\n";
for (i=0; i<=n; i++)
{
if (q[i]-q[i]/5>max)
b[i]=q[i];
cout <<"b["<<i<<"]="<<b[i]<<"\n";
}
getch ();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2012, 09:03     задачка (сам уже весь запутался нафиг)
Посмотрите здесь:

проверьте, кажется сам нашёл ошибку уже - C++
Вообщем захотел сделать задачку, чтение из файла символов произвольной длинны и поиск их кол-ва символов. Создаю 2 массива, Под длину...

Текстовой файл с уже введенным текстом зашифровать и вывести уже зашифрованный - C++
Здравствуйте.Задание -шифр Виженера. Вроде код написал,но есть ошибки.Задание заключается в том,чтобы текстовой файл с уже введенным...

Запутался в цикле - C++
Сначала идет все, как нужно. Символы не подлежат вводу (что мне и нужно). Но когда ввожу число из нужного диапазона , пишет, что оно не...

Массив(запутался) - C++
Знаю правила, прошу помощи. &quot; Пример массива и дополнительных переменных приведены ниже: { 1.2, -1.8, -4.5, 8.5, -0.1, -0.9, 9.7,...

Запутался в циклах - C++
Вроде бы все сделал правильно но есть ошибка Заполняю массив рандомными числами потом скалдываю все числа массива и записую результат в...

Запутался в классах (( - C++
1) Есть класс лабиринта &quot;Maze&quot;. В нем расположен 2-ух мерный массив. Он генерируется процедурой в классе. 2) Есть класс мыши &quot;Mouse&quot;....

Запутался в Рекурсии - C++
int f(unsigned no, unsigned div) { if (!no) return div; if (!div) div=1; if (no % 2) return div + f(no/div,...

Запутался в ссылках - C++
Долго сижу и никак не могу понять в чём ошибка. Вот 3 файла. Они подключены правильно и работают. #include &lt;iostream&gt; #include...

запутался со списком - C++
Всем доброго времени суток! Помогите пожалуйста разобраться, я сделал класс spisok , в нем несколько нужных мне структур и методов,...

Запутался с циклами - C++
хочу что подпрограмка при вводе m=6 выводила 0123 0124 ...

Запутался с итераторами - C++
Привет. Никак не могу понять почему ошибка? std::string s = &quot;sEReGA&quot;; for (std::string::iterator i = s.begin(); i != s.end();...

Запутался в типах - C++
Как правильно указать типы для вывода нормального, верного ответа? Как правильно задерживать консоль? #include &lt;iostream&gt; #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
28.10.2012, 10:35     задачка (сам уже весь запутался нафиг) #2
в общем то все в порядке кроме последнего. Во-первых я вам советую все задания сделать как отдельные функции, будет проще просматривать код, а по последнему заданию лучше создать еще один массив такой же размерности. Далее в цикле просмотреть массив полностью на как раз элементы отличающиеся не более че мна 20% (тут опять же лучше брать модуль от разницы а не просто
Цитата Сообщение от ASky Посмотреть сообщение
C++
1
if (q[i]-q[i]/5>max)
т.е.
C++
1
if (abs(q[i]-q[i]/5)>max)
записать все индексы и их количество в отдельный массив и переменную (пусть это будет buf[] и n1)
сделать функцию проверки которая определяет лежит индекс i в массиве индексов buf
далее таким образом сделать запись
C++
1
2
3
4
5
6
7
j=0;
for(int i=0;i<n;i++)
    if(proverka(i,buf))
        mas[j++]=q[i];
    else
        mas[n++]=q[i];
//соответственно если индекс принадлежит индексам тех значений который от максимума отличаются менее чем на 20% их запишут в начало, если более чем то их запишут после тех которые описаны выше
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru