Консультация № 157235
10.01.2009, 18:07
0.00 руб.
0 1 1
Здравствуйте уважаемые эксперты!У меня завтра экзамен по программированию, и мне дали задания на дом, но я не знаю как написать несколько программ!будьте добры, помогите пожалуйста написать программы на языке С++!!!вот вопросы:
1)Массивы
Двумерный массив 6 на 7 повернуть вокруг среднего столбца.Ввод должен выполняться с клавиатуры
2)Функции
Создать функцию, вычисляющую НОД.Используя эту функцию найть наибольший общий делитель элементов одномерного массива из 10 элементов
3)последовательности
В последовательности целых положительных чисел найти максимальное количество идущих подряд одинаковых элементов
4)структуры
В магазин "Диета" в течение 5 дней поступили продовольственные товары 9 наименований.Известны наименование каждого вида товара, его цена и количество товара, поступившего в течение каждого дня.Вывести на экран стоимость всех товаров. поступивших в течение каждого дня.Создать структуру в глобальной области и использовать ее при написании программы.Для хранения данных использовать массив.
Буду очень благодарен, если поможете!!

Обсуждение

Неизвестный
10.01.2009, 22:36
общий
это ответ
Здравствуйте, Дианов Р.З!
Программы тестировалась на MS Visual Studio 2008

Приложение:
// Условие задачи
// Создать функцию, вычисляющую НОД.
// Используя эту функцию найть наибольший общий делитель элементов одномерного массива из 10 элементов

// Важно!!!
// Для корректного отображения русских букв в консоли
// зайдите в свойства консоли(нажав на иконке консоли в левом верхнем углу окна)
// и установите шрифт Lucida Console

#include <iostream>
#include <conio.h>
#include <windows.h>

using namespace std;

unsigned nod(unsigned a,unsigned b)
{
if(a&&b)
{
while(a!=b)
{
a=(a>b)?a-b:a;
b=(b>a)?b-a:b;
}
return a;
}
else return 0;
}

int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
unsigned arr[]={27,135,282,234,345,345,46476,456546,56967,6675};
const int N=sizeof(arr)/sizeof(int);
int res=arr[0];
for(int i=1;i<N;i++)res=nod(res,arr[i]);
cout<<"Наибольший общий делитель массива : "<<res<<endl;
_getch();
return 0;
}

// Условие задачи
// В магазин "Диета" в течение 5 дней поступили продовольственные товары 9 наименований.
// Известны наименование каждого вида товара, его цена и количество товара, поступившего в течение каждого дня.
// Вывести на экран стоимость всех товаров. поступивших в течение каждого дня.
// Создать структуру в глобальной области и использовать ее при написании программы.
// Для хранения данных использовать массив.

// Важно!!!
// Для корректного отображения русских букв в консоли
// зайдите в свойства консоли(нажав на иконке консоли в левом верхнем углу окна)
// и установите шрифт Lucida Console

#include <limits>
#include <iostream>
#include <conio.h>
#include <string>
#include <windows.h>
#ifdef max
#undef max
#endif

using namespace std;

struct good
{
string name;
double price;
unsigned count;
};

const int namesNum=3;
const int daysNum=2;

int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
string names[namesNum];
cout<<"Введите наименования товаров."<<endl;
for(int i=0;i<namesNum;i++)
{
cout<<"Введите наименование "<<i+1<<" товара"<<endl;
getline(cin,names[i]);
};
good goods[daysNum][namesNum];
for(int day=0;day<daysNum;day++)
{
cout<<"Введите информацию по товарам в "<<day+1<<" день"<<endl;
for(int name=0;name<namesNum;name++)
{
cout<<"Информация по товару : "<<names[name]<<endl;
goods[day][name].name=names[name];
cout<<"Цена : ";
cin>>goods[day][name].price;
cout<<"Количество : ";
cin>>goods[day][name].count;
};
};
cout<<"Стоимость товаров:"<<endl;
for(int day=0;day<daysNum;day++)
{
cout<<"За "<<day+1<<"-й день ";
double cost=0;
for(int name=0;name<namesNum;name++)cost+=goods[day][name].count*goods[day][name].price;
cout<<cost<<"(руб)"<<endl;
};
_getch();
return 0;
}
Форма ответа