#include "stdafx.h"
#include <iostream>
#include <time.h>
using namespace std;
const int m=7;
int main()
{
srand(time(NULL));
int **x = new int* [m];
for(int i=0; i<m; i++)//задание матрицы рандомными значениями и вывод на экран
{
x = new int[m];
for(int j=0; j<m; j++)
{
x[j]=rand()%100;
cout << x[j]<<' ';
}
cout << endl;
}
.....
return 0;
}
1)Структурный тип данных на языке 2) Двоичные файлы. 3)Динамические массивы(c++)
1)Сформировать массив, содержащий сведения об ассортименте обуви в магазине фирмы. Структурный тип содержит поля: артикул, наименование, количество, стоимость одной пары. Артикул начинается с буквы Д – для дамской обуви, М – для мужской, П – для детской.
Написать программу, выдающую информацию:
- о наличии и стоимости обуви артикула X;
- ассортиментный список дамской обуви с указанием наименования и имеющегося в наличии числа пар каждой модели.
2)Переписать данный файл типа real, поместив в него сначала положительные, затем отрицательные элементы файла.
3)В данной матрице 7х7 определить координаты точек, которые будучи максимальными в своей строке, являются максимальными и в своем столбце. Сформировать массив из полученных значений.
Ваш запрос удовлетворён, разрешение получено. Вы можете приступить к выполнению задания.
#include <string.h>
#include <iostream>
# include <iomanip>
using namespace std;
struct assortiment
{
char articul[20];
int kolichestvo;
char name[10];
int stoimoct ;
char nalichie[10];
};
void main(void)
{ const int g=3;
assortiment b[g],b_new[g];
for(int i=0; i<g; i++)
{ cout<<"articul:";
cin>>setw(3)>>b.articul;
cout<<"naimenovanie:";
cin>>setw(5)>>b.name;
cout<<"stoimoct odnoi pari:";
cin>>b.stoimoct;
cout<<"koichestvo:";
cin>>b.kolichestvo;
cout<<endl;
}
for(int i=0; i<1; i++)
{
cout<<"articul:"<<"X"<<endl;
cout<<"nalichie:"<<"yes"<<endl;
cout<<"stoimoct odnoi pari:"<<4500<<endl;
cout<<endl;
}
for(int i=0; i<1; i++)
{
cout<<"articul:"<<"D"<<endl;
cout<<"naimenovanie:"<<"sportivnai obuv"<<endl;
cout<<"naimenovanie:"<<"tufli"<<endl;
cout<<"naimenovanie:"<<"sapogi"<<endl;
cout<<"koichestvo:"<<1<<endl;
cout<<"koichestvo:"<<4<<endl;
cout<<"koichestvo:"<<5<<endl;
cout<<endl;
}
}
#include "stdafx.h"
#include <iostream>
#include <time.h>
using namespace std;
const int m=7;
int main()
{
srand(time(NULL));
int x[m][m];
for(int i=0; i<m; i++)//задание матрицы рандомными значениями и вывод на экран
{
for(int j=0; j<m; j++)
{
x[j]=rand()%100;
cout << x[j]<<' ';
}
cout << endl;
}
cout << endl;
int a[4][m], z=0;
for(int i=0; i<m; i++)//нахождение максимального значения в строках и его координат
{
z=0;
for(int j=0; j<m; j++)
{
if(j==0)
{
z=x[j];
a[0]=i;
a[1]=j;
}
if(z<x[j])
{
z=x[j];
a[0]=i;
a[1]=j;
}
}
}
for(int j=0; j<m; j++)//нахождение максимального значения в столбцах и его координат
{
z=0;
for(int i=0; i<m; i++)
{
if(i==0)
{
z=x[j];
a[2][j]=i;
a[3][j]=j;
}
if(z<x[j])
{
z=x[j];
a[2][j]=i;
a[3][j]=j;
}
}
}
for(int i=0; i<4; i++)//вывод получившихся координат элементов максимальных элементов
{
for(int j=0; j<m; j++)
{
cout << a[j]<<' ';
}
cout << endl;
}
cout << endl;
for(int i=0; i<m; i++)
{
for(int j=0; j<m; j++)
{
if(a[0]==a[2][j]&&a[1]==a[3][j])//если координаты в строке и столбце совпадают
{
cout << "Element ["<< a[0]<<"]["<< a[1] <<"]"<<endl;//выводим координаты на экран
}
}
}
return 0;
}
Цитата: jenoid
1) Скажите пожалуйста,это программа правильно написана?
#include <string.h>
#include <iostream>
# include <iomanip>
using namespace std;
struct assortiment
{
char articul[20];
int kolichestvo;
char name[10];
int stoimoct ;
char nalichie[10];
.....................................
cout<<"koichestvo:"<<4<<endl;
cout<<"koichestvo:"<<5<<endl;
cout<<endl;
}
}
#include <string.h>
#include <iostream>
# include <iomanip>
using namespace std;
struct assortiment
{
char articul[20];
int kolichestvo;
char name[10];
int stoimoct ;
char nalichie[10];
.....................................
cout<<"koichestvo:"<<4<<endl;
cout<<"koichestvo:"<<5<<endl;
cout<<endl;
}
}
я думаю что как-то так должно быть:
Код:
#include <iostream>
using namespace std;
struct assortiment
{
char articul[10];
char name[20];
int kolichestvo;
int stoimoct ;
};
void main(void)
{
const int n = 3;
assortiment *b = new assortiment[n];
for(int i=0; i<n; i++)
{
cout<<"****Vvod informacii o "<<i+1<<" tipe obuvi****\n";
cout<<"Articul: ";
cin>>b.articul;
cout<<"Naimenovanie: ";
cin>>b.name;
cout<<"Stoimoct odnoi pari: ";
cin>>b.stoimoct;
cout<<"Koichestvo: ";
cin>>b.kolichestvo;
cout<<endl;
}
// 1. наличие и стоимость обуви артикула X;
char art; //X
cout<<"\nVvedite bukvu artikula (d,m,p): ";
cin>>art;
cout<<"\nAssortiment obuvi s artikulom nachin. na "<<art<<endl;
for (int i=0; i<n; i++)
{
if (b.articul[0]==art)
{
cout<<"Naimenovanie: "<<b.name<<endl;
cout<<"Stoimoct odnoi pari: "<<b.stoimoct<<endl;
cout<<"Koichestvo: "<<b.kolichestvo<<endl;
}
}
//2. ассортиментный список дамской обуви с указанием наименования и имеющегося в наличии числа пар каждой модели
cout<<"\nAssortiment damskoi obuvi:\n";
for (int i=0; i<n;i++)
{
if (b.articul[0]=='d')
{
cout<<"Naimenovanie: "<<b.name<<endl;
cout<<"Stoimoct odnoi pari: "<<b.stoimoct<<endl;
cout<<"Koichestvo: "<<b.kolichestvo<<endl;
}
}
delete[] b;
}
}
using namespace std;
struct assortiment
{
char articul[10];
char name[20];
int kolichestvo;
int stoimoct ;
};
void main(void)
{
const int n = 3;
assortiment *b = new assortiment[n];
for(int i=0; i<n; i++)
{
cout<<"****Vvod informacii o "<<i+1<<" tipe obuvi****\n";
cout<<"Articul: ";
cin>>b.articul;
cout<<"Naimenovanie: ";
cin>>b.name;
cout<<"Stoimoct odnoi pari: ";
cin>>b.stoimoct;
cout<<"Koichestvo: ";
cin>>b.kolichestvo;
cout<<endl;
}
// 1. наличие и стоимость обуви артикула X;
char art; //X
cout<<"\nVvedite bukvu artikula (d,m,p): ";
cin>>art;
cout<<"\nAssortiment obuvi s artikulom nachin. na "<<art<<endl;
for (int i=0; i<n; i++)
{
if (b.articul[0]==art)
{
cout<<"Naimenovanie: "<<b.name<<endl;
cout<<"Stoimoct odnoi pari: "<<b.stoimoct<<endl;
cout<<"Koichestvo: "<<b.kolichestvo<<endl;
}
}
//2. ассортиментный список дамской обуви с указанием наименования и имеющегося в наличии числа пар каждой модели
cout<<"\nAssortiment damskoi obuvi:\n";
for (int i=0; i<n;i++)
{
if (b.articul[0]=='d')
{
cout<<"Naimenovanie: "<<b.name<<endl;
cout<<"Stoimoct odnoi pari: "<<b.stoimoct<<endl;
cout<<"Koichestvo: "<<b.kolichestvo<<endl;
}
}
delete[] b;
}
}
Спасибо!
Цитата: jenoid
Помогите пожалуйста сделать.
2)Переписать данный файл типа real, поместив в него сначала положительные, затем отрицательные элементы файла.
2)Переписать данный файл типа real, поместив в него сначала положительные, затем отрицательные элементы файла.
чет загрузить сюда архив с лабой не получилось, вот код:
Код:
#include <iostream>
#include <fstream>
#define n 5
using namespace std;
void main()
{
fstream in_put;
in_put.open("file.txt",ios::in);//открываем файл
float mas[n]; //массив для хранения файла
//считываем из файла
for (int i=0; i<n; i++)
{
in_put>>mas;
}
in_put.close(); //закрываем файл
//сортировка массива по убыванию
for (int i=n-1; i>0; i--)
{
for (int j=0; j<i; j++)
{
if (mas[j]<mas[j+1])
{
float temp = mas[j];
mas[j]=mas[j+1];
mas[j+1]=temp;
}
}
}
for (int i=0; i<n; i++)
{
cout<<mas<<endl;
}
//запись в файл
fstream out_put;
out_put.open("file.txt",ios::out);
for (int i=0; i<n; i++)
{
out_put<<mas<<endl;
}
out_put.close();
}
#include <fstream>
#define n 5
using namespace std;
void main()
{
fstream in_put;
in_put.open("file.txt",ios::in);//открываем файл
float mas[n]; //массив для хранения файла
//считываем из файла
for (int i=0; i<n; i++)
{
in_put>>mas;
}
in_put.close(); //закрываем файл
//сортировка массива по убыванию
for (int i=n-1; i>0; i--)
{
for (int j=0; j<i; j++)
{
if (mas[j]<mas[j+1])
{
float temp = mas[j];
mas[j]=mas[j+1];
mas[j+1]=temp;
}
}
}
for (int i=0; i<n; i++)
{
cout<<mas<<endl;
}
//запись в файл
fstream out_put;
out_put.open("file.txt",ios::out);
for (int i=0; i<n; i++)
{
out_put<<mas<<endl;
}
out_put.close();
}
Пример заполнения файла:
1.3
4.2
2.5
-4.2
1.0
Но можно и в строчку через пробел