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

Вычислить сумму всех элементов массива превышающих число B - C++

Восстановить пароль Регистрация
 
kymar
Сообщений: n/a
03.04.2010, 10:50     Вычислить сумму всех элементов массива превышающих число B #1
Дан одномерный массив чисел {Ci} i...12. Вычислить сумму всех элементов массива превышающих число B.Поменяйте местами максимальный и минимальный элементы массива.

В произвольном тексте из 8-ми предложений подсчитать сколько раз встречается союз и(или) и заменить его на символ "*"

лабки в понедельник сдавать а я понятия не имею как их делать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2010, 10:50     Вычислить сумму всех элементов массива превышающих число B
Посмотрите здесь:

C++ Вычислить сумму квадратов всех элементов заданного массива A(N), за исключением элементов, кратных пяти.
Дано одномерный массив Р, который состоит из 12 элементов. Вычислить сумму модулей всех от "объемных элементов * превышающих числа А (А = 1.25) C++
Найти количество элементов превышающих среднее арифметическое всех элементов массива C++
C++ Вычислить сумму кубов всех положительных элементов массива
C++ Вычислить сумму квадратов всех элементов массива
C++ Вычислить сумму всех чисел Фибоначчи не превышающих N
C++ Вычислить сумму квадратов всех элементов массива
Вычислить сумму косинусов всех элементов массива C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
03.04.2010, 20:10     Вычислить сумму всех элементов массива превышающих число B #2
Для одномерного массива: надо завести переменную для хранения результата, перебирая по очереди каждый элемент массива сравнивать его с числом В, если элемент больше то прибавлять его к результирующей переменной, если меньше ничего не делать и переходить к следующему элементу.
Поиск минимального и максимального: завести три переменных - одну для хранения индекса минимального элемента, вторую для хранениея индекса максимального элемента, и третью - временную. Затем надо определить индекс наибольшего и индекс наименьшего элементов. для этого надо пройти по массиву запоминая во временную переменную очередной элемент, если он больше (или меньше, если ищем минемальный элемент) чем временная переменная, одновременно запоминая и его индекс.
Пройда так два раза найдем эти индесксы, и сделаем замену элементов, используя третью переменную для веременного храниения одного из элементов temp=array[i]; array[i]=array[j]; array[j]=temp;.

Для замены союзов "и" и "или":
Надо построить конечный автомат. Нобходимо завести переменную в которой будет записан номер стояния автомата. Устанавиливаем сосояние 0. Проходим по файлу считывся по одному символу.
если в состоянии 0 считаный символ равен "и" переходим в состояние 1.
в состоянии 1 считываем символ если он равен пробелу то записываем в выходной файл "*" и увеличиваем счетчик на 1.
если в 1 состоянии считали "л" то переходим во 2-е состояние,
если в 1 состоянии счиатный символ не прбел и не "л" то записываем прошлый считаный и текущий считаный символы в выходной файл.
если в состоянии 2 считали "и" переходим в состояние 3
если в состоянии 2 считали не "и" то записываем в выходной файл прошлый и текущий считаные символы.
если в состоянии 3 сичтали пробел то записывает в выходной файл "*" и учеливаем счетки союзов на один.
- типа того. Только не забудь что перед "и" или "или" дожен пробел идти.
можно проще правда. просто сделать два файловых потока и строковую переменную, в нее как раз будет четко одно слово считываться. Вот и считытьват слова и проверять, если слово равно "и" или "или" то делать соответствующие действия если нет просто записывать его в выходной файловый поток:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <fstream>
#include <string>
 
ifstream input;
ofstream output;
input.open("inputtext.txt");
output.open("output.txt");
string word; // временная переменная для хранения слова, считанного из файла.
int counter;// количество союзов
while (!input.eof())
{
       input >> word;
       if (word=="и" || word=="или")
       {
             counter++;
             output << "*";
       }
       else output << ' ' << word; //как тормальный вывод сделать сам разберешься :)
}
input.close();
output.close();
Yandex
Объявления
03.04.2010, 20:10     Вычислить сумму всех элементов массива превышающих число B
Ответ Создать тему
Опции темы

Текущее время: 06:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru