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

  • Автор темы Автор темы European
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
лЮДИ!!!!
Помогите пожайлуста, завтра лабу сдавать а ...не знаю как...
вот задание
Найти
1. сумму отрицательных элементов массива;
2. произведение элементов
за ранее спасибо большое!!!!
 
Уважаемые программисты!
нужна блок схема для задачи, написанной ниже (ну, можно и текст программы...))
1. Прочитать строку из файла
2. Найти в ней самое длинное слово, и если их(слов) несколько подсчитать сколько их
ЗЫ. схема нужна уже вчера...
 
Никак не могу написать код :
Дана функция y(x)=Ax2+Bx+C, где A – количество букв в фамилии студента, B ‑ количество букв в имени студента, C ‑ количество букв в отчестве студента. Для функции y(x) составить программу построения таблицы значений функции при изменении аргумента от L до R с шагом T. В каждой строке выводить значения аргумента и соответствующее ему значение функции. Кроме того, в конце таблицы напечатать отдельной строкой следующее:
Максимальное среди значений функции, квадрат которых не превосходит заданного числа M.
Спасибо за любую помощь :(
 
Народ не получается решить задачу по С++
вот условие :
В текстовом файле содержатся радиусы 12 окружностей.Вычислить длины этих окружностей и площади кругов,ограниченных этими окружностями.Результаты расчёта записать в файле в виде таблицы,содержащей колонки : радиус окружности ,длина окружности ,площадь круга.Позаботьтесь о соотвествующих заголовках для колонок.Файл с исходными данными сформулируйте при помощи текстового редактора.Указание l=2PR,S=Pr^2
 
А что не получается, так вот на коленке, выводите сами в файл.
Код:
#include <stdio.h>

#define DAT_FILE "radius.dat"
#define PI 3.1415
int main (int argc, char ** argv)
{
FILE *stream;

stream = fopen(DAT_FILE, "r");
float radMas[12];
float len[12];
float area[12];
if (!stream)
{
perror("Ошибка при открытии файла");
return (-1);
}
int i = 0;
while (i < 12)
{
fscanf(stream, "%f", &radMas[i]);
area[i] = PI*(radMas[i]*radMas[i]);
len[i] = 2*PI*radMas[i];
++i;
}
fclose(stream);
return (0);
}// main
 
Люди добрые, помогите!!!!!!!!
я в программировании на языке С++ новечек, в решении математических задач и в составлении базы данных, а затем в ее сортировке достигла кое каких успехов.

но вот возникла такакя проблема:
мне нужно написать программу на языке С++ для гравировального станка.
программа усложняется в 3 этапа:
1)появляется вопрос-"задайте координаты начальной точки"
с клавиатуры вводятся значения Х и У.
после ввода данных, игла перемещается в заданную точку.
Если место положение точки не устраивает, то чтоб можно было задать новые координаты.

2) вводя с клавиатуры буквы или цифры, игла вычерчивает их на табличке

3) а в дальнейщем (игла вычерчивает на табличке), и задаваемые картинки.
в нете не нашла ни одного хоть малость приближенного примера.
буду благодарна любой помощи!

зарание огромное сапасибо!!!!!!!!
 
Помогите пожалуйста, срочно надо :(
Дан граф, определить, является ли он связным.
Буду очень благодарна. ^_^
 
Здравствуйте уважаемые программисты, помогите пожалуйста новичку.

Как решить задачу: Определить и вывести на экран трёхзначные натуральные числа, сумма цифр которых равна n(1<=n<=27).

С помощью чего и по какому алгоритму она решаеться. Заранее спасибо.
 
Чёт я прикола не понял:) от 100 до 999 всё попадает:) 9*3 = 27 :) а они все натуральные:)
 
Помогите пожалуста с заданиями плиз.....
1. Написать функцию, которая принимает целое число и возвращает число с перевернутым порядком цифр (Например: 567 - 765) Получить перевернуты числа для N чисел, введенных с клавиатуры. Число N также задается пользователем с клавиатуры.
2. Написать функцию, которая принимает целое число и возвращает истину, если число является простым, в противном случае – ложь. Проверить, являются ли простыми N введенных с клавиатуры целых чисел. Число N также задается пользователем с клавиатуры.
3. Напишите функцию. Которая рисует прямоугольник из звездочек шириной и высотой, заданной пользователем. Ширина и высота задаются в качестве параметров функции.
4. Напишите функцию, которая меняет все числа меньше ноля на максимальное число массива.
 
Привет!!!!
Помогите разобраться с конкатенацией strcat (функция для выполнения операции над строками)
Надо использовать 4 массива указателей н-р char *art[5]={"ser","rty", "dog", "cat", "qu"} и т.д.
Затем создать предложение, выбирая случайным образом слова из массивов. После выбора очередного слова выполняется конкатенация с предыдущим словом в массиве, который должен быть больщим чтобы уместить предложение. Слова должны отделяться пробелами.
Проблема в том что не получается записать в этот массив слова с пробелом :rolleyes:
 
А в чём проблема?
Код:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define DELIM " & "

int main (int argc, char **argv)
{
const char *word1 = "cat";
const char *word2 = "dog";
int len = 0;
char *pResult = 0;


// Выбрали два слова
// Получаем их длинну
// + strlen(DELIM) длина разделителя
// +1 символ для символа конца строки \0
len = strlen(word1) + strlen(word2) + strlen(DELIM) + 1;
// выделяем память под новую строку
pResult = (char*)malloc(len);
pResult = strcat(pResult, word1);
pResult = strcat(pResult, DELIM);
pResult = strcat(pResult, word2);

printf("Result: %s\n", pResult);

free(pResult);

return (0);
}

Вместо DELIM подставляйте что хотите.
 
Спасибо большое destr за ответ :(
К вечеру до меня дошло как можно сделать
k=rand()%3;
strcat(ss,b[k]);
strcat(ss," ");

А теперь когда увидела ваш ответ сначала по вашему всё сделала, а потом по своему, я еще не узучала функцию malloc (предстоит, попозже немного).
И вот у меня получился небольшой текст

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <ctype.h>
#define DELIM " "

int main(int argc, char *argv[])
{
char *a[5]={"the", "a", "one", "some", "any"};
char *b[5]={"boy", "girl", "dog", "town", "car"};
char *c[5]={"drove", "jumped", "ran", "walked", "skipped"};
char *d[4]={"to", "from", "over", "on"};
char ss[700];
int i=0, j=0, k=0, len=0;
char pRezult[700]={0};
char slov[10]={0};
srand(time(NULL));

for (i=0; i<19; i++)
{
k=rand()%3;
strcpy(slov,a[k]);
slov[0]=toupper(slov[0]);
strcat(pRezult,slov);

strcat(pRezult,DELIM);
k=rand()%3;
strcat(pRezult,b[k]);
strcat(pRezult,DELIM);
k=rand()%3;
strcat(pRezult,c[k]);
strcat(pRezult,DELIM);
k=rand()%3;
strcat(pRezult,d[k]);
strcat(pRezult,DELIM);
k=rand()%3;
strcat(pRezult,a[k]);
strcat(pRezult,DELIM);
k=rand()%3;
strcat(pRezult,b[k]);
strcat(pRezult,".");
strcat(pRezult,DELIM);

}
printf ("%s\n", pRezult);

system("PAUSE");
return 0;
}
Спасибо вам большое!!!!!!!!!!!!!!!!!!

Ответ для Mademuazzelka
3. Напишите функцию. Которая рисует прямоугольник из звездочек шириной и высотой, заданной пользователем. Ширина и высота задаются в качестве параметров функции.

#include <stdio.h>
#include <stdlib.h>

int pryam (int, int, char);

int main()
{
char s;
int side_L, side_R, sid;

printf ("Enter number ");
scanf ("%d", &side_L);
printf ("Enter number ");
scanf ("%d", &side_R);

s='*';

pryam(side_L, side_R, s);

system("PAUSE");
return 0;
}

int pryam (int x_1, int x_2, char y)
{
int a=0, b=0;
for (a=x_1; a>=1; a--)
{
for (b=x_2;b>=1;b--)
{
printf ("%c ", y);
}
printf ("\n");

}
}
 
Помогите решить контрольную

требуется разработать
объектно-ориентированную программу для работы с графическимми
обьектами.Программа должна выполнять создание (изображение на
экране)графических объектов согласно индивидуальному заданию,
перемещение по экрану(изменение координат). Управление работой
программы и перемещение объектов должно выполняться с помощью мыши.
Один из объектов должен быть базовым (по выбору).
Остальные объекты должны быть получены путем наследования из базового
или других объектов .В программе должны использоваться виртуальные
функции (не менее одной). При работе с графическими объектами
обязательно использовать возможности полиморфиэма.
Среда разработки - Borland C++ Builder
(vitali_m@tut.by)
 
Вот само задание:
Написать программу, которая после введённого с клавиатуры числа (в диапазоне от 1 до 99), обозначающего денежную единицу, дописывает слово "копейка" в правильной форме. Например, 5 копеек, 41 копейка и т.д.

Кто ни будь, может подсказать, как сделать это задание?
В турбо паскале это можно было бы реализовать с помощью оператора case:
Код:
case k of
1,21,31,41,51,61,71,81,91: m:=' бла-бла ';
2..4,22..24,32..34,42..44,52..54,62..64,72..74,82..84,92..94: m:=' бла-бла ';
5..20,25..30,35..40,45..50,55..60,65..70,75..80,85..90,95..99:m:=' бла-бла';
Но в С++ так не получается…
 
а для 5-значных чисел ты бы тоже перечисления такие писал?
 
Подняли настроение на ночь:) Сколько же упорства:)
Попробуйте просклонять это дописываемое слово и выявить закономерность:)
Код:
1 копейка
2 копейки
3 -------
4 -------
5 копеек
6 -------
7 -------
8 -------
9 -------
10 ------
.
.
.
251 копейка

Вам всё ещё не понятно?
P.S. Кстати в С++ так же можно сделать:) как и в паскале, Вы упорный человек:)
Код:
#include <iostream>
#include <stdlib.h>

int
main (int argc, char **argv)
{
if (!argv[1]) return -1;
int i = atoi(argv[1]);

switch (i)
{
case 1 ... 3 :
std::cout<<"1"<<std::endl;
break;

case 4 ... 5 :
std::cout<<"2"<<std::endl;
break;

default:
break;
}
return 0;
}// main
 
Мне нужно написать программу дешифрации на языке TurboC++.
Исходные данные: Зашифрованный текст. Криптографу известно одно слово незашифрованного текста.
Программа должна спросить одно слово незашифрованного текста, потом перебрать все ключи по значению и по длине. Потом по этому ключу расшифровать текст и вывести его.
 
С клавиатуры вводится некоторое число. Суть задачи состоит в перестановке элементов числа таким образом, чтобы сформировать максимальное число. К примеру, из 109 получить 901.
Алгоритм решения мне представляется следующим образом: ввод числа с клавиатуры, потом посредством деления на 10 занесение элементов числа в одномерный массив, сортировка любым удобным методом по убыванию и вывод конечного результата на экран. Программа не должна быть особо мудренной, все-таки я студент первого курса, поэтому многих функций не знаю еще.
Кто может помочь? С радостью приму любые советы или варианты алгоритмов.
У меня вышло что-то такое.
#include <iostream>
#include <conio.h>
using namespace std;
int main ()
{
int const l=50;
int N,lenght,m,k;
int b[l],tmp;
int i,j;
cout << "Input number:\n";
cin >> N;
cout << "Input lenght of number:\n";
cin >> lenght;
for (m=0,k=0;k<lenght;k++)
{
// что вот здесь писать?????
m++;
}
for (i=0;i<m-1;i++)
for (j=1+i;j<m;j++)
if (b<b[j])
{
tmp=b;
b=b[j];
b[j]=tmp;
}
cout << "\n Result:\n";
for (i=0; i<m;i++)
cout << b <<' ';
getch ();
return 0;
}
Вот примерно так, только,что в цикле писать, чтобы остаток от деления числа N на 10 заносился в массив b[m], а в цикл для последующего деления возвращалась целая часть от деления
 
Так не пойдёт? Но без проверок.
Код:
#include <iostream>
#include <algorithm>

int main(int argc, char **argv)
{
std::string number;
std::cout<<"Input number: ";

std::cin>>number;

std::sort(number.begin(), number.end());

int i = number.length();

for (; i >=0; --i)
std::cout<<number[i];

return (0);
}// main
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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