Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.83
Илья Панов
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 189
#1

Операторы условия, циклы с известным и неизвестным числом повторений - C++

11.10.2012, 21:08. Просмотров 3155. Ответов 73
Метки нет (Все метки)

чтобы не париться с 3 темами закину 3 лабы в 1
порядок: задание - мой вариант(исправить ошибки)

1. С клавиатуры вводятся 4 целых числа a, b, c, d. Найти среди них пару чисел с минимальной по модулю разностью. Операторы цикла в программе не использовать.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <conio.h>
#include <locale>
 
void main()
{
    setlocale(LC_ALL, "RUSSIAN");
    int a,b,c,d,r,l1,l2;
    printf("a= , b= , c= , d= ");
    scanf("%d %d %d %d", &a, &b, &c, &d);
    r = abs(a-b);
    if r>abs(a-c) then {r = abs(a-c); l1 = a; l2 = c};
    if r>abs(a-d) then {r = abs(a-d); l1 = a; l2 = d};
    if r>abs(b-c) then {r = abs(b-c); l1 = b; l2 = c);  
    if r>abs(b-d) then {r = abs(b-d); l1 = b; l2 = d};
    if r>abs(c-d) then {r = abs(c-d); l1 = c; l2 = d};
    printf("Пара чисел с минимальной по модулю разностью: ", l1, l2);
    getch();
}


2. Задан массив А(20). Определить знакопеременную сумму а1 – а2 + а3 – а4 + ….
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
#include <locale>
 
void main()
{
    setlocale(LC_ALL, "RUSSIAN");
    int a[20], s, i;
    s = 0;
    printf("Введите массив элементов a[20]: ");
    for i= 1 to 20 do
    {
        scanf("%d", &a[i]);
        if a[i] mod 2 = 0 then s = s + a[i] else s = s - a[i];
    }
    printf("Знакопеременная сумма элементов массива = ", s);
    getch();
}


3. Среди чисел 1, 1+1/2, 1+1/2+1/3,…найти первое, большее числа n.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
#include <locale>
 
void main()
{
    setlocale(LC_ALL, "RUSSIAN");
    double n, p, s;
    p = 0;
    s = 0;
    printf("n = ");
    scanf("%n", &n);
    while s<n
    {
        p = p + 1;
        s = 0;
        s = s + 1/p;
    }

в 3 незакончено, т.к. вообще не понимаю как реализовать чтобы прибавлялось еще 1+1/2 + 1/3... (ладно бы еще 1+1/2, 1+1/3 так нет же )

п.с. да, еще, попрошу не добавлять от себя всякие iostream, cin... наш препод говорит что все это ересь и нефиг так делать !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2012, 21:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Операторы условия, циклы с известным и неизвестным числом повторений (C++):

Циклы с неизвестным числом повторений - C++
Помогите с задачкой пожалуйста y=1+(1+x)+\frac{(1+x{)}^{2}}{2!}+\frac{(1+x{)}^{3}}{3!}+...

Циклы с известным числом повторений - C++
Требуется написать одну программку. Условие: Даны ДЕЙСТВИТЕЛЬНОЕ число a, НАТУРАЛЬНОЕ n. Вычислить: a(a-n)(a-2n)...(a-n²). Заранее...

Циклы с известным числом повторений: найти сумму ряда - C++
задача на С++ циклы с известным числом повторений Написать код для задачи: Дано натуральное число n, действительное x. Вычислить: ...

Программирование циклов с неизвестным заранее числом повторений - C++
Лабораторная работа №3 Программирование циклов с неизвестным заранее числом повторений Цель работы: освоение средств языка C++ для...

Программирование циклов с неизвестным заранее числом повторений - C++
вот еще лабораторная, как её делать ума не приложу, и одногруппники тоже сделать не могут. если кто сделает, пожалуйста добавьте алгоритмы,...

Программирование циклов с неизвестным заранее числом повторений - C++
Лабораторная работа №3 Программирование циклов с неизвестным заранее числом повторений Цель работы: освоение средств языка C++ для...

73
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
11.10.2012, 21:35 #16
2)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <conio.h>
#include <locale>
 
int main()
{
    setlocale(LC_ALL, "RUSSIAN");
    int a[20], s=0;
    printf("Введите массив элементов a[20]: ");
    for (int i=1; i<=5; i++)
    {
        scanf("%d", &a[i]);
        if (i%2) 
          s+=a[i]; 
        else 
          s-=a[i];
    }
    printf("Знакопеременная сумма элементов массива = %d", s);
    getch();
}
Ну, или как выше. Не стал ничего исправлять (алгоритм), просто доработал.
0
Илья Панов
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 189
11.10.2012, 21:35  [ТС] #17
Цитата Сообщение от ValeryS Посмотреть сообщение
че сложного то
C++
1
2
3
4
5
6
7
int zn=1;
int s=0;
for(int i=0;i<20;i++)
   {
     s=s+zn*A[i];
     zn*=-1;
   }
кому как... во 1 что за странное условие, во 2 что в строке zn*=-1; ???
0
ValeryS
Модератор
6729 / 5138 / 484
Регистрация: 14.02.2011
Сообщений: 17,240
11.10.2012, 21:37 #18
Цитата Сообщение от Илья Панов Посмотреть сообщение
в смысле? это С++
Серъезно тогда что там делает then ?

Цитата Сообщение от Илья Панов Посмотреть сообщение
if r>abs(a-d)
и почему условия не в скобках?
кстати это не какой не С++ а чистейший С(если запись поправишь)
в плюсах используются
Цитата Сообщение от Илья Панов Посмотреть сообщение
всякие iostream, cin...
Добавлено через 48 секунд
Цитата Сообщение от Thinker Посмотреть сообщение
можно не умножать, так как имеется операция отрицания:
zn = -zn;
можно
не знаю как наглядней
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.10.2012, 21:38 #19
Цитата Сообщение от ValeryS Посмотреть сообщение
можно
не знаю как наглядней
без умножения быстрее, пусть даже и на -1 умножаем с отрицанием всякие интересные штуки можно писать
0
Илья Панов
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 189
11.10.2012, 21:40  [ТС] #20
Цитата Сообщение от Vidok Посмотреть сообщение
В С++ нет if ... then ...
че правда???

Добавлено через 2 минуты
так привык к делфи, что для меня просто нонсенс писать if без then
0
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
11.10.2012, 21:40 #21
Илья Панов, у Вас он что, еще и компилирует написанное? На чем пишете? На делфи?
0
Vidok
37 / 37 / 2
Регистрация: 03.09.2011
Сообщений: 279
11.10.2012, 21:41 #22
Цитата Сообщение от Илья Панов Посмотреть сообщение
че правда???
Да, правда, такой конструкции там нет, точнее она там есть, но выглядит она не так

C++
1
if(//условие){//что делаем}
0
ValeryS
Модератор
6729 / 5138 / 484
Регистрация: 14.02.2011
Сообщений: 17,240
11.10.2012, 21:41 #23
Цитата Сообщение от Илья Панов Посмотреть сообщение
че правда???
не поверишь, правда
вот это есть
C++
1
2
3
if(условие)
{
}
0
Илья Панов
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 189
11.10.2012, 21:43  [ТС] #24
Цитата Сообщение от BumerangSP Посмотреть сообщение
Илья Панов, у Вас он что, еще и компилирует написанное? На чем пишете? На делфи?
если бы компилировало, я бы не спрашивал

Добавлено через 32 секунды
ок, буду знать
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.10.2012, 21:44 #25
Цитата Сообщение от Илья Панов Посмотреть сообщение
че правда???

Не по теме:

пойду язык учить, видать много чего не знаю

0
ValeryS
11.10.2012, 21:51
  #26

Не по теме:

Цитата Сообщение от Thinker Посмотреть сообщение
пойду язык учить, видать много чего не знаю
Я с тобой

0
Илья Панов
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 189
11.10.2012, 21:52  [ТС] #27
вот 1 сделал, скомпилировалось нормально, только выдает после ввода чисел какие то ошибки и выводит в конечном счете что то уж совсем не то...
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <conio.h>
#include <locale>
 
void main()
{
    setlocale(LC_ALL, "RUSSIAN");
    int a,b,c,d,r,l1,l2;
    printf("a= , b= , c= , d= ");
    scanf("%d %d %d %d", &a, &b, &c, &d);
    r = abs(a-b);
    if (r>abs(a-c)) {r = abs(a-c); l1 = a; l2 = c;};
    if (r>abs(a-d)) {r = abs(a-d); l1 = a; l2 = d;};
    if (r>abs(b-c)) {r = abs(b-c); l1 = b; l2 = c;};    
    if (r>abs(b-d)) {r = abs(b-d); l1 = b; l2 = d;};
    if (r>abs(c-d)) {r = abs(c-d); l1 = c; l2 = d;};
    printf("Пара чисел с минимальной по модулю разностью: %d, %d", l1, l2);
    getch();
}


Добавлено через 1 минуту
хватит уже издеваться, я не знал что then не используется, буду иметь ввиду...
0
ValeryS
Модератор
6729 / 5138 / 484
Регистрация: 14.02.2011
Сообщений: 17,240
11.10.2012, 21:55 #28
если a-b будет самая меньшая разность чему будут равны l1,l2?
1
Илья Панов
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 189
11.10.2012, 22:02  [ТС] #29
Цитата Сообщение от ValeryS Посмотреть сообщение
если a-b будет самая меньшая разность чему будут равны l1,l2?
ценное замечание спс все стало ок

Добавлено через 5 минут
будем разбираться по порядку
убрал then, что дальше? ошибок при компиляции все равно тьма
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
#include <locale>
 
void main()
{
    setlocale(LC_ALL, "RUSSIAN");
    int a[20], s, i;
    s = 0;
    printf("Введите массив элементов a[20]: ");
    for i= 1 to 20 do
    {
        scanf("%d", &a[i]);
        if (a[i] mod 2 = 0) (s = s + a[i]) else s = s - a[i];
    }
    printf("Знакопеременная сумма элементов массива = ", s);
    getch();
}
0
Vidok
37 / 37 / 2
Регистрация: 03.09.2011
Сообщений: 279
11.10.2012, 22:04 #30
C++
1
for(i = 0; i<10;i++) {} //пример конструкции
mod это %
0
11.10.2012, 22:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2012, 22:04
Привет! Вот еще темы с ответами:

Написать программу для вычисления цепной дроби (использовать цикл с известным числом повторений) - C++
Здравствуйте!Необходимо написать программу для вычисления цепной дроби(использовать цикл с известным числом повторений), код составила,все...

Циклы с заданным числом повторений - C++
определить,является ли заданное натуральное число совершенным,т.е равным сумме всех (положительных) делителей ,кроме самого этого числа (...

Обратиться к файлу с неизвестным именем, но известным расширением (TXT) - C++
Ломаю голову... По заданному пути, пусть будет C:\\, есть файл *.txt Имя его неизвестно, однако это 100% единственный файл txt в этом...

Ошибка при написании функции с неизвестным числом параметров - C++
Ругается на va_start не могу понять за что) #include&lt;iostream&gt; #include&lt;cstring&gt; using namespace std; char*foo(int n, ...); ...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.