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

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

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

C++ Циклы
C++ циклы
C++ Циклы
Циклы C++
C++ циклы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 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++
 Аватар для nameless
289 / 288 / 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++
 Аватар для nameless
289 / 288 / 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++
 Аватар для nameless
289 / 288 / 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++
 Аватар для nameless
289 / 288 / 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
Спасиб огромное. до меня доходит как до валенка. Помогите пожалуйста еще с одной задачей.

Написать программу, которая вводит с клавиатуры двумерный массив по строкам и вычисляет среднее арифметическое его элементов
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2011, 23:27     Циклы - срочно
Еще ссылки по теме:

C++ циклы
циклы C++
Циклы while do.while C++

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

Или воспользуйтесь поиском по форуму:
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 и посмотри что выйдет в обоих вариантах.
Yandex
Объявления
26.06.2011, 23:27     Циклы - срочно
Ответ Создать тему
Опции темы

Текущее время: 02:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru