ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

15.03.2007, 00:17
|
|
Постоянный
Регистрация: 07.05.2006
Сообщений: 732
Провел на форуме: 7910701
Репутация:
811
|
|
По С++
1. Объявите переменные, необходимые для вычисления площади прямоугольника.
2. Объявите переменные, необходимые для пересчета веса из фунтов в килограммы.
3. Определите исходные данные и объявите переменные, необходимые для вычисления дохода по вкладу.
4. Объявите переменные, необходимые для вычисления площади круга.
5. Объявите переменные, необходимые для вычисления площади кольца.
6. Объявите переменные, необходимые для вычисления объема и площади поверхности цилиндра.
7. Объявите переменные, необходимые для вычисления стоимости покупки, состоящей из нескольких тетрадей, карандашей и линейки.
8. Объявите переменные, необходимые для вычисления стоимости покупки, состоящей из нескольких тетрадей и такого же количества обложек.
9. Запишите инструкцию, которая присваивает переменной х значение -1,5.
10. Запишите инструкцию, которая присваивает переменной summa нулевое значение.
11. Запишите инструкцию, которая увеличивает на единицу значение переменной п.
12. Запишите инструкцию, которая уменьшает на два значение переменной counter.
13. Запишите инструкцию вычисления среднего арифметического переменных x1 и х2.
14. Запишите в виде инструкции присваивания формулу вычисления значения функции у = -2,7х3+0,23х2-1,4.
15. Запишите инструкцию, которая увеличивает значение переменной х на величину, находящуюся в переменной dx.
16. Запишите в виде инструкции присваивания формулу пересчета веса из фунтов в килограммы (один фунт — это 405,9 грамма).
17. Запишите в виде инструкции присваивания формулу пересчета расстояния из километров в версты (одна верста — это 1066,8 м).
18. Запишите в виде инструкции присваивания формулу вычисления площади прямоугольника.
Решения
Задача 1
float a, b; // ширина и длина прямоугольника float s; // площадь прямоугольника
Задача 2
float funt; // вес в фунтах float kg; /7 вес в килограммах
Задача 3
float summa; // сумма вклада
int srok; // срок вклада (дней)
int stavka; // процентная ставка (годовых)
float dohod; // величина дохода
Задача 5
float rl, ri; // внешний радиус и радиус отверстия float s; // площадь коль ца
Задача 7
float CenaTetr; // цена тетради
int KolTetr; // количество тетрадей
float CenaKar; // цена карандаша
int KolKar; // количество карандашей
float CenaLin; //' цена линейки
float Summa; //' стоимость покупки
Задача 11
72 C/C++ в задачах и примерах
Задача 12
counter -= 2
Задача 14
у:=-2.7*х*х* х + 0.23*х*х - 1.4;
Задача 15
х += dx;
Задача 16
kg - funt*0. 4059;
какие то кривые учебники не все ответы
|
|
|

01.04.2007, 15:34
|
|
Участник форума
Регистрация: 30.08.2006
Сообщений: 181
Провел на форуме: 1058786
Репутация:
45
|
|
Может кто поможет или подскажет как реализовать на С++?
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) номер минимального элемента массива;
2) сумму элементов массива, расположенных между первым и вторым отрицательными элементами.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом — все остальные.
|
|
|

01.04.2007, 17:16
|
|
Moderator - Level 7
Регистрация: 21.03.2007
Сообщений: 1,200
Провел на форуме: 7134052
Репутация:
1204
|
|
вот первую наструячил
Код:
#include <stdio.h>
#include <conio.h>
#define N 6
void main(void)
{
float arr[N];
int i, min;
for (i = 0; i < N; i++)
{
printf("enter %d element: ", i);
scanf("%f", &arr[i]);
}
min = 0;
for (i = 0; i < (N - 1); i++)
if(arr[i+1] < arr[i]) min = i+1;
printf("min number: %d", min);
getch();
return;
}
ща если не лень будет остальные - помогу..
в общем далее некий псевдокод следует.
2) инициализация(так же)
циклом по массиву ищем отрицательные элементы, номера их запоминаем. далее цикл в пределах ранее запомненных номеров, в нем суммируем элементы.
3) тут вопрос, нужно ли сортировать? если нет, то элементарно, если да - почитай про сортировки.
а вообще задачи смешные =\ советую разобраться.
Последний раз редактировалось iv.; 01.04.2007 в 17:25..
|
|
|

01.04.2007, 18:02
|
|
Участник форума
Регистрация: 30.08.2006
Сообщений: 181
Провел на форуме: 1058786
Репутация:
45
|
|
Нет сортировать не нужно, если не влом, напиши как с модулем разобраться. А с сортировкой у меня проблем нет.
Код:
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <iomanip>
#include <conio.h>
using namespace std;
int cmp(const void *a, const void *b) {
return *(int*)a - *(int*)b;
}
int main() {
int n, i;
int a[6]={2,-1,-7,3,5,6};
for(i = 0 ; i < 6; i++)
{
}
qsort(a, 6, sizeof(int), cmp );
for(i = 0 ; i < 6; i++)
{
cout << " " << a[i];
}
getch();
return 0;
}
С меня ++.
|
|
|

01.04.2007, 18:09
|
|
Moderator - Level 7
Регистрация: 21.03.2007
Сообщений: 1,200
Провел на форуме: 7134052
Репутация:
1204
|
|
что именно не понятно?
вообще странный код..
|
|
|

01.04.2007, 18:14
|
|
Познающий
Регистрация: 11.01.2007
Сообщений: 82
Провел на форуме: 592893
Репутация:
108
|
|
Код:
[
#include <stdio.h>
int main()
{
int sum=0, i=0, j=0;
int MyArray[10]={ 12, -3, 23, 12, 6, 2, 34, -12, 3, 9};
int Num[2]={0,0};
for(;i<10;i++)
{
if(MyArray[i]<0)
{
Num[j]=i;
j++;
}
}
for(j=Num[0]+1;j<Num[1];j++)
{
sum+=MyArray[j];
printf("%d\n",MyArray[j]);
}
printf("%d",sum);
return 0;
}
Если правильно понял, то вот второй. Только тут ошибка целые числа...  В третьем можно использовать функцию abs()(модуль числа вроде) в <math.h> и отсортировать потом пузырьковым методом.
Последний раз редактировалось fYt; 01.04.2007 в 18:28..
|
|
|

01.04.2007, 19:02
|
|
Участник форума
Регистрация: 04.11.2006
Сообщений: 150
Провел на форуме: 1174659
Репутация:
175
|
|
Сообщение от MegaBits
Может кто поможет или подскажет как реализовать на С++?
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) номер минимального элемента массива;
Код:
#include <algorithm>
size_t GetIndexOfMinElement(const double* a, size_t n)
{
const double* min_elem = std::min_element(&a[0], &a[n]);
return min_elem - &a[0];
}
2) сумму элементов массива, расположенных между первым и вторым отрицательными элементами.
Код:
#include <algorithm>
#include <functional>
#include <numeric>
double GetSummFromFirstToSecondNeg(const double* a, size_t n)
{
const double* first_neg = std::find_if(&a[0], &a[n],
std::bind2nd(std::less<double>(), 0));
if(first_neg != &a[n]){
const double* second_neg = std::find_if(++first_neg, &a[n],
std::bind2nd(std::less<double>(), 0.0));
return std::accumulate(first_neg, second_neg, 0.0);
}
return 0.0;
}
Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом — все остальные.
Код:
#include <vector>
struct Choser : std::unary_function<double, bool>{
bool operator()(double a){
return a < -1.0 || a > 1.0;
}
};
void SpecialSort(double* a, size_t n)
{
std::vector<double> c;
std::remove_copy_if(&a[0],&a[n],std::back_inserter(c),Choser());
std::copy(&a[0], &a[n - c.size()], std::back_inserter(c));
std::copy(c.begin(),c.end(),&a[0]);
}
|
|
|

01.04.2007, 23:32
|
|
Познающий
Регистрация: 15.10.2006
Сообщений: 34
Провел на форуме: 304771
Репутация:
7
|
|
Сообщение от MegaBits
Может кто поможет или подскажет как реализовать на С++?
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) номер минимального элемента массива;
2) сумму элементов массива, расположенных между первым и вторым отрицательными элементами.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом — все остальные.
#include <stdio.h>
#include <math.h>
#include <alloc.h>
#include <conio.h>
int nomer(int N,int mas[]){ //funkciya naxogdeniya nomera minimalnogo
int min=mas[0],i;
int nomber=0;
for(i=0; i<N;i++)
if(min>mas[i]){min=mas[i]; nomber=i;}//tuta mi i naxodim minimum
return nomber;}
int summa(int N,int mas[]){ //funkciya naxogdeniya summa poebeni ))
int summa=0,i;
for(i=0; i<N;i++){ // tut ona i realizovana
if(mas[i]<0){
i++;
for(;i<N;i++){
// kak ona rabotaet dage ne sprashivai
if(mas[i]<0){break;} //va piwu pod pivom i granic moei fantazii net predelov...
summa+=mas[i];
}}}
return summa;}
void massiv(int N,int mas[]){ //eto funkciya toge 4e to delaet 
int *mas2;
int b=0,i;
mas2=(int*)malloc(N*sizeof(int));
for(i=0; i<N;i++)
if(abs(mas[i])<=1){
mas2[b]=mas[i];
b++;}
for( i=0;i<N;i++)
if(abs(mas[i])>1){
mas2[b]=mas[i];
b++;
}
for(i=0;i<N;i++)
printf("mas[%d]=%d\t",i,mas2[i]);
}
void main(){
int N=0;
int *mas,i;
printf("vvedite kol-vo elementov v massive\n");
scanf("%d",&N);
mas=(int*)malloc(N*sizeof(int));
printf("vvedite elementi massiva\n");
for(i=0;i<N;i++)
scanf("%d",&mas[i]);
printf("Nomer minimalnogj=%d\n",nomer(N,mas));
printf("summa poebeni=%d\n", summa(N,mas));
massiv(N,mas);
getch();
}
Последний раз редактировалось K1T; 02.04.2007 в 14:08..
|
|
|

02.04.2007, 00:07
|
|
Участник форума
Регистрация: 30.08.2006
Сообщений: 181
Провел на форуме: 1058786
Репутация:
45
|
|
Все всем спасибо!!!
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|