Показать полную графическую версию : [решено] Помогите решить задачу по С++
Страниц :
1
[
2]
3
4
5
6
7
8
9
10
11
12
13
14
15
16
___oj, Это всё правильно, но скажите, разве вам никогда не попадались ситуации, когда в вы в чём-то ну ни чуть не понимали, и вам помогли? И потом, я не могу понять, зачем будущему таможеннику знать программирование? я учусь на спеуиальнсоти "Тамодженное дело".. » Или Дизайнеру? У меня знакомая в университете учится на дизайнера, вот на кой ей ООП я так до сих пор и не знаю?
да и сложно это ~ разобраться в чужом решении. » С этим я согласен.Такие "добрые" люди, на самом деле плодят идиотов. »Человек может не разбираться в одном вопросе и быть спецом в другом. Вот попадётесь вы ему на границе, :grin: будет вам. ;)
Drongo,спасибо большое,решение оказалось правильным...посмотри соседнюю тему...еще одну прогу задали(
Вобщем обращаюсь с еще одной задачкой)Помогите плиз,кто может)
Задание: НАписать прогу, выполняющую инвертирование трех одномерных массивов: А[20],В[10],С[15].
Написать функции:
-Заполнение массива числами в диалоговом режиме.
-Вывода одномерного массива
-Инвертирование одномерного массива.
помогите плз(
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)
Spl1t, еще одну прогу задали( »Моей знакомой дизайнеру, целый год задавали. ;)
смотрю похожая задачка, если не трудно мог бы посмотреть вот эту? )
Суть: Написать программу, опредеяющую для каждого из трех одномерных массивов : A[45], B[10], C[20] сколько раз в них встретились два подряд идущих нулевых элемента.
Написать функции:
-Заполнение массива числами в диалоговом режиме.
-Вывода одномерного массива.
-Определения количества двух подряд идущих нулевых элементов в одномерном массиве.
буду премного благодарен
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;
}
}
}
//----------------------------------------------------------------------------
Drongo,спасибо большоеее)
и другу моему помог) Whitypi который)
Spl1t, Когда-нибудь и ты кому-нибудь помоги... ;) Было бы здорово, если бы после сдачи отписались на предмет, прошло ли решение или нет...
ну про предыдущую задачу я отписал,что все правильно там)
Spl1t, Так я ж помимо прошлой, ещё парочку сделал. ;)
Drongo, ну вот про массивы..и задачка Whitypu...сегодня будет еще парочка легких задачек...вечерком..если не сложна - помоги)
Drongo, значит задачка про массивы оказалась правильной...только препод сказала,что нет главной части задания:
Задание: НАписать прогу, выполняющую инвертирование трех одномерных массивов: А[20],В[10],С[15].
Написать функции:
-Заполнение массива числами в диалоговом режиме.
-Вывода одномерного массива
-Инвертирование одномерного массива.
она сказала,что нужно написать функции(
Spl1t, Хорошо, исправлю, завтра выложу....-Вывода одномерного массива »Уточняю, вывода только одного одномерного массива или трёх? выполняющую инвертирование трех одномерных массивов: А[20],В[10],С[15]. »Это как понимать? Инвертирование, это что значит и как подразумевается? :dont-know Можешь пояснить?
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;
}
}
//---------------------------------------------------------------------------
Drongo, про решение Whitypu узнаем во вторник.
У меня в задаче должно быть три функции,как мне объяснила препод.По каждому из этих пунктов:
-Заполнение массива числами в диалоговом режиме.
-Вывода одномерного массива
-Инвертирование одномерного массива.
Про вывод одномерного все прошло там...Осталось только с функциями разобраться(
Spl1t, в задаче должно быть три функции »Аааа, ну тогда всё нормально, в последнем решении (http://www.forum.oszone.net/post-915581-12.html) они имеются. ;)
эмм) канешна спасибо большое) можешь их показать?) я ваще не рублю где они там)
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)
{
...
}
»
Хотя бы поиском по исходнику воспользовались, если так сразу не видно.
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); // Функция инвертирования значений массива
...
}
/* #include <iostream.h> можно удалить эту строку из "russian.h" */ »
Так можно его не удалять из заголовочного файла russian.h и не вписывать его в каждую новую программу, к чему лишняя писанина? В общем я про это и говорил. :)
Логично, :up <iostream> или <iostream.h>, Что правильнее? (http://www.progz.ru/forum/index.php?showtopic=28426) Я предпочитаю #include <iostream> то здесь, для примера я добавил <iostream.h> Это так, к слову.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.