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

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

11.10.2012, 21:08. Показов 7772. Ответов 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
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.10.2012, 21:15
3.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
 
double First(long n)
{
   long i;
   double sum;
   for(sum = i = 1; sum <= n; i++, sum += 1.0/i)
      ;
   return sum;
}
 
int main()
{
   printf("%lf\n", First(10));
   return 0;
}
0
 Аватар для Vidok
38 / 38 / 4
Регистрация: 03.09.2011
Сообщений: 279
11.10.2012, 21:16
Может я не доглядел в 3 задании, но мне кажется что из цикла нужно убрать s=0, потому что вы постоянно сбрасываете суму накопленную переменной s. Вам достаточно что она вне цикла = 0
0
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
11.10.2012, 21:24  [ТС]
Цитата Сообщение от Thinker Посмотреть сообщение
3.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
 
double First(long n)
{
   long i;
   double sum;
   for(sum = i = 1; sum <= n; i++, sum += 1.0/i)
      ;
   return sum;
}
 
int main()
{
   printf("%lf\n", First(10));
   return 0;
}
а теперь пояснения что стоит перед int main()? и вообще что за код? ничего не понял, сделай с комментами построчно пжл
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
11.10.2012, 21:25
Цитата Сообщение от Илья Панов Посмотреть сообщение
if r>abs(a-c) then {r = abs(a-c); l1 = a; l2 = c};
Это паскаль или С?
0
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
11.10.2012, 21:27  [ТС]
Цитата Сообщение от Vidok Посмотреть сообщение
Может я не доглядел в 3 задании, но мне кажется что из цикла нужно убрать s=0, потому что вы постоянно сбрасываете суму накопленную переменной s. Вам достаточно что она вне цикла = 0
не доглядел, она должна сбрасываться, т.к. я не считаю всю сумму, мне надо лишь сумму в цикле сравнить с n

Добавлено через 1 минуту
1 и 2 тоже посмотрите пжл там хоть и закончено выглядит, но при компиляции почему то выдает кучу ошибок
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.10.2012, 21:28
Цитата Сообщение от ValeryS Посмотреть сообщение
Это паскаль или С?

Не по теме:

это новый язык программирования:jokingly:

0
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
11.10.2012, 21:29  [ТС]
кстати правильно я понял во 2 слово знакопеременная сумма? честно говоря вообще не понял , но нашел точно такое же задание в нете, только на паскале
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
11.10.2012, 21:29
Цитата Сообщение от Илья Панов Посмотреть сообщение
там хоть и закончено выглядит, но при компиляции почему то выдает кучу ошибок
еще б не выдавала
Цитата Сообщение от ValeryS Посмотреть сообщение
Сообщение от Илья Панов
if r>abs(a-c) then {r = abs(a-c); l1 = a; l2 = c};
Это паскаль или С?
чеж ты на смеси языков то пишешь
0
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
11.10.2012, 21:30  [ТС]
Цитата Сообщение от ValeryS Посмотреть сообщение
еще б не выдавала

чеж ты на смеси языков то пишешь
в смысле? это С++
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.10.2012, 21:32
Цитата Сообщение от Илья Панов Посмотреть сообщение
это С++

Не по теме:

вот умора:swoon: ну насмешили:jokingly:

0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
11.10.2012, 21:32
Цитата Сообщение от Илья Панов Посмотреть сообщение
кстати правильно я понял во 2 слово знакопеременная сумма? честно говоря вообще не понял
че сложного то
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;
   }
0
2 / 2 / 1
Регистрация: 22.09.2012
Сообщений: 189
11.10.2012, 21:34  [ТС]
Цитата Сообщение от Thinker Посмотреть сообщение

Не по теме:

вот умора:swoon:

обидел так что же в нем не сишного?
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.10.2012, 21:34
можно не умножать, так как имеется операция отрицания:
zn = -zn;
0
 Аватар для Vidok
38 / 38 / 4
Регистрация: 03.09.2011
Сообщений: 279
11.10.2012, 21:34
В С++ нет if ... then ...
0
 Аватар для BumerangSP
4311 / 1423 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
11.10.2012, 21:35
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 / 1
Регистрация: 22.09.2012
Сообщений: 189
11.10.2012, 21:35  [ТС]
Цитата Сообщение от 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
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,852
11.10.2012, 21:37
Цитата Сообщение от Илья Панов Посмотреть сообщение
в смысле? это С++
Серъезно тогда что там делает then ?

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

Добавлено через 2 минуты
так привык к делфи, что для меня просто нонсенс писать if без then
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.10.2012, 21:40
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru