Решение лабораторных, контрольных и т.д. на С++

  • Автор темы Автор темы European
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
Lotti

будь же добра к обычным СМЕРТНЫМ, перестань наконец выкладывать сюда талмуты своего кода, заключай сишный код в
code КОД /code с квадратными скобками... уже ведь говорили об этом много!
 
Здравствуйте, у меня тут вот такая вроде бы простая задачка, но чета не могу понять:
Вычислить произведение всех четных чисел из диапазона [31,56]. Решить задачу через for и do-while.
Проблема собсно в том, что я не могу понять как можно получить эти числа и перемножить их все, а у меня получается лишь узнать что сколько этих четных чисел (что я могу и без программы <_< )

#include <stdio.h>
#include <math.h>
#include <conio.h>
int main()
{int i,a,b,k;
a=31;
b=56;
k=0;
for (i=a;i<=b; i++)
{
if(i%2==0) k++;
}
printf("\n %d \n",k);
k=0;
return 0;
}


Заранее благодарен :rolleyes:
 
rrrFer
Спасибо за помощь вот что вышло :rolleyes:
Код:
#include<stdio.h>
int main()
{
float i,k=1;
for(int i=32; i<57; k*=i, i+=2);
printf("\n %f \n",k);
i=32;
k=1;
do{
k*=i;
i+=2;
}
while (i<57);
printf("\n %f \n",k);
return 0;
}
 
Привет, такая проблема. У меня есть 2 функции:
Код:
adding(application *app) 
{ 
read(app); 
... 
} 

del(application *app) 
{ 
read(app); 
... 
}

Так вот. Когда запускаю функцию adding(application *app) в ней функция read() проходит без ошибок. А когда запускаешь функцию del(application *app) в функции read() на строке
Код:
... 
base=(struct telecast *)realloc(base,number_str*sizeof(struct telecast)); 
...

возникает ошибка: Project raised exception class EAccessViotation with message 'Access Violation'. В чем может быть проблема???
 
возникает ошибка: Project raised exception class EAccessViotation with message 'Access Violation'. В чем может быть проблема???

Нарушение защиты памяти... или указатель base невалидный (данные уже удалены) или number_str неправильное значение имеет, или еще что...
 
Доброе время суток! Нужна помощь в решении хитрой задачки.
Определить в тексте количество слов,содержащих хотя бы одну букву "b"

Если написать:
for(;(z=cin.get())!='.':o
if(z=='b')i++;
То считается кол-во букв "b", а не слов.
Что я делаю не так?
Заранее спасибо.
 
kataklysm

вот вариант

<!--shcode--><pre><code class='highlight'>

#include <iostream>
#include <string.h>

using namespace std;

int main()
{
char data[]="ass bue bue, sleep please boobs ppool bbb aaa bbb";
int len=strlen(data);
int num_words=0,nw=0;
while (len)
{
if (data[len]=='b') nw++;
if (data[len]==' ' && nw>0)
{
num_words++;nw=0;
}
len--;
}
cout << "word num:" << num_words;
}[/CODE]
 
Ребята, помогите с программкой:

Определить количество слов (по строкам и в целом по тексту), у которых первый и последний символы совпадают между собой; заменить их сочетание м символов "ЕЕ" (Алфавит латинский). Определить местоположение этих символов (номер строки и номер символа в строке).
В результате представить на экране результаты анализа, исходный и преобразованный текст.
 
Здравствуйте, я вот решаю задачу, и у меня возникли некоторые проблемы.
Условие:
Разработать программу для решения задач с использованием функций. Передачу параметров функции осуществить: по значению, через указатель, по ссылке. Возврат результата осуществить: по значению, через указатель, по ссылке (3 варианта решения задачи).
По вещественным числам ε>0 и t вычислить с точностью ε величину:

Для вычисления корней использовать следующий ряд Тейлора:

Вычисление корней оформить в виде функции…
Код:
#include<iostream.h>
#include<conio.h>
#include<math.h>
float fun(float b, float n);
int main()
{
clrscr();
float t, x;
cout<<"Введите t:"<<endl;
cin>>t;
x=fun(1-(cos(t),4)/4,1/4)+fun(1+(atan(t),1)/2,1/5)*fun(1/(3+t*t),1/9);
cout<<x<<endl;
getch();
return 0;
}
Не пойму как оформить вычисление корней в виде функции?? Помогите.
Всем заранее благодарен.
 
Спасибо большое, ну с заданием вроде разобрался, но как это всё оформить на C++? :huh:
Помогите если не сложно...
 
Здравствуйте, уважаемые программисты! У меня сессия на носу. 10 числа нужно нести программу в универ. Буду очень признателен если кто-нибудь откликнется. Суть задачи такова:
Дан файл, содержащий информацию о результатах спортивных соревнований. Структура записи файла:
- номер участника,
- фамилия,
- город (команда),
- количество очков по каждому из двух видов состязаний.
Написать программу, выдающую
- фамилии призеров по сумме результатов,
- результаты заданного спортсмена.
Нужно написать консольное приложение на С. Я начал делать свой проект в среде Microsoft Visual Studio 2008.
У меня есть наработки по этой программе. Написал главную программу,написал функцию которая выдает результаты заданного спортсмена, но не могу нормально организовать поиск строки в подстроке. Необходимо написать функцию, которая выводит фамилии призеров по сумме результатов и объяснить мне как это работает, чтобы я мог защитить программу перед преподом, а также довести до ума первую функцию. Работа для знающего программера несложная и много времени не займет. Предлагаю за эту работу 500 рублей. Оплату гарантирую на электронный кошелек. Больше мне надеяться не на кого. Пишите мне на azat007@mail.ru. Заранее спасибо!
 
rrrFer
Ну как же?=) Пользователь вводит с клавиатуры фамилию спортсмена. А я должен просмотреть строки моего файла и найти вхождение данной фамилии в строку и вывести результаты этого спортсмена. Я думаю что это поиск подстроки в строке. Разве нет? Должно реализовываться с помощью функции strstr вроде. Я применил ее как смог, но там белеберда у меня выводится на экран, а не результаты спортсмена=)
 
Составить блок-схему алгоритма и программу ввода и обработки текста из нескольких предложений согласно заданию. При этом считать, что число предложений и число строк могут не совпадать, каждое слово находится целиком в одной строке, ввод строки завершается нажатием клавиши ENTER, точка – конец предложения. Найти слово, которое встречается в каждом предложении. Если таких слов нет, то вывести соответствующее сообщение
 
Помогите найти ошибку.
Программа должна найти количество цепочек в файле заданных по образцу. В образце символ "+" означает один произвольный символ, а "*" произвольную цепочку длиной не более 5 символов. :P
Код:
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include <conio.h>

//Функция читает файл pName в буфер *pBuffer
//Возвращает длину буфера, если ошибка, то вернет 0
//После использования необходимо освободить буфер при помощи free
int ReadFromFile(char ** pBuffer, char * pName)
{
HANDLE	hFile;
DWORD		len, lenhi;

if ((hFile = CreateFile(pName, GENERIC_READ, NULL, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL)) == INVALID_HANDLE_VALUE)
{
printf ("File '%s' not found\n",pName);	//ошибка - файл не найден
return 0;
}
len = GetFileSize(hFile, &lenhi);	//длина файла
*pBuffer = (char*)malloc(len);		//запросим память в куче

//Читаем файл в буфер
if (ReadFile(hFile, *pBuffer, len, &lenhi, NULL) && len==lenhi)
{
CloseHandle(hFile);					//Все ок - закроем файл
return len;								//И вернем длину файла/буфера
}
else
{
printf ("Read error of file '%s'\n",pName);	//ошибка чтения
CloseHandle(hFile);					//закроем файл
free(pBuffer);							//освободим буфер
return 0;								//признак ошибки
}
}

//Функция считает количество совпадений образца с данными из буфера
//Параметры: pFile - указатель на буфер данных из файла
//		  len  - длина буфера данных
//		  pStr - указатель на строку образца
//		  lenStr- длина строки образца
//Возвращает число совпадений
int GetCount(char * pFile, int len, char * pStr, int lenStr)
{
int	i;			//индекс в буфере данных
int	j;			//индекс в буфере
int	k;			//переменная для сохранения позиции в буфере данных
int	m;			//счетчик для анализа по *
int	count;	//количество совпадений

for (count=m=i=0; i<len;)	//начало поиска очередного совпадения
{
//здесь крутимся, пока не пройдем строку образца (т.е. найдем очередное совпадение)
//либо дойдем до конца
for (j=0; j<lenStr && i<len; j++,i++)
{
if (j==0)	//в начале анализа запомним позицию,
k=i;		// чтобы иметь возможность корректного продолжения анализа

switch (pStr[j])	//анализируем символы образца
{
case '+':		//просто идем дальше
break;		// устраивает любой символ
case '*':
if (j != (lenStr-1))	//если * - последний символ в строке образца, то * как +
{
m+=5;		//иначе разрешаем еще любые из 0-5 символов
i--;
}
break;
default:			//если символы равны, то идем дальше
if (pStr[j] != pFile[i])	//если не равны
{
if (m>0)	//для * разрешаем m отличных символов
{
j--;	//чтобы сравнивать с тем же символом из образца (+1 добавится в цикле)
m--;	//уменьшим число разрешенных отличных символов
}
else		//для обычного сравнения начинаем сравнения с начала образца
{
j=-1;	//на начало строки образца (+1 добавится в цикле)
i=k;	//восстановим индекс (+1 добавится в цикле)
}
}
}
}
//цикл пройден, но надо исключить возможность, когда вышли из цикла по концу данных,
// хотя полного совпадения не было
if (j>=lenStr)			//если сравнение пройдено полностью
count++;				// то инкременируем счетчик совпадений
}

return count;
}

int main(int argc, char* argv[]) 
{
char				str[256];		//буфер для ввода образца
char				*pStr;			//указатель строку образца
char				*pFile;			//указатель на буфер для данных из файла
int				len;				//длина файла

len = ReadFromFile(&pFile, "input.txt");	//прочитаем файл

if (len)								//продолжаем работу только если все ок
{
str[0] = (char)254;			//максимальный размер буфера для ввода строки образца
while (1)						//бесконечный цикл анализа
{
printf ("Enter pattern: ");	//прилашение к вводу образца
pStr = _cgets(str);		//вводим образец
if (0==str[1])				//если длина строки = 0
break;					// то выходим из цикла и завершаем работу

//считаем и выводим
printf("Count = %d\n", GetCount(pFile, len, pStr, str[1]));
}
free(pFile);					//освобождаем буфер
}
return 0;
}
 
Прошу помочь с написанием программы на С++ Я первак и мало понимаю в программировании, поэтому просьба разъяснить мне как для тупых =)
Вот и сама задачка:

1 3 4 7 11 18 29... найти и вывести на экран любые простые числа <100.000 в этом ряду.
 
Goroshec

объясните конкретнее что вы хотите, данные на входе? - ряд цифр или что
данные на выходе, что на экране должно быть в каком виде,

конкретнее вопрос задавайте, а то вам не помогут
 
Помогите, пожалуйста, решить задачку.
Вот задачка:
Составбте программу для вычисления средних значений положительных элементов каждой строки матриц А(5,8), В(4,8), С(7,8) и записать полученные значения в 9-й столбец этих матриц. Решить нужно с использованием процедур.
 
Нужна программа, которая выведет все простые числа из этого ряда.
на экране должны быть именно эти простые числа <100.000 из того ряда чисел.
Вроде как-то так =)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!