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

Компьютерный форум 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

 

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


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

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


Drongo, ну вот про массивы..и задачка Whitypu...сегодня будет еще парочка легких задачек...вечерком..если не сложна - помоги)

Drongo, значит задачка про массивы оказалась правильной...только препод сказала,что нет главной части задания:
Задание: НАписать прогу, выполняющую инвертирование трех одномерных массивов: А[20],В[10],С[15].
Написать функции:
-Заполнение массива числами в диалоговом режиме.
-Вывода одномерного массива
-Инвертирование одномерного массива.
она сказала,что нужно написать функции(

Последний раз редактировалось Drongo, 17-12-2011 в 13:14. Причина: 2 в 1


Отправлено: 11:26, 01-10-2008 | #31



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

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


Аватара для Drongo

Будем жить, Маэстро...


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

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


Spl1t, Хорошо, исправлю, завтра выложу....
Цитата Spl1t:
-Вывода одномерного массива »
Уточняю, вывода только одного одномерного массива или трёх?
Цитата Spl1t:
выполняющую инвертирование трех одномерных массивов: А[20],В[10],С[15]. »
Это как понимать? Инвертирование, это что значит и как подразумевается? Можешь пояснить?

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Последний раз редактировалось Drongo, 04-10-2008 в 14:53. Причина: Добавил вопрос...


Отправлено: 21:38, 03-10-2008 | #32


Аватара для Drongo

Будем жить, Маэстро...


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

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


Spl1t, готово, принимай. Как понял, так и сделал... И ещё, отпишись, а решение для твоего друга - Whitypu, прошло?!
Решение
Код: Выделить весь код
// Задание: Написать программу,
// выполняющую инвертирование трех одномерных массивов: А[20], В[10], С[15].
// Написать функции:
// -Заполнение массива числами в диалоговом режиме.
// -Вывода одномерного массива
// -Инвертирование одномерного массива.
#include <iostream>
using std::cout;
using std::cin;
using std::endl;

// Функция заполнения массива числами в диалоговом режиме
void InArray(int ar1[], int ar2[], int ar3[], int sz1, int sz2, int sz3);
// Функция вывода одномерного массива
void OutArray(int ar1[], int ar2[], int ar3[], int sz1, int sz2, int sz3);
// Функция инвертирование одномерного массива.
void InvertationArray(int ar1[], int ar2[], int ar3[], int sz1, int sz2, int sz3);

void main()
{  // размерность массива будем задавать через константу
   const int sizeArrayA = 20;
   const int sizeArrayB = 10;
   const int sizeArrayC = 15;
   // Массивы
   int A[sizeArrayA] = {0};
   int B[sizeArrayB] = {0};
   int C[sizeArrayC] = {0};
   int finish;

   InArray(A, B, C, sizeArrayA, sizeArrayB, sizeArrayC);
   OutArray(A, B, C, sizeArrayA, sizeArrayB, sizeArrayC);
   InvertationArray(A, B, C, sizeArrayA, sizeArrayB, sizeArrayC);

   cin>>finish;
}
// Функция заполнения массива числами в диалоговом режиме
void InArray(int array1[], int array2[], int array3[], int size1, int size2, int size3)
{
   // Ввод значений в массив "А"
   cout<<" Vvod znacheniy v massiv 'A', Rasmer = 20\n"<<endl;
   for(int i = 0; i < size1; i++){
      cout<<" Enter Value in Array, 'A["<<i<<"]' = ";
      cin>>array1[i];
     }
   // Ввод значений в массив "В"
   cout<<"\n\n Vvod znacheniy v massiv 'B', Rasmer = 10\n"<<endl;
   for(int j = 0; j < size2; j++){
      cout<<" Enter Value in Array, 'B["<<j<<"]' = ";
      cin>>array2[j];
     }
   // Ввод значений в массив "С"
   cout<<"\n\n Vvod znacheniy v massiv 'C', Rasmer = 15\n"<<endl;
   for(int a = 0; a < size3; a++){
      cout<<" Enter Value in Array, 'C["<<a<<"]' = ";
      cin>>array3[a];
     }
}
// Функция вывода одномерного массива
void OutArray(int array1[], int array2[], int array3[], int size1, int size2, int size3)
{
   // Вывод на экран массива "А"...
   cout<<"\n----------------------------------------------------------------\n";
   cout<<"\n Array 'A[]'...\n"<<endl;
   for(int i = 0; i < size1; i++)
      cout<<" Print Value Array 'A["<<i<<"]' = "<<array1[i]<<endl;

   // Вывод на экран массива "B"...
   cout<<"\n----------------------------------------------------------------\n";
   cout<<"\n Array 'B[]'...\n"<<endl;
   for(int j = 0; j < size1; j++)
      cout<<" Print Value Array 'B["<<j<<"]' = "<<array2[j]<<endl;

   // Вывод на экран массива "C"...
   cout<<"\n----------------------------------------------------------------\n";
   cout<<"\n Array 'C[]'...\n"<<endl;
   for(int n = 0; n < size1; n++)
      cout<<" Print Value Array 'C["<<n<<"]' = "<<array3[n]<<endl;
}
// Функция инвертирование одномерного массива.
void InvertationArray(int ar1[], int ar2[], int ar3[], int sz1, int sz2, int sz3)
{
   int *InvertationArray1;
   int *InvertationArray2;
   int *InvertationArray3;
   // Динамическое создание массивов для инвертированния значений
   InvertationArray1 = new int[sz1];
   InvertationArray2 = new int[sz2];
   InvertationArray3 = new int[sz3];

   // Инвертирование и Вывод на экран массива'A[]'...
   cout<<"\n----------------------------------------------------------------\n";
   cout<<"\n\n Invertation Array 'A[]' -> 'InvertationArray1[]'...\n\n";
   for(int i = sz1 - 1, j = 0; i >= 0; i--, j++){
      InvertationArray1[j] = ar1[i];
      cout<<" A[ "<<j<<" ] = "<<ar1[j]<<"  -> "
          <<" InvertationArray1[ "<<j<<" ] = "
          <<InvertationArray1[j]<<endl;
     }

   // Инвертирование и Вывод на экран массива'B[]'...
   cout<<"\n----------------------------------------------------------------\n";
   cout<<"\n\n Invertation Array 'B[]' -> 'InvertationArray2[]'...\n\n";
   for(int n = sz2 - 1, m = 0; n >= 0; n--, m++){
      InvertationArray2[m] = ar2[n];
      cout<<" B[ "<<m<<" ] = "<<ar2[m]<<"  -> "
          <<" InvertationArray2[ "<<m<<" ] = "
          <<InvertationArray2[m]<<endl;
     }

   // Инвертирование и Вывод на экран массива 'С[]'...
   cout<<"\n----------------------------------------------------------------\n";
   cout<<"\n\n Invertation Array 'C[]' -> 'InvertationArray3[]'...\n\n";
   for(int s = sz3 - 1, r = 0; s >= 0; s--, r++){
      InvertationArray3[r] = ar3[s];
      cout<<" C[ "<<r<<" ] = "<<ar3[r]<<"  -> "
          <<" InvertationArray3[ "<<r<<" ] = "
          <<InvertationArray3[r]<<endl;
     }
}
//---------------------------------------------------------------------------

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Последний раз редактировалось Drongo, 04-10-2008 в 15:10. Причина: Уточнил вопрос...


Отправлено: 14:23, 04-10-2008 | #33


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


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

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


Drongo, про решение Whitypu узнаем во вторник.
У меня в задаче должно быть три функции,как мне объяснила препод.По каждому из этих пунктов:
-Заполнение массива числами в диалоговом режиме.
-Вывода одномерного массива
-Инвертирование одномерного массива.

Про вывод одномерного все прошло там...Осталось только с функциями разобраться(

Отправлено: 05:09, 05-10-2008 | #34


Аватара для Drongo

Будем жить, Маэстро...


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

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


Spl1t,
Цитата Spl1t:
в задаче должно быть три функции »
Аааа, ну тогда всё нормально, в последнем решении они имеются.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Последний раз редактировалось Drongo, 05-10-2008 в 16:47. Причина: добавил ссылку...


Отправлено: 15:42, 05-10-2008 | #35


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


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

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


эмм) канешна спасибо большое) можешь их показать?) я ваще не рублю где они там)

Отправлено: 19:23, 05-10-2008 | #36


Ветеран


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

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


Spl1t, осталось лишь разобраться в исходнике.
читать дальше »

Цитата Drongo:
// Функция заполнения массива числами в диалоговом режиме
void InArray(int array1[], int array2[], int array3[], int size1, int size2, int size3)
{
...
}
// Функция вывода одномерного массива
void OutArray(int array1[], int array2[], int array3[], int size1, int size2, int size3)
{
...
}
// Функция инвертирование одномерного массива.
void InvertationArray(int ar1[], int ar2[], int ar3[], int sz1, int sz2, int sz3)
{
...
}
»

Хотя бы поиском по исходнику воспользовались, если так сразу не видно.
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:48, 05-10-2008 | #37


Аватара для Drongo

Будем жить, Маэстро...


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

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


Spl1t,
Цитата Spl1t:
можешь их показать?) »
читать дальше »
В принципе вам Admiral всё объяснил, я даже не изменял слов в постановке заданий в комментариях, но на всякий случай повторю. В теле main () эти функции вот:
Код: Выделить весь код
...
void main ()
{ 
...  
   InArray(A, B, C, sizeArrayA, sizeArrayB, sizeArrayC); // Функция ввода значений в массив
   OutArray(A, B, C, sizeArrayA, sizeArrayB, sizeArrayC);  // Функция вывода на экран значений массива
   InvertationArray(A, B, C, sizeArrayA, sizeArrayB, sizeArrayC); // Функция инвертирования значений массива
...
}

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif

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

Отправлено: 20:31, 05-10-2008 | #38


Аватара для Durson

Devil may Cry


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

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


Цитата Drongo:
/* #include <iostream.h> можно удалить эту строку из "russian.h" */ »
Так можно его не удалять из заголовочного файла russian.h и не вписывать его в каждую новую программу, к чему лишняя писанина? В общем я про это и говорил.

Последний раз редактировалось Durson, 06-10-2008 в 20:56. Причина: Разговор на разных языках

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

Отправлено: 20:48, 06-10-2008 | #39


Аватара для Drongo

Будем жить, Маэстро...


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

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


Логично, <iostream> или <iostream.h>, Что правильнее? Я предпочитаю #include <iostream> то здесь, для примера я добавил <iostream.h> Это так, к слову.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 20:58, 06-10-2008 | #40



Компьютерный форум 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




 
Переход