day & night

Помогите разобраться в проблеме..., С++
Дата обновления: , перейти к новому сообщению
#1
yah



профи!
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 2.336
Регистрация: 27.01.2006
Из: рнд
Пользователь №: 500


Респектов: 408
-----XXX--




Нужно написать программу, которая запрашивает ввод данных в массив, затем инвертирует элементы массива местами, а затем отображает массив. При этом должны быть использованны три функции, ориентированые на работу с массивами... Ввод данных прекращается когда массив заполнен либо вводится нечисловое значение при этом возвращается фактическое число введеных данных...

Все написал, но инвертировать массив так и не получилось sad.gif .

Вот сами исходники проги:


CODE
#include <iostream>
using namespace std;

short Fill_array(double array[], short size);
void Show_array(const double array[], short size);
void Reverse_array(double array[],short size);

int main()
{
double array[20];
short size=Fill_array(array,20);
Reverse_array(array,size);
Show_array(array,size);

return 0;
}


short Fill_array(double array[], short size)
{
for(short a=0;a<size;a++)
{
 cout<<"\nINPUT NUMBER: ";
 short temp;
 if(!(cin>>temp))
 {
  cin.clear();
  while(cin.get()!='\n')
   continue;
  cout<<"\nBad Input\n\n";
  break;
 }
 array[a]=temp;
}
return a;
}

void Show_array(const double array[], short size)
{
for(short a=0;a<size;a++)
 cout<<"\n"<<array[a]<<endl;
}

void Reverse_array(double array[],short size)
{
short a,b;
double temp_array;
for (a=0,b=size-1;a<size;a++,b--)
{
 temp_array=array[a];
 array[a]=array[b];
 array[b]=temp_array;
 
}

 
}

 


В частности вопросы возьникают по функции Reverse_array. Что в ней не так? sad.gif
User is offline
Go topGo end
 

Ответов(1 - 2)
15.08.2006 - 16:40
#2
Memphis04



Опытный юзверь
**

Группа: Пользователи
Сообщений: 124
Регистрация: 7.01.2006
Пользователь №: 102.010


Респектов: 5
-----X----


Предупреждений:


на мой взгляд, то не правильно организован цикл

правильнее, неверно, будет так:
int j=size-1;
for (int i=0;i temp_array=array[i];
array[i]=array[j];
array[j]=temp_array;
j--;
}
User is offline
Go topGo end
15.08.2006 - 17:17
#3
yah



профи!
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 2.336
Регистрация: 27.01.2006
Из: рнд
Пользователь №: 500


Респектов: 408
-----XXX--




Наконец-то нашел решение...

цикл надо было организовывать так:


short a,b;
double temp_array;
for (a=0,b=size-1;a {
temp_array=array[a];
array[a]=array[b];
array[b]=temp_array;

}

мемфису +1 за помощь...

Тема закрыта.
User is offline
Go topGo end

Topic Options
Сейчас: 19.05.2024 - 13:11
Мобильная версия | Lite версия