Войти

Показать полную графическую версию : [решено] Помогите решить задачу по С++


Страниц : 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Drongo
28-09-2008, 15:14
___oj, Это всё правильно, но скажите, разве вам никогда не попадались ситуации, когда в вы в чём-то ну ни чуть не понимали, и вам помогли? И потом, я не могу понять, зачем будущему таможеннику знать программирование? я учусь на спеуиальнсоти "Тамодженное дело".. » Или Дизайнеру? У меня знакомая в университете учится на дизайнера, вот на кой ей ООП я так до сих пор и не знаю?
да и сложно это ~ разобраться в чужом решении. » С этим я согласен.Такие "добрые" люди, на самом деле плодят идиотов. »Человек может не разбираться в одном вопросе и быть спецом в другом. Вот попадётесь вы ему на границе, :grin: будет вам. ;)

Spl1t
29-09-2008, 14:54
Drongo,спасибо большое,решение оказалось правильным...посмотри соседнюю тему...еще одну прогу задали(

Вобщем обращаюсь с еще одной задачкой)Помогите плиз,кто может)

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

помогите плз(

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

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

// Заполнение массива значениями посредством ввода с клавиатуры...
// Ввод значений в массив "А"
cout<<" Vvod znacheniy v massiv 'A', Rasmer = 20"<<endl;
for(int i = 0; i < sizeArrayA; i++){
cout<<" Enter Value in Array 'A', index ["<<i<<"] = ";
cin>>A[i];
}
// Ввод значений в массив "В"
cout<<"\n\n Vvod znacheniy v massiv 'B', Rasmer = 10"<<endl;
for(int j = 0; j < sizeArrayB; j++){
cout<<" Enter Value in Array 'B', index ["<<j<<"] = ";
cin>>B[j];
}

// Ввод значений в массив "С"
cout<<"\n\n Vvod znacheniy v massiv 'C', Rasmer = 15"<<endl;
for(int a = 0; a < sizeArrayC; a++){
cout<<" Enter Value in Array 'C', index ["<<a<<"] = ";
cin>>C[a];
}

// Вывод значений массива "А" на экран
cout<<"\n\n Vivod znacheniy iz massiva 'A'"<<endl;
for(int n = 0; n < sizeArrayA; n++)
cout<<" Print Value Array 'A', index ["<<n<<"] = "<<A[n]<<endl;

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

cin>>S;
}
//----------------------------------------------------------------------------В следующий раз, называйте темЫ нормально (http://segfault.kiev.ua/smart-questions-ru.html#bespecific), иначе тема попадёт по ОПК 3.19 (http://www.forum.oszone.net/rules.html)

Drongo
29-09-2008, 16:11
Spl1t, еще одну прогу задали( »Моей знакомой дизайнеру, целый год задавали. ;)

Whitypu
29-09-2008, 23:31
смотрю похожая задачка, если не трудно мог бы посмотреть вот эту? )

Суть: Написать программу, опредеяющую для каждого из трех одномерных массивов : A[45], B[10], C[20] сколько раз в них встретились два подряд идущих нулевых элемента.
Написать функции:
-Заполнение массива числами в диалоговом режиме.
-Вывода одномерного массива.
-Определения количества двух подряд идущих нулевых элементов в одномерном массиве.


буду премного благодарен

Drongo
30-09-2008, 14:47
Whitypu, если не трудно мог бы посмотреть вот эту? ) »Мог бы, а вы могли бы хотя бы чуть-чуть выложить решение? Я бы тоже был премного благодарен. ;)
// Написать программу, опредеяющую
// для каждого из трех одномерных массивов: A[45], B[10], C[20]
// сколько раз в них встретились два подряд идущих нулевых элемента.
// Написать функции:
// -Заполнение массива числами в диалоговом режиме.
// -Вывода одномерного массива.
// -Определения количества двух подряд идущих нулевых элементов в одномерном массиве.
#include <iostream>
using std::cout;
using std::cin;
using std::endl;

// Функция заполнения массива числами в диалоговом режиме
void EnterValueArray(int ar1[], int ar2[], int ar3[], int sz1, int sz2, int sz3);
// Функция вывода одномерного массива
void PrintArray(int ar1[], int sz1);
// Функция определения двух подряд идущих нулевых элементов в одномерном массиве
void NULLElementArray(int ar1[], int sz1);

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

cout<<" Inizialisation Arrays..."<<endl;

EnterValueArray(A, B, C, sizeArrayA, sizeArrayB, sizeArrayC);
PrintArray(A, sizeArrayA);
NULLElementArray(A, sizeArrayA);

cout<<"\n\n Press Key: > ";
cin>>S;
}
// Функция заполнения массива числами в диалоговом режиме
void EnterValueArray(int array1[], int array2[], int array3[], int size1, int size2, int size3)
{
cout<<"\n----------------------------------------------------------------\n";
cout<<"\n Array1...\n"<<endl;
for(int i = 0; i < size1; i++){ // Инициализация значениями 1-го массива
cout<<" Enter Value in Array 'A', index ["<<i<<"] = ";
cin>>array1[i];
}

cout<<"\n----------------------------------------------------------------\n";
cout<<"\n Array2...\n"<<endl;
for(int j = 0; j < size2; j++){ // Инициализация значениями 2-го массива
cout<<" Enter Value in Array 'B', index ["<<j<<"] = ";
cin>>array2[j];
}

cout<<"\n----------------------------------------------------------------\n";
cout<<"\n Array3...\n"<<endl;
for(int a = 0; a < size3; a++){ // Инициализация значениями 3-го массива
cout<<" Enter Value in Array 'C', index ["<<a<<"] = ";
cin>>array3[a];
}
}
// Функция вывода одномерного массива
void PrintArray(int array1[], int size1)
{
// Вывод на экран массива "А"...
cout<<"\n----------------------------------------------------------------\n";
for(int n = 0; n < size1; n++)
cout<<" Print Value Array 'A', index ["<<n<<"] = "<<array1[n]<<endl;
}
// Функция определения двух подряд идущих нулевых элементов в одномерном массиве
void NULLElementArray(int array1[], int size1)
{
int ValueNULL = 0,
TempIndexNULL = 0;

cout<<"\n----------------------------------------------------------------\n";
for(int i = 0; i < size1; i++){
if(array1[i] == 0){
ValueNULL++;
if(ValueNULL == 1)
TempIndexNULL = i;
}
if(array1[i] != 0)
ValueNULL = 0;
if(ValueNULL == 2){
cout<<"\n Value NULL 1 = ' "<<array1[TempIndexNULL]<<" ' "
<<"Element Array 'A', index ["<<TempIndexNULL<<"] = "
<<array1[TempIndexNULL]<<endl;
cout<<" Value NULL 2 = ' "<<array1[i]<<" ' "
<<"Element Array 'A', index ["<<i<<"] = "<<array1[i]<<endl;
ValueNULL = 0;
}
}
}
//----------------------------------------------------------------------------

Spl1t
30-09-2008, 16:36
Drongo,спасибо большоеее)
и другу моему помог) Whitypi который)

Drongo
30-09-2008, 16:42
Spl1t, Когда-нибудь и ты кому-нибудь помоги... ;) Было бы здорово, если бы после сдачи отписались на предмет, прошло ли решение или нет...

Spl1t
30-09-2008, 20:08
ну про предыдущую задачу я отписал,что все правильно там)

Drongo
30-09-2008, 20:29
Spl1t, Так я ж помимо прошлой, ещё парочку сделал. ;)

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

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

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

Drongo
04-10-2008, 14:23
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;
}
}
//---------------------------------------------------------------------------

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

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

Drongo
05-10-2008, 15:42
Spl1t, в задаче должно быть три функции »Аааа, ну тогда всё нормально, в последнем решении (http://www.forum.oszone.net/post-915581-12.html) они имеются. ;)

Spl1t
05-10-2008, 19:23
эмм) канешна спасибо большое) можешь их показать?) я ваще не рублю где они там)

Admiral
05-10-2008, 19:48
Spl1t, осталось лишь разобраться в исходнике.


// Функция заполнения массива числами в диалоговом режиме
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)
{
...
}
»

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

Drongo
05-10-2008, 20:31
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); // Функция инвертирования значений массива
...
}

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

Drongo
06-10-2008, 20:58
Логично, :up <iostream> или <iostream.h>, Что правильнее? (http://www.progz.ru/forum/index.php?showtopic=28426) Я предпочитаю #include <iostream> то здесь, для примера я добавил <iostream.h> Это так, к слову.




© OSzone.net 2001-2012