Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
DeeK
0 / 0 / 0
Регистрация: 26.06.2011
Сообщений: 4
#1

Циклы - срочно - C++

26.06.2011, 20:39. Просмотров 878. Ответов 13
Метки нет (Все метки)

Пишу в Borland C++. Ежемесячная стипендия студента составляет А р., а расходы на проживание превышают стипендию и составляют В р. в месяц. Рост цен ежемесячно увеличивает расходы на 3%. Составьте программу расчета необходимой суммы денег, которую единовременно надо попросить у родителей, чтобы можно было прожить учебный год (10 месяцев), используя только эти деньги и стипендию.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2011, 20:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Циклы - срочно (C++):

Заменить в коде циклы for на циклы while - C++
int i, j, n; bool a; cin >> i >> n; for (i; i<n; i++) { a = true; for (j = 2; j <= i / 2; j++) if ((i%j) == 0) a =...

СРОЧНО - C++
Надо написать программу на C++

Срочно бы) - C++
Работа с рядами(массива букв) Задание №1 1.Напечатать начальный ряд. 2.Напечатать букву , которая должно быть удалена из ряда(буква...

Циклы - C++
Здравствуйте!Помогите с задачами За ранее огромное спасибо! 1) #include <math.h> #include <iostream.h> int main() { ...

циклы - C++
вот файлик с примером на ряды решается с помощью цикла вводите число n допустим 5 и программа должна вывести пятый член этого ряда ...

Циклы - C++
В последовательности целых положительных чисел определить максимальное четное число и его порядковый номер. За раннее спасибо)

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nameless
Эксперт C++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
26.06.2011, 21:24 #2
DeeK,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <cmath>
 
const int PERCENT = 3;
const int NUM_MONTHS = 10;
 
int main()
{
    float grant, costs, sum_costs;
 
    std::cout << "Input grant and costs" << std::endl;
    std::cin >> grant >> costs;
 
    sum_costs = costs;
 
    if (grant < costs)
    {
        for (int i = 1; i < NUM_MONTHS; i++)
        {
            costs = costs + costs / 100 * PERCENT;
            sum_costs += costs;
        }
 
        std::cout << "Costs: " << sum_costs << std::endl;
        std::cout << "Grant: " << grant << std::endl;
        std::cout << "More money: " << abs(sum_costs - 10 * grant) << std::endl;
        std::cin.get();
    }
 
    std::cin.get();
    return 0;
}
KIrill 2011
0 / 0 / 0
Регистрация: 15.06.2011
Сообщений: 4
26.06.2011, 21:43 #3
что означает 31 строка?
nameless
Эксперт C++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
26.06.2011, 21:45 #4
KIrill 2011, более чем подробно написано http://www.cplusplus.com/reference/i...m/istream/get/ ..
DeeK
0 / 0 / 0
Регистрация: 26.06.2011
Сообщений: 4
26.06.2011, 21:47  [ТС] #5
вот и я ничего не пойму (чайник, чего с меня взять). я вот как пишу -- <к примеру строки>

дана строка.вывести на экран количество букв К в последнем слове.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<conio.h>
#include<stdio.h>
#include<string.h>
main()
{
char str[255];
int i,j,k=0;
 
printf("Vvedite stroku: ");
gets(str);
for(i=0;i<strlen(str);i++)
 if (str[i]==' ') j=i;
for(i=j+1;i<strlen(str);i++)
if (str[i]=='k') k++;
printf("'k' v poslednem slove %i\n",k);
 
}
nameless
Эксперт C++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
26.06.2011, 21:53 #6
DeeK,

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
#include <conio.h>
#include <string>
 
#define MAX_SIZE 32
 
int main()
{
    char str[MAX_SIZE];
    int number = 0;
 
    printf("Input string: ");
    gets(str);
 
    int length = strlen(str);
 
    for (int i = 0; i < length; ++i)
        if (*(str + i) == 'k')
            number++;
 
    printf("Number: %d", number);
 
    _getch();
    return 0;
}
Упс, не прочел, что в последнем слове считаем..
OcbMuHor
Заблокирован
26.06.2011, 21:53 #7
Цитата Сообщение от KIrill 2011 Посмотреть сообщение
что означает 31 строка?
цель в коде - не завершать cmd.exe функция ввода символа(ов).

попробовал рекурсией, в чем ошибка?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
float Inflyaziya (float x, float y, float tmp, unsigned short i){
    if (10>i){
        ++i;
        x = x + x/100*3;
        tmp = tmp + x - y;
    }
    Inflyaziya (x, y, tmp, i);
}
 
int main ()
{
    unsigned short shetchik =0;
    float stypendia, rashod, pomosh_predkov=0;
    std::cout << "stypendia = " <<std::endl;
    std::cin >> stypendia;
    std::cout << "rashod = " <<std::endl;
    std::cin >> rashod;
    std::cout << "\nPomosh predkov = ";
    std::cout << Inflyaziya (rashod, stypendia, pomosh_predkov, shetchik);
    return 0;
}
nameless
Эксперт C++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
26.06.2011, 22:01 #8
OcbMuHor, у тебя рекурсивная функция не возвращает никакого значения..
DeeK
0 / 0 / 0
Регистрация: 26.06.2011
Сообщений: 4
26.06.2011, 22:03  [ТС] #9
Цитата Сообщение от nameless Посмотреть сообщение
DeeK,

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
#include <conio.h>
#include <string>
 
#define MAX_SIZE 32
 
int main()
{
    char str[MAX_SIZE];
    int number = 0;
 
    printf("Input string: ");
    gets(str);
 
    int length = strlen(str);
 
    for (int i = 0; i < length; ++i)
        if (*(str + i) == 'k')
            number++;
 
    printf("Number: %d", number);
 
    _getch();
    return 0;
}
Упс, не прочел, что в последнем слове считаем..



мне верхнюю прогу надо написать в таком же "стиле".
OcbMuHor
Заблокирован
26.06.2011, 22:04 #10
Цитата Сообщение от nameless Посмотреть сообщение
OcbMuHor, у тебя рекурсивная функция не возвращает никакого значения..
да, заметил уже. но меня испугала совем другая ошибочка
"рекурсия на всех путях выполнения, функция вызовет переполнение стека" это чревато, хотя скомпилировался, запускать пока боюсь))

мне верхнюю прогу надо написать в таком же "стиле".
Вы вообще в стиле Си пишете, и файлы заголовочные тоже "Сишные", а вроде как надо С++. с этого Ваш первый пост начинается.
nameless
Эксперт C++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
26.06.2011, 22:15 #11
DeeK,

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#include <math.h>
#include <conio.h>
 
#define PERCENT 3
#define NUM_MONTHS 10
 
int main()
{
        float grant, costs, sum_costs;
 
        printf("Input grant and costs\n");
        scanf("%f%f", &grant, &costs);
 
        sum_costs = costs;
 
        if (grant < costs)
        {
                for (int i = 1; i < NUM_MONTHS; i++)
                {
                        costs = costs + costs / 100 * PERCENT;
                        sum_costs += costs;
                }
 
                printf("Costs: %f\n", sum_costs);
                printf("Grant: %f\n", grant);
                printf("More money: %f\n", abs(sum_costs - 10 * grant));
        }
 
        _getch();
        return 0;
}
OcbMuHor
Заблокирован
26.06.2011, 22:31 #12
гут у меня всё, вот если интересно товарищу пример рекурсивной функции
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
 
/*float Inflyaziya (float x, float y, float tmp, unsigned short i){
    while (10>i){
        x = x + x/100*3;
        tmp = tmp + x - y;
        Inflyaziya (x, y, tmp, ++i);
    }
    return tmp;
}*/
 
int main ()
{
    unsigned short shetchik =0;
    float stypendia, rashod, pomosh_predkov=0;
    std::cout << "stypendia = " <<std::endl;
    std::cin >> stypendia;
    std::cout << "rashod = " <<std::endl;
    std::cin >> rashod;
    std::cout << "\nPomosh predkov = ";
    //std::cout << Inflyaziya (rashod, stypendia, pomosh_predkov, shetchik);
    for (shetchik; shetchik <10; shetchik++){
        rashod =rashod +rashod/100*3;
        pomosh_predkov = pomosh_predkov+ rashod - stypendia;
    }
    std::cout <<pomosh_predkov;
    return 0;
}
DeeK
0 / 0 / 0
Регистрация: 26.06.2011
Сообщений: 4
26.06.2011, 22:40  [ТС] #13
Спасиб огромное. до меня доходит как до валенка. Помогите пожалуйста еще с одной задачей.

Написать программу, которая вводит с клавиатуры двумерный массив по строкам и вычисляет среднее арифметическое его элементов
OcbMuHor
Заблокирован
26.06.2011, 23:27 #14
на смотри и делай как тебе надо
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
 
int main()
{
    /*int m, n;
    double **matrix = new double *[m];
    for (int i = 0; i<m; i++){ matrix[i] = new double [n]; }
    //Где m,n - размеренность двумерного массива.
    //Для освобождения памяти:
    for (int i = 0; i<m; i++){ delete[] matrix[i]; }
    delete[] matrix;*/
    
    //или статикой
    int g=0;
    const int i = 3;
    const int j=3;
    int matrix1 [j][i]={0};
    for (int k=0; k<j; k++){
        for (int h=0; h<i; h++){
            matrix1 [k][h]=++g;
        }
    }
    for (int k=0; k<j; k++){
        for (int h=0; h<i; h++){
            std::cout << matrix1 [k][h] <<", ";
        }
        std::cout <<"\n";
    }
    return 0;
}
Также поставь g++ вместо ++g и посмотри что выйдет в обоих вариантах.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2011, 23:27
Привет! Вот еще темы с ответами:

Циклы - C++
Прошу помочь с решением задачек, заранее благодарен ;) 1. Дана последовательность из n целых чисел. Найти сумму минимального и...

Циклы - C++
Помогите составить задачу! &quot;Вывести цифры заданого натурального числа&quot;

Циклы - C++
1.Покупатель должен заплатить в кассу S р.У него имеются 1, 5, ,10, 50, 100, 500, 1000 и 10000р.Сколько купюр разного достоинства отдаст...

Циклы на С - C++
Дано натуральное число n. Получить все совершенные числа меньше n (совершенное число, это число которое равно сумме всех своих делителей,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.06.2011, 23:27
Ответ Создать тему
Опции темы

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