Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.69/35: Рейтинг темы: голосов - 35, средняя оценка - 4.69
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189

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

11.10.2012, 21:08. Показов 8726. Ответов 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
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.10.2012, 21:08
Ответы с готовыми решениями:

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

Циклы с неизвестным числом повторений
Вычислить значение суммы членов бесконечного ряда с заданной точностью E с использованием оператора цикла с предусловием или с предусловием...

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

73
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
11.10.2012, 23:10  [ТС]
Студворк — интернет-сервис помощи студентам
Кликните здесь для просмотра всего текста
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");
    const int n = 20;
    int a[n], s, i;
    s = 0;
    printf("Введите массив элементов a[20]: ");
    for(i=0; i<=n-1;i++)
    {
        scanf("%d", &a[i]);
        if (a[i] % 2 == 0) s = s + a[n]; else s = s - a[i];
    }
    printf("Знакопеременная сумма элементов массива = ", s);
    getch();
}

вот так вроде должно быть правильно, компилируется нормально, но так и не выводит сумму, просто пишет Знакопеременная сумма элементов массива = и все...
0
 Аватар для BumerangSP
4311 / 1423 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
11.10.2012, 23:12
Илья Панов,
C++
1
printf("Знакопеременная сумма элементов массива = %d", s);
%d дописать надо было.

Не по теме:

Кстати, в паскале и так сработает:

Pascal
1
2
3
var a: array [-10..-1] of integer;
...
a[-7]:=3;

2
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
11.10.2012, 23:14
Цитата Сообщение от Илья Панов Посмотреть сообщение
printf("Знакопеременная сумма элементов массива = ", s)
C++
1
printf("Знакопеременная сумма элементов массива =%d ", s);
Добавлено через 1 минуту
Цитата Сообщение от BumerangSP Посмотреть сообщение
Кстати, в паскале и так сработает:
не знал, спасибо
0
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
11.10.2012, 23:14  [ТС]
Цитата Сообщение от BumerangSP Посмотреть сообщение
Илья Панов,
C++
1
printf("Знакопеременная сумма элементов массива = %d", s);
%d дописать надо было.
спс не заметил выводить стало, но выводит то норм, то кучу цифр жуткую...
0
 Аватар для BumerangSP
4311 / 1423 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
11.10.2012, 23:15
Илья Панов, Вот если б внимательней мой код изучили, проблем бы не было.
0
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
11.10.2012, 23:16  [ТС]
Цитата Сообщение от BumerangSP Посмотреть сообщение
Илья Панов, s изначально должен быть 0 равен. Вот если б внимательней мой код изучили, проблем бы не было.
так он и равен, 10 строчка моего кода
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
11.10.2012, 23:17
Цитата Сообщение от Илья Панов Посмотреть сообщение
но выводит то норм, то кучу цифр жуткую...
Цитата Сообщение от Илья Панов Посмотреть сообщение
if (a[i] % 2 == 0)
еще раз
C++
1
if (i % 2 == 0)
0
 Аватар для BumerangSP
4311 / 1423 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
11.10.2012, 23:19
Это я не то написал)
C++
1
if (a[i] % 2 == 0) s = s + a[n]; else s = s - a[i];
Не a[n], а a[i].
1
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
11.10.2012, 23:21  [ТС]
Цитата Сообщение от ValeryS Посмотреть сообщение
еще раз
C++
1
if (i % 2 == 0)
еще раз вам повторяю
задание: Задан массив А(20). Определить знакопеременную сумму а1 – а2 + а3 – а4 + ….
ЗАЧЕМ мне номера сравнивать, когда надо элементы???

Добавлено через 1 минуту
Цитата Сообщение от BumerangSP Посмотреть сообщение
Это я не то написал)
C++
1
if (a[i] % 2 == 0) s = s + a[n]; else s = s - a[i];
Не a[n], а a[i].
+++ спс все теперь ок
0
 Аватар для BumerangSP
4311 / 1423 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
11.10.2012, 23:22
Цитата Сообщение от Илья Панов Посмотреть сообщение
ЗАЧЕМ мне номера сравнивать, когда надо элементы???
Номера Вы сравниваете для четности/нечетности и только, тем самым, исходя из этого, выбирается, отнимать очередной элемент или прибавлять.
0
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
11.10.2012, 23:26  [ТС]
так вот кстати о баранах
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;
    }

п.с. вы на то что в цикле у меня больно то не смотрите, это еще не закончено, я логику реализации не догнал пока...

Добавлено через 2 минуты
Цитата Сообщение от BumerangSP Посмотреть сообщение
Номера Вы сравниваете для четности/нечетности и только, тем самым, исходя из этого, выбирается, отнимать очередной элемент или прибавлять.
если элемент четный - прибавляем, нечетный - отнимаем? это и есть "знакопеременная" сумма? ну если только вы уверены, т.к. я не понимаю значение слова знакопеременная вообще
0
 Аватар для BumerangSP
4311 / 1423 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
11.10.2012, 23:29
Цитата Сообщение от Илья Панов Посмотреть сообщение
если элемент четный - прибавляем, нечетный - отнимаем? это и есть "знакопеременная" сумма?
Да, все так. У нас в массиве ведь индексы идут 0,1,2,3...т.е. четный, нечетный, четный соответственно и т.д. Т.е. здесь два состояния: четное и нечетное. С этим мы и связываем переменность знаков. Вот и получается, что знаки чередуются.
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
11.10.2012, 23:30
Цитата Сообщение от Илья Панов Посмотреть сообщение
я не понимаю значение слова знакопеременная вообще
"Знакочередующаяся" (а именно это имеется ввиду в данном задании) означает, что знаки в сумме чередуются. Не чётность элементов, а чётность их номеров стоит во главе угла.
http://ru.wikipedia.org/wiki/Знакочередующийся_ряд
0
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
12.10.2012, 00:53  [ТС]
ок ок, так что с 3 задачей?

Не по теме:

как много народу собралось мою тему читать, аж прям стремно :D



Добавлено через 14 минут
эээ ну ладно вам, я не то слово подобрал, я же не просил всех сваливать, помогите с 3 задачей плиз

Добавлено через 50 минут
ну и фиг с вами редиски сам решил
Кликните здесь для просмотра всего текста
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");
    double n, p, s;
    s = 0;
    printf("n = ");
    scanf("%d", &n);
    while (s<=n)
    {
        s = s + 1/p;
        p = p + 1;
    }
    printf("S= %d", s);
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.10.2012, 00:53

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

Циклы с известным и не известным числом повторений
Я вот тут на начальном уровне знания паскаля, а такие задачки задали.....:( Напишите программу сложения двух рациональных дробей.Если...

Циклы с неизвестным числом повторений
Вычислить произведение квадратов пяти производных чисел , вводимых с клавиатуры

Циклы с неизвестным числом повторений
Написать программу суммирования рядов при одном и том же значении аргумента и 2-х значениях точности, отличающихся друг от друга более чем...

Циклы с неизвестным числом повторений
сумма членов ряда: \prod = s = 4(1-1/3+...+{(-1)}^{n}*(1/(2n+1))+...) точность E: 10-4


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

Или воспользуйтесь поиском по форуму:
74
Ответ Создать тему
Новые блоги и статьи
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс Ссылка на сгенерированную музыкальную композицию: https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013 Я говорю, что Время- как вода течет. . .
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru