Вопрос № 156802: Определить, сколько раз в строке встречается заданное слово....
Вопрос № 156817: Дана последовательность действительных чисел а1,а2 ..., аn. Заменить все ее члены, большие данного числа Д этим числом (Д). Подсчитать количество замен....Вопрос № 156824: Даны натуральные числа n и k, n> 1. Напечатать k десятичных знаков числа /n. Программа должна использовать только целые переменные.Желательно
решить как можно проще, при помощи функции....Вопрос № 156834: Здравствуйте! Помогите пожалуйста. Заранее СПАСИБО! Работа со строками. Текстовые файлы. Задание. Составить программу, выполняющую преобразования над текстовыми файлами согласно заданному варианту. Исходный текстовый файл создается при помощи реда...Вопрос № 156865: Здравствуйте, уважаемые эксперты!
Помогите пожалуйста, отсортировать этот вот одномерный массив, чтобы в первой половине были элементы с нечетных позиций, а во второй половине - с четных., без использования спец. функций! # include <iost...Вопрос № 156872: Вычислить средний балл студентов группы, если известны оценки каждого студента по программированию, периферийным устройствам и базам данных. Распечатать список студентов имеющих средний балл выше среднего....
Вопрос № 156.802
Определить, сколько раз в строке встречается заданное слово.
Отправлен: 06.01.2009, 11:43
Вопрос задал: Ryabichko (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: realbustard
Здравствуйте, Ryabichko! Задача решена с использованием стандартного контейнера vector. Будут вопросы по коду, задавайте в минифорум. Удачи!!!
Код:
#include<iostream> //определяет потоковый ввод-вывод #include<vector> //Позволяет использовать стандартный
контейнер vector #include<string> //Позволяет использовать стандартный класс string
using namespace std;
struct Pair{ string name; //Слово double val; //Количество его повторений в строке };
vector<Pair> pairs; //Вектор из элементов типа Pair double& value(const string&); //Ф-я для подсчета числа вхождений слов в строку
int main() { string buf; while(cin >> buf) //Считыван
ие очередного слова value(buf)++; //Увеличение счетчика вхождений слова в строку
//Вывод результа подсчета с использованием итераторов for (vector<Pair>::const_iterator p = pairs.begin() ; p != pairs.end() ; ++p) cout<<p->name<<": "<<p->val<<"
";
return 0; }
double& value(const string& s) { for (int i = 0 ; i < pairs.size() ; i++) if (s==pairs[i].name) //Если слово уже есть в векторе, return pairs[i].val; //увеличиваем значение счетчика на 1
Pair p={s,0}; //Если нет, создаем новый объект pairs.push_back(p); //и помещаем его в конец вектора return pairs[pairs.size()-1].val; //увеличиваем значение счетчика на 1 }
--------- Учись так, как-будто собираешься жить вечно; живи так, как-будто завтра умрешь (Отто фон Бисмарк)
Ответ отправил: realbustard (статус: Студент)
Ответ отправлен: 06.01.2009, 12:15
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 240416 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Ryabichko! Ну и я предложу свой вариант решения задачки (в приложении). Без ввода, только идею разбора строки на подстроки.
Приложение:
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Специалист)
Ответ отправлен: 06.01.2009, 15:52
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 240434 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 156.817
Дана последовательность действительных чисел а1,а2 ..., аn. Заменить все ее члены, большие данного числа Д этим числом (Д). Подсчитать количество замен.
Отправлен: 06.01.2009, 14:29
Вопрос задал: Ryabichko (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Николай // Programmator
Здравствуйте, Ryabichko!
Комментированый код С++ программы в приложении. Скомпилировано и проверено в среде MS VS Studio 2005.
--------- Основное правило хакера: "Научился сам, научи другого".
Ответ отправил: Emmanuel Goldstein (статус: 3-й класс)
Ответ отправлен: 06.01.2009, 17:38
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 240441 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 156.824
Даны натуральные числа n и k, n> 1. Напечатать k десятичных знаков числа /n. Программа должна использовать только целые переменные.Желательно решить как можно проще, при помощи функции.
Отправлен: 06.01.2009, 16:12
Вопрос задал: Ryabichko (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Николай // Programmator
Здравствуйте, Ryabichko!
Ну если решить попроще и выходя из дополнительной информации из мини-форума, что можно использовать и действительные переменные - комментированый код решения задачи в приложении. Скомпилировано и проверено в среде MS VS 2005. Будут вопросы - пишите в мини-форум.
#thank 240438 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 156.834
Здравствуйте! Помогите пожалуйста. Заранее СПАСИБО! Работа со строками. Текстовые файлы. Задание. Составить программу, выполняющую преобразования над текстовыми файлами согласно заданному варианту. Исходный текстовый файл создается при помощи редактора текста и может содержать произвольную последовательность различных символов произвольной длины. Подсчитайте количество указанных цепочек в файле, найденных по образцу. Причем в образце символ "+" означает один произвольный символ, а символ "*"
– произвольную цепочку длиной не более 5 символов.
Отвечает: Ilkras
Здравствуйте, Павлов Павел! Можно преобразовать "образец" в regular expression и воспользоваться существующими библиотеками для поиска из кода. Подробней об этом написано в этой статье
Ответ отправил: Ilkras (статус: Студент)
Ответ отправлен: 06.01.2009, 20:15
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 240447 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 4
Вопрос № 156.865
Здравствуйте, уважаемые эксперты! Помогите пожалуйста, отсортировать этот вот одномерный массив, чтобы в первой половине были элементы с нечетных позиций, а во второй половине - с четных., без использования спец. функций!
# include <iostream.h> # include <math.h> # include <conio.h> #pragma argsused int main(){ const int N=10; int a[N]={-1,0,5,1,21,0,-10,-7,9,0}; int n, m, nul_1, nul_2, summa, temp, proizv_, polojit, otriz, middle; int*b=a;
int n_max=0; for (n=0; n<N; n++) if (a[n]>a[n_max]) n_max=n; cout<<"
nomer max= "<<n_max;
for (n=0; n<N-1; n++) if (a[n]==0) {nul_1=n; break;} for (n=0; n<N; n++) if (b[n]==a[n]) nul_2=n;
cout<<"
nul_1= "<<nul_1<<" nul_2= "<<nul_2<<endl;
for (summa=0, n=nul_1; n<nul_2; n++) summa+=a[n];
cout<<"
Summa elem-v, rasp-h m/u 1-m i 2-m nulevymi elem-mi: "; cout<<summa<<" ";
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Савченко Ольга Сергеевна! Если число элементов массива четное, то требуемую сортировку можно сделать, например, так:
Код:
void sortParity(int * pStr, int len) { int i, j, c, k = (len>>1)-1;
for (i=0; i<k; i++) { for (j=0; j<k-i; j++) { c=pStr[i+(j<<1)+1]; pStr[i+(j<<1)+1]=pStr[i+(j<<1)+2]; pStr[i+(j<<1)+2]=c; } } }
int
main(int argc, char* argv[]) { const int N=10; int a[N]={-1,0,5,1,21,0,-10,-7,9,0};
sortParity (a, N);
return 0; }
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Специалист)
Ответ отправлен: 07.01.2009, 04:42
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 240476 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает: Micren
Здравствуйте, Савченко Ольга Сергеевна! Программа тестирована на Microsoft Visual Studio 2008
Поскольку не ясно нужно ли, после перестановки элементов с четными индексами и нечетными, сортировать каждую из половин. Я написал и это. Если не нужно, то просто опустите эту часть.
Приложение:
Ответ отправил: Micren (статус: 8-й класс)
Ответ отправлен: 07.01.2009, 05:14
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 240478 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5
Отвечает: realbustard
Здравствуйте, Савченко Ольга Сергеевна! Будут вопросы по коду, пишите в личку. Компилировано в MS Visual Studio 2005.
Код:
//Определяет потоковый ввод/вывод #include <iostream> //Позволяют использовать ф-ю rand() #include <time.h> #include <stdlib.h> using
namespace std;
void SortFunc(int*,int); //Ф-я перестановки элементов
int main() { srand(time(NULL)); //Для генерации случайных чисел setlocale(LC_CTYPE, "Russian"); //Поддержка кириллических символов
int size; cout << " Введите размер массива: " ; //Приглашение на ввод размерности массива cin >> size; cout << endl;
int* arr = new int[size]; //Выделение
памяти для массива
for (int i = 0 ; i < size ; i++){ arr[i]=rand()%20-5; //Заполнение массива cout<<arr[i]<<" "; //Вывод массива }
SortFunc( arr, size ); //Ф-я перестановки элементов
delete [] arr; return 0; }
void SortFunc(int* arr,int size) {
int* arr1=new int[size]; //Массив для сортированых элементов
int* pFirst=arr; //указатель на начало исходного массива int* pFirst1=arr1; //указатель
на начало отсортированого массива
//Если к==0 копируются положительные элементы //если к==1 отрицательные for(int k=0;k<2;k++){ //вначале каждого цикла указатель указывает на //первый элемент оригинального массива pFirst=&arr[0]; for(int i=0;i<size;i++,pFirst++){ //копирование положительных элементов if(!k){ if(!(i%2)){ *pFirst1=*pFirst; pFirst1++; } } //копиро
вание отрицательных элементов if(k){ if(i%2){ *pFirst1=*pFirst; pFirst1++; } } } }
--------- Учись так, как-будто собираешься жить вечно; живи так, как-будто завтра умрешь (Отто фон Бисмарк)
Ответ отправил: realbustard (статус: Студент)
Ответ отправлен: 07.01.2009, 09:43
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 240480 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 156.872
Вычислить средний балл студентов группы, если известны оценки каждого студента по программированию, периферийным устройствам и базам данных. Распечатать список студентов имеющих средний балл выше среднего.
Отправлен: 07.01.2009, 09:14
Вопрос задал: Ryabichko (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Micren
Здравствуйте, Ryabichko!
Программа в приложении. Удачи!
Редактирование. Исправлено по просьбе автора ответа.
--------
∙ Отредактировал: Зенченко Константин Николаевич, Профессор
∙ Дата редактирования: 08.01.2009, 22:46 (время московское)
Приложение:
Ответ отправил: Micren (статус: 8-й класс)
Ответ отправлен: 07.01.2009, 13:19
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 240489 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.