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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Serjant0007
2 / 2 / 0
Регистрация: 21.06.2010
Сообщений: 247
#1

не выполнимое задание - C++

23.09.2011, 22:03. Просмотров 1306. Ответов 21
Метки нет (Все метки)

Задайте две таблицы. Одна содержит наименование услуг, а другая – расценки за эти услуги. Удалите из обеих таблиц все строки, которые предшествуют услуге, цена которой Р рублей.

Даже не знаю как должно выглядеть)))
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2011, 22:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос не выполнимое задание (C++):

Задание на массив и задание на матрицу. - C++
1.Удалить из массива A(n) нулевые элементы, передвигая на их место следующие элементы, не нарушая порядка их следования. В результате...

Задание исходного значения параметра эксперимента (задание интенсивности прибытия заявок) - AnyLogic
Доброго времени! Вопрос в следующем: можно ли сделать так, чтобы в блоке source число генерируемых заявок задавалось не напрямую в...

Проверьте верно ли сделано задание (задание для ослабленных детей) - Механика
Схема дана на фото, нужно найти скорости точек А и В изображенных на схеме, проверьте мое решение пожалуйста !!!

Переписать коды командных файлов, выполняющих одно задание, так, чтобы они выполняли другое задание - CMD/BAT
задание №1 нужно каким-то образом переделать в задание №2 Задание №1: Написать командный файл, выполняющий следующие действия...

Разделить пакетное задание на пакет и задание. - CMD/BAT
Допустим, есть некая консольная программа, для примера translate.exe. Нужно выполнить несколько команд, например таких: translate...

Задание по т.о.и. № 1 - Информатика
Помогите решить задание по теоретическим основам информатики или хотя бы где прочитать чтобы решить самому. Задание: Выполнить операцию...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
SDmaN
54 / 51 / 2
Регистрация: 22.07.2011
Сообщений: 436
23.09.2011, 23:14 #2
как я понял выглядит это вот так:

Услуга: Цена:
услуга1 1р
услуга2 2р
услуга3 3р

и тд

если P = 2 то удалим услугу 1. если P = 3, то удалим услугу1 и услугу2.

Добавлено через 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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
int P;
char* Services[3] = {"Service1", "Service2", "Service3"};
int Price[3] = {1, 2, 3};
 
for(;;)
{
cout << "Enter P: ";
cin >> P;
 
for(int i = P; i < 3; i++)
{
cout << Services[i] << "      ";
cout << Price[i] << " roubles" << endl;
}
}
    system("PAUSE");
    return EXIT_SUCCESS;
}
2
alkagolik
Заблокирован
24.09.2011, 02:55 #3
SDmaN, немного не то, однако ...
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include<iostream>
#include<cstdlib>
 
const int size = 10;
 
bool min_max(int min, int max);
 
struct table_cash{
    char *name;
    int price;
};
 
int main(){
    table_cash array[size], *sort_array;
    char *name = "blalbabla        ";
    int price, count = 0;
 
    //creating table
    for (int i = 0; i != size; ++i){
        array[i].name = name;
        array[i].price = rand() % size + 1;
    }
 
    //print sourse table
    for (int i = 0; i != size; ++i)
        std::cout << array[i].name << array[i].price << "\n";
 
    //sorting array
    for (int i = 0; i != size - 1; ++i)
        for (int k = 0; k != size - 1; ++k)
            if(min_max(array[k].price, array[k + 1].price)){
                table_cash tmp = array[k];
                array[k] = array[k + 1];
                array[k + 1] = tmp;
            }
 
    std::cout << "какие элементы удалить? введите минимальную цену \n";
    std::cin >> price;
 
    if(price > 0){
        for (int i = 0; i != size; ++i)
            if(price <= array[i].price) ++count;
 
        sort_array = new table_cash [count];
        int size_new_arr = 0;
 
        for (int i = 0; i != size; ++i)
            if(array[i].price >= price) sort_array[size_new_arr++] = array[i];
 
        std::cout << "товары не ниже цены в " << price << " баксей\n";
        for (int i = 0; i != count; ++i)
            std::cout << sort_array[i].name << sort_array[i].price <<"\n";
 
        delete []sort_array;
    }
    else
        std::cout << "дешевле " << price << " баксов у нас товара нет, пшел отсюда\n";
 
    return 0;
}
 
bool min_max(int min, int max){
    bool check = min > max ? true : false;
    return check;
}
вывод
$ ./tmp
blalbabla 4
blalbabla 7
blalbabla 8
blalbabla 6
blalbabla 4
blalbabla 6
blalbabla 7
blalbabla 3
blalbabla 10
blalbabla 2
какие элементы удалить? введите минимальную цену
5
товары равные и дороже цены в 5 баксей
blalbabla 6
blalbabla 6
blalbabla 7
blalbabla 7
blalbabla 8
blalbabla 10
2
Serjant0007
2 / 2 / 0
Регистрация: 21.06.2010
Сообщений: 247
24.09.2011, 07:15  [ТС] #4
Цитата Сообщение от alkagolik Посмотреть сообщение
SDmaN, немного не то, однако ...
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include<iostream>
#include<cstdlib>
 
const int size = 10;
 
bool min_max(int min, int max);
 
struct table_cash{
    char *name;
    int price;
};
 
int main(){
    table_cash array[size], *sort_array;
    char *name = "blalbabla        ";
    int price, count = 0;
 
    //creating table
    for (int i = 0; i != size; ++i){
        array[i].name = name;
        array[i].price = rand() % size + 1;
    }
 
    //print sourse table
    for (int i = 0; i != size; ++i)
        std::cout << array[i].name << array[i].price << "\n";
 
    //sorting array
    for (int i = 0; i != size - 1; ++i)
        for (int k = 0; k != size - 1; ++k)
            if(min_max(array[k].price, array[k + 1].price)){
                table_cash tmp = array[k];
                array[k] = array[k + 1];
                array[k + 1] = tmp;
            }
 
    std::cout << "какие элементы удалить? введите минимальную цену \n";
    std::cin >> price;
 
    if(price > 0){
        for (int i = 0; i != size; ++i)
            if(price <= array[i].price) ++count;
 
        sort_array = new table_cash [count];
        int size_new_arr = 0;
 
        for (int i = 0; i != size; ++i)
            if(array[i].price >= price) sort_array[size_new_arr++] = array[i];
 
        std::cout << "товары не ниже цены в " << price << " баксей\n";
        for (int i = 0; i != count; ++i)
            std::cout << sort_array[i].name << sort_array[i].price <<"\n";
 
        delete []sort_array;
    }
    else
        std::cout << "дешевле " << price << " баксов у нас товара нет, пшел отсюда\n";
 
    return 0;
}
 
bool min_max(int min, int max){
    bool check = min > max ? true : false;
    return check;
}
вывод
$ ./tmp
blalbabla 4
blalbabla 7
blalbabla 8
blalbabla 6
blalbabla 4
blalbabla 6
blalbabla 7
blalbabla 3
blalbabla 10
blalbabla 2
какие элементы удалить? введите минимальную цену
5
товары равные и дороже цены в 5 баксей
blalbabla 6
blalbabla 6
blalbabla 7
blalbabla 7
blalbabla 8
blalbabla 10
немного для старого не подходит
0
Миниатюры
не выполнимое задание   не выполнимое задание   не выполнимое задание  

не выполнимое задание  
Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
24.09.2011, 07:50 #5
Оно у тебя и не скомпилится, тебе нужно компилятор сменить. Скачать можно здесь: Бесплатные среды (IDE) для программирования на С/С++
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
24.09.2011, 07:58 #6
Serjant0007, вместо <cstdlib.h> напиши <stdlib.h> и убери из кода все std::. Пока не пойму, почему он на bool ругаеться, попробуй сначала так перекомпилировать.
1
SDmaN
54 / 51 / 2
Регистрация: 22.07.2011
Сообщений: 436
24.09.2011, 12:31 #7
Цитата Сообщение от Serjant0007 Посмотреть сообщение
немного для старого не подходит
Dev-c++ или wxDev-c++ юзай

Добавлено через 2 минуты
Цитата Сообщение от alkagolik Посмотреть сообщение
немного не то, однако ...
Почему же не то? Задача была создать таблицу услуг и цен. Они есть просто изначально их невидно.
Потом вводим минимальную цену и удаляем все услуги цена которых ниже введённых. Есть маленькие недочёты, которые лекго исправить, а в основном всё правильно.

А всё догнал, мой пример работает, только если цены в порядке возрастания стоят. Спс.
1
alkagolik
Заблокирован
24.09.2011, 14:56 #8
Цитата Сообщение от SDmaN Посмотреть сообщение
Почему же не то?
я же говорю то, но... не то таблица подразумевает структуру из двух элементов, а дальше все то же самое - работаем с массивом структур.
[qoute]немного для старого не подходит[/quote]
если вы понимаете как работать в DOSе, то в чем проблема? а если нет - может сменить IDE? историю никогда не поздно выучить.
1
Serjant0007
2 / 2 / 0
Регистрация: 21.06.2010
Сообщений: 247
25.09.2011, 08:26  [ТС] #9
все равно на Bool показывает ошибку и остальные на i и на min_max скрины выше...

Добавлено через 14 часов 3 минуты
Цитата Сообщение от Nursik77 Посмотреть сообщение
Оно у тебя и не скомпилится, тебе нужно компилятор сменить. Скачать можно здесь: Бесплатные среды (IDE) для программирования на С/С++
мне нужно именно в старом компиляторе
0
alkagolik
Заблокирован
25.09.2011, 13:59 #10
Цитата Сообщение от Serjant0007 Посмотреть сообщение
мне нужно именно в старом компиляторе
переместите функцию min_max перед main() и тогда можно удалить строку 6, если не поможет, тогда замените тип bool на _Bool, а значения true\false на 1\0, а функцию min_max перепишите так:
C++
1
2
3
4
5
6
_Bool min_max(int min, int max){
      _Bool check;
      if (min > max) check = 1;
      else check = 0;
      return check;
}
, если не поможет тогда надо переписать на Си, вместо операторов new\delete используйте malloc\free, вместо операторов cin\cout - операторы scanf\printf, заголовочные файлы stdio.h, stdlib.h, функцию min_max() переписать так, (думаю заработает):
C
1
2
3
4
5
6
unsigned char min_max(int min, int max){ //поиграться с типами _Bool, unsigned char
      unsigned char check;      
      if (min > max) check = 1;
      else check = 0;
      return check;
}
а лучше вообще использовать для сортировки qsort().
1
Serjant0007
2 / 2 / 0
Регистрация: 21.06.2010
Сообщений: 247
25.09.2011, 14:38  [ТС] #11
Цитата Сообщение от alkagolik Посмотреть сообщение
переместите функцию min_max перед main() и тогда можно удалить строку 6, если не поможет, тогда замените тип bool на _Bool, а значения true\false на 1\0, а функцию min_max перепишите так:
C++
1
2
3
4
5
6
_Bool min_max(int min, int max){
      _Bool check;
      if (min > max) check = 1;
      else check = 0;
      return check;
}
, если не поможет тогда надо переписать на Си, вместо операторов new\delete используйте malloc\free, вместо операторов cin\cout - операторы scanf\printf, заголовочные файлы stdio.h, stdlib.h, функцию min_max() переписать так, (думаю заработает):
C
1
2
3
4
5
6
unsigned char min_max(int min, int max){ //поиграться с типами _Bool, unsigned char
      unsigned char check;      
      if (min > max) check = 1;
      else check = 0;
      return check;
}
а лучше вообще использовать для сортировки qsort().
уже лучше осталось теперь это
0
Миниатюры
не выполнимое задание   не выполнимое задание  
alkagolik
Заблокирован
25.09.2011, 17:04 #12
вынесите функцию min_max отдельно перед функцией int main(){}, т.е. вне ее. функция имеет такой вид
C++
1
2
3
4
func()
{
   .....
}
а не такой
C++
1
2
3
4
func();
{
...
}
вывод:
C++
1
2
3
4
5
6
7
8
9
10
11
func(int)
{
...
}
 
int main()
{
...
int a;
func(a);
}
1
Serjant0007
2 / 2 / 0
Регистрация: 21.06.2010
Сообщений: 247
25.09.2011, 18:01  [ТС] #13
вот что с этой скобкой сделать????
0
Миниатюры
не выполнимое задание  
-=ЮрА=-
Заблокирован
Автор FAQ
25.09.2011, 18:25 #14
Serjant0007, выложи весь код чтобы было понятно с чем работать, а так с ходу бросился в глаза косяк со скобками, вот подправил
C++
1
2
3
4
5
6
struct table_cash{
    char *name;
    int price;
};
bool min_max(int min, int max);
int main...
Добавлено через 1 минуту
Хотя по скрину смотрю что в коде далее тоже бардачок и bool там вообще не понятно какую переменную обїявляем?
0
Serjant0007
2 / 2 / 0
Регистрация: 21.06.2010
Сообщений: 247
25.09.2011, 18:26  [ТС] #15
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Serjant0007, выложи весь код чтобы было понятно с чем работать, а так с ходу бросился в глаза косяк со скобками, вот подправил
C++
1
2
3
4
5
6
struct table_cash{
    char *name;
    int price;
};
bool min_max(int min, int max);
int main...
Добавлено через 1 минуту
Хотя по скрину смотрю что в коде далее тоже бардачок и bool там вообще не понятно какую переменную обїявляем?
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include<iostream.h>
#include<stdlib.h>
#include<stdio.h>
const int size = 10;
struct table_cash{
    char *name;
    int price;
};
bool min_max(int min, int max);
int main()
 
    table_cash array[size], *sort_array;
    char *name = "blalbabla        ";
    int price, count = 0;
 
    //creating table
    for (int i = 0; i != size; ++i){
    array[i].name = name;
    array[i].price = rand() % size + 1;
    }
 
    //print sourse table
    for (int i = 0; i != size; ++i)
    cout << array[i].name << array[i].price << "\n";
 
    //sorting array
    for (int i = 0; i != size - 1; ++i)
    for (int k = 0; k != size - 1; ++k)
        if(min_max(array[k].price, array[k + 1].price)){
        table_cash tmp = array[k];
        array[k] = array[k + 1];
        array[k + 1] = tmp;
        }
 
    cout << "kakie elementi udalit vvedi minimalnuyu cenu \n";
    cin >> price;
 
    if(price > 0){
    for (int i = 0; i != size; ++i)
        if(price <= array[i].price) ++count;
 
    sort_array = new table_cash [count];
    int size_new_arr = 0;
 
    for (int i = 0; i != size; ++i)
        if(array[i].price >= price) sort_array[size_new_arr++] = array[i];
 
    cout << "tovari ne niche  " << price << " rubley\n";
    for (int i = 0; i != count; ++i)
        cout << sort_array[i].name << sort_array[i].price <<"\n";
 
    delete []sort_array;
    }
    else
    cout << "dechevle " << price << " rubley tovarov net\n";
 
    return 0;
}
 
bool min_max(int min, int max){
    bool check = min > max ? true : false;
    return check;
}
как ты сказал исправить теперь показывает 20 косяков
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2011, 18:26
Привет! Вот еще темы с ответами:

Задание по т.о.и. № 2 - Информатика
Помогите решить задание по теоретическим основам информатики или хотя бы где прочитать чтобы решить самому. Задание: Представить в...

Задание |S(Ai + Bi)| * X + X^2 - Assembler
спасите меня.....люди...... какой же не понятный этот ассемблер.... необходимо сделать вставку ассемблера в С++ дан пример: |S(Ai +...

Задание по if..then..else - Pascal
&quot;Даны целые числа m, к, n. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а если равны,...

Задание - PHP
Всем добрый день. У меня такой вопрос. Кто нибудь может дать задание средней сложности(относительно вашего понимания) для ...


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

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

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