Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Помогите решить задачу по С++

Закрытая тема
Настройки темы
C/C++ - [решено] Помогите решить задачу по С++

Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 20-12-2011
Описание: правила
  1. По заданному натуральному(целому) числу, определить количество цифр и найти их сумму.
  2. По заданному натуральному(целому) числу, определить количество цифр и найти их сумму. Из указаного диапазона n и m
  3. Выполнить инвертирование трех одномерных массивов: А[20], В[10], С[15]. Написать функции: -Заполнение массива числами в диалоговом режиме. -Вывода одномерного массива -Инвертирование одномерного массива.
  4. Определитьдля каждого из трех одномерных массивов : A[45], B[10], C[20] сколько раз в них встретились два подряд идущих нулевых элемента. Написать функции: -Заполнение массива числами в диалоговом режиме. -Вывода одномерного массива. -Определения количества двух подряд идущих нулевых элементов в одномерном массиве.


Выдержка из правил форума
Цитата:
Вопросы, в которых нет кода и следов ваших размышлений над поставленной задачей также будут перенесены в закрытую тему - Уголок Ленивого Программиста

Исходное сообщение автора

Задание: Написать прогу, которая по заданному натуральному числу определяет количество цифр в нем и их сумму.Протестируйте функцию десятичных чисел из некоторого диапазона от n до m.

Отправлено: 14:54, 27-09-2008

 

Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


ValeraRU, а где алгоритм действия, мысли, догадки, предложения? С нуля к зачетной сессии писать?
P.S. Спасибо не булькает.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 21:36, 11-12-2010 | #181



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата lxa85:
ValeraRU, а где алгоритм действия, мысли, догадки, предложения? С нуля к зачетной сессии писать?
P.S. Спасибо не булькает. »
есть догадки..
могу показать,там наверно надо будет переделывать уйму,так что лучше с 0
профессор попался плохой... вот и обращаюсь к вам за помощью!
методички и прочие мануалы не спасают!

Отправлено: 21:51, 11-12-2010 | #182


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


ValeraRU,
> профессор попался плохой... вот и обращаюсь к вам за помощью! методички и прочие мануалы не спасают!
Понимаешь, это слабая "отмазка". Дело даже не в профессоре и не в методическом материале.
Все дело в понимании. Либо ты понимаешь, как задача должна выполняться либо нет.
Если понимаешь, то описывай алгоритм словами. Подробно, по шагам, можно своими. Но так, что бы было понятно школьнику не знакомому с тайнами программирования. Пиши просто без высших материй.
Когда ты сам будешь понимать какой шаг/действие зачем нужно, то мы уже напишем по ним программный код. А затем подпишем как какой шаг как реализован.
Цитата ValeraRU:
могу показать,там наверно надо будет переделывать уйму »
Показывай. Писать с нуля лень до жути. Заодно будет понятен уровень требований. Т.к. усложнить решение - не проблема. Проблема будет тебе потом объяснить "как это работает?"
Поэтому мы переводим в программный код только собственные мысли вопрошающего.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:48, 11-12-2010 | #183


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата lxa85:
ValeraRU,
> профессор попался плохой... вот и обращаюсь к вам за помощью! методички и прочие мануалы не спасают!
Понимаешь, это слабая "отмазка". Дело даже не в профессоре и не в методическом материале. »
мне пригласить на форум всю группу ? =(
я пришел в универ с огромным желанием.. но подход учителя огорчает,в любом случае не суть

значит:
Цитата lxa85:
Показывай. Писать с нуля лень до жути. Заодно будет понятен уровень требований. Т.к. усложнить решение - не проблема. Проблема будет тебе потом объяснить "как это работает?"
Поэтому мы переводим в программный код только собственные мысли вопрошающего. »
по поводу 1ой задачи
Цитата:
#include <stdio.h>

int main(int argc, char* argv[])
{

int matrix[8][8] = {
{ 2, 7, 2, 7, 1, 4, 0, 3 },
{ 1, 0, 7, 6, 0, -8, 3, 5 },
{ 2, 7, 1, 8, 1, 4, 9, 3 },
{ 9, 2, 8, 5, 2, 0, 0, 6 },
{ 7, 1, 1, 3, 9, 3, 9, 1 },
{ 8, 2, 4, 9, 1, -6, 4, 9 },
{ 0, 3, 9, 0, 9, 4, 8, 8 },
{ 1, 8, 3, 2, 8, 2, 8, 0 }
};
int i, j, jSumm;
char bFlag,true,false;


printf("k = ");
for (i = 0; i < 8; i++)
{

bFlag = true;
for (j = 0; j < 8; j++)
{

if (matrix[i][j] != matrix[j][i])
{
bFlag = false;
break;
}
}

if (bFlag) printf("%d ", i);
}


printf("\n\n");
for (i = 0; i < 8; i++)
{

bFlag = true;
iSumm = 0;
for (j = 0; j < 8; j++)
{

if (matrix[i][j] > 0) bFlag = true;

iSumm += matrix[i][j];
}

if (!bFlag) printf("summa elementov stolbtsa #%d = %d\n", j, jSumm);
}

return 0;
}

PS
не могли бы вы дать ваш номер ICQ или что то другое,чтобы не засорять форум ?

Отправлено: 15:39, 12-12-2010 | #184


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


Цитата ValeraRU:
мне пригласить на форум всю группу ? =( »
ты хочешь нам доплачивать?
Цитата ValeraRU:
но подход учителя огорчает »
*Преподавателя. У них с учителем чуть разные функции.
Цитата ValeraRU:
не могли бы вы дать ваш номер ICQ или что то другое,чтобы не засорять форум ? »
Нет, до тех пор пока не научишься искать информацию самостоятельно. (Не в обиду)
По коду.
Где комментарии?
Код: Выделить весь код
for (i = 0; i < 8; i++)
{
    bFlag = true;
    for (j = 0; j < 8; j++)
    {
        if (matrix[i][j] != matrix[j][i])
        {
        bFlag = false;
        break;
        }
    }
    if (bFlag) printf("%d ", i);
}
Это вот это что такое? Это к чему вообще?
Код: Выделить весь код
for (i = 0; i < 8; i++)
{
    bFlag = true;
    iSumm = 0;
    for (j = 0; j < 8; j++)
    {
        if (matrix[i][j] > 0) bFlag = true;
        iSumm += matrix[i][j];
    }
    if (!bFlag) printf("summa elementov stolbtsa #%d = %d\n", j, jSumm);
}
Ну а это? Для чего и какую часть задачи решает?

Ты по моему взял два каких-то куска кода, слепил их в месте, а что от тебя требовалось сделать - не понял.
Еще раз, без кода, русскими словами, напиши последовательность решения задачи.
Если не получается, возьми пример, реши его устно и запиши последовательность своих действий. (Друга попроси помочь)
1 Берем матрицу
2. Берем строку/столбик
3. Что мы с ним должны сделать? Наверно проверить на что нибудь.
3.1. Как мы это делаем, как проверяем на некое условие?
3.2. Что делать если условие выполнилось?
и т.д.
Заодно, ко второй части программы.
Что такое побочная диагональ в матрице? (С не давнего времени, один из моих любимых вопросов студенчеству )
Каким св-ом обладают || ные ей диагонали?
Все это сейчас рассуждения и анализ задачи. Надо понять что надо делать. Вторым шагом будет внесение математических формул. (Дисциплина то научная ) И уже 3тим шагом будет программирование.
Поэтому не торопись писать сразу код, это самое последний твой шаг. Сделай пока первые два.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 16:20, 12-12-2010 | #185


Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте.
Мне нужна помощь в решении задачи на С++.
Суть задачи : В файле храниться значения некоторой структурной переменной.
Нужно считать ее в список и отсортировать.
Дано что то такое :
Struct A
{ int a;
Struct B b;
};
Struct B
{ char y;
double z;
}
Сортировка по (b.z)^b.y a/2
Лучше в личку. Если нет желания или времени разбираться в моих, наверное, не понятных записях, то прошу скинуть на книжки про Структуры,Списки,Указатели и Виртуальную память.

Отправлено: 23:17, 24-12-2010 | #186


Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте, есть задача, непонятен сам алгоритм реализации.

Найти два элемента целочисленного массива, разность которых дает значение наиболее близкое к среднему арифметическому всех элементов массива.

Ввести массив ясно как...среднее арифметическое тоже, а вот как найти эти два искомых два числа непонятно что-то ..=\

int main ()
{
int size, arifm_sum;
int sum = 0;


cout << "Vvedite razmer massiva: ";
cin >> size;
int *array = new int[size];
cout << "Vvedite elementi masiva: ";
for ( int i = 0; i < size; i++ )
{
cin >> array[i];
}

// Naxodim srednee arifmeti4eskoe chisel
for ( int i = 0; i < size; i++ )
{
sum = sum + array[i];
}
arifm_sum = sum/size;

// Naxodim iskomix 2 elementa

Отправлено: 02:27, 08-01-2011 | #187


Старожил


Сообщения: 154
Благодарности: 11

Профиль | Отправить PM | Цитировать


Profi_Boss,
arifm_sum не мешало бы сделать типа float.
Код: Выделить весь код
#include <math.h>

...

float nearest = fabs ( abs ( array[0] - array[1] ) - arifm_sum );
int num1 = array[0], num2 = array[1];
for ( int i = 0; i < size; i++ )
{
    for ( int j = i + 1; j < size; j++ )
    {
        if ( fabs ( abs ( array[i] - array[j] ) - arifm_sum ) < nearest)
        {
            nearest = fabs ( abs ( array[i] - array[j] ) - arifm_sum );
            num1 = array[i];
            num2 = array[j];
        }
    }
}
cout << "Iskomye elementy: " << num1 << " i " << num2 << endl;

Отправлено: 09:44, 08-01-2011 | #188


Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: rar код.rar
(8.2 Kb, 5 просмотров)

Всем доброго времени суток!!!

Нужна помощь в решении задачи по созданию консольного калькулятора, т.е. мы вводим с клавиатуры выражение со скобками, +, -, *, /, sin, cos, tan, степень. и он считает это выражение. За основу я взял пример из Шилдта, там рекурсивный подход. Я разобрался полностью с кодом, но никак не могу в него добавить распознование тригонометрических функций... Я представляю, что при виде символов cos, sin, tan он их должен обрабатывать как унарные операции, что это как еще одна функция должна быть включена в рекурсию, но никак не могу реализовать...

Подскажите пожалуйста, очень нужно до среды...

P.S. И еще, в исходниках, в функции get_token() я не могу понять, где идет в процессе построения лексемы идет запись в переменную token...

Отправлено: 21:44, 16-01-2011 | #189


Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


belk94 спасибо, разобрался!

Отправлено: 16:51, 20-01-2011 | #190



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Помогите решить задачу по С++

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - Помогите решить задачу Urann Программирование и базы данных 11 14-05-2013 11:44
Разное - Помогите решить задачу в Excel Dgonny Программирование и базы данных 2 16-11-2009 04:11
C/C++ - Помогите решить задачу zdughi Программирование и базы данных 1 01-05-2009 06:03
помогите решить задачу snikers Программирование и базы данных 2 27-08-2004 01:57
помогите решить задачу Guest Программирование и базы данных 2 21-05-2004 11:23




 
Переход