#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
char buf[100];
int N;
int* array;
char str[3];
char* rev;
void message(const char* msg)
{
CharToOem(msg, buf);
cout<<buf;
}
int RangedRand( int range_min, int range_max)
{
return (double)rand()/(RAND_MAX+1)*(range_max-range_min)+range_min;
}
int main(void)
{
message("Введите размерность массива: ");
cin>>N;
array=(int*)malloc(N*sizeof(int));
message("Заполнение массива случайными числами: ");
cout<<endl;
srand(9);
for (int i=0; i<N; i++)
{
array=RangedRand(10, 10000);
cout<<array<<" ";
}
cout<<endl;
message("Преобразованный массив:");
cout<<endl;
for (int i=0; i<N; i++)
{
_itoa(array, str, 10);
rev=strrev(str);
array=atoi(rev);
cout<<array<<" ";
}
delete [] array;
getch();
return 0;
}
Лабораторная С++ (нужна помощь..((
этого: 451 52 86 3 935 1216 15
сделает: 154 25 68 3 539 6121 51
2. Матрица X[n]. n≤100. составляющие - целые 2-х значные числа. Напишите программу которая выбирает и сортирует по возрастанию числа которые встречаются 1 раз в матрице, и которая отдельно выбирает и сортирует по возрастанию числа которые встречаются больше 1-го раза в матрице.
3. Напишите программу которая строит "Латинский квадрат". "Латинский Квадрат" это матрица размеров n*n, состоящий из чисел от 1 до n, n≤10:
пример:
1 2 3 4 5
5 1 2 3 4
4 5 1 2 3
3 4 5 1 2
2 3 4 5 1
4. Матрица A[n][m], n,m≤20. состоящая из целых чисел. Напишите программу которая вычисляет во скольких строках находится "0".
5. Матрица A[n][n] целых элементов, где n≤20. Если элементы главной диагонали соответсвенно равны элемантам второй диагонали, тогда отсортируйте по возрастанию элементы главной диагонали, если нет, тогда выявите минимальные элементы кажной колонки.
Люди, помогите... половину решил, остались эти, которые уже два дня не могу решить, а лабу скоро сдавать...
Скриншот:
[ATTACH]3214[/ATTACH]
Код:
Скриншот:
[ATTACH]3215[/ATTACH]
Код:
#include <iostream.h>
#include <conio.h>
#include <windows.h>
#include <stdlib.h>
#define N 10
char buf[50];
int array[N];
int latquads[N][N];
void message(const char* msg)
{
CharToOem(msg, buf);
cout<<buf<<endl;
}
int RangedRand( int range_min, int range_max)
{
return rand()*(range_max-range_min)/32768+range_min;
}
int main(void)
{
message("Генерация исходного массива:");
for (int i=0; i<N; i++)
{
array=RangedRand(1, 10);
cout<<array<<" ";
}
cout<<endl<<endl;
message("\"Латинский квадрат\":");
for (int i=0; i<N; i++)
for (int j=i; j<N; j++)
latquads[j]=array[j-i];
for (int i=0; i<N; i++)
for (int j=0; j<i; j++)
latquads[j]=array[N-i+j];
for (int i=0; i<N; i++)
{
for (int j=0; j<N; j++)
cout<<latquads[j]<<" ";
cout<<endl;
}
getch();
return 0;
}
#include <conio.h>
#include <windows.h>
#include <stdlib.h>
#define N 10
char buf[50];
int array[N];
int latquads[N][N];
void message(const char* msg)
{
CharToOem(msg, buf);
cout<<buf<<endl;
}
int RangedRand( int range_min, int range_max)
{
return rand()*(range_max-range_min)/32768+range_min;
}
int main(void)
{
message("Генерация исходного массива:");
for (int i=0; i<N; i++)
{
array=RangedRand(1, 10);
cout<<array<<" ";
}
cout<<endl<<endl;
message("\"Латинский квадрат\":");
for (int i=0; i<N; i++)
for (int j=i; j<N; j++)
latquads[j]=array[j-i];
for (int i=0; i<N; i++)
for (int j=0; j<i; j++)
latquads[j]=array[N-i+j];
for (int i=0; i<N; i++)
{
for (int j=0; j<N; j++)
cout<<latquads[j]<<" ";
cout<<endl;
}
getch();
return 0;
}
Скриншот:
[ATTACH]3216[/ATTACH]
Код:
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
char buf[50];
int* parray;
int** array;
int N, M;
int count;
void message(const char* msg)
{
CharToOem(msg, buf);
cout<<buf;
}
int main(void)
{
message("Введите размерность массива NxM:");
cin>>N>>M;
cout<<endl;
array=(int**)malloc(N*sizeof(int*));
parray=(int*)malloc(M*N*sizeof(int));
for (int i=0; i<N; i++)
*(array+i)=parray+i*M;
message("Заполните массив:");
cout<<endl;
for (int i=0; i<N; i++)
for (int j=0; j<M; j++)
cin>>array[j];
for (int i=0; i<N; i++)
for (int j=0; j<M; j++)
if (array[j]==0)
{
count++;
break;
}
message("Нуль встречается в ");
cout<<count<<" ";
message("строках");
getch();
return 0;
}
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
char buf[50];
int* parray;
int** array;
int N, M;
int count;
void message(const char* msg)
{
CharToOem(msg, buf);
cout<<buf;
}
int main(void)
{
message("Введите размерность массива NxM:");
cin>>N>>M;
cout<<endl;
array=(int**)malloc(N*sizeof(int*));
parray=(int*)malloc(M*N*sizeof(int));
for (int i=0; i<N; i++)
*(array+i)=parray+i*M;
message("Заполните массив:");
cout<<endl;
for (int i=0; i<N; i++)
for (int j=0; j<M; j++)
cin>>array[j];
for (int i=0; i<N; i++)
for (int j=0; j<M; j++)
if (array[j]==0)
{
count++;
break;
}
message("Нуль встречается в ");
cout<<count<<" ";
message("строках");
getch();
return 0;
}
Скриншоты:
[ATTACH]3217[/ATTACH] [ATTACH]3218[/ATTACH]
Код:
#include <conio.h>
#include <iostream.h>
#include <windows.h>
#include <stdlib.h>
char buf[100];
int N;
int* parray=NULL;
int** array=NULL;
bool b=true;
int min=0;
void message(const char* msg)
{
CharToOem(msg, buf);
cout<<buf;
}
int main(void)
{
message("Введите размерность для динамического массива: ");
cin>>N;
cout<<endl;
array=(int**)malloc(N*sizeof(int*));
parray=(int*)malloc(sizeof(int)*N*N);
for (int i=0; i<N; i++)
*(array+i)=parray+i*N;
message("Заролните массив:");
cout<<endl;
for (int i=0; i<N; i++)
for (int j=0; j<N; j++)
cin>>*(*(array+i)+j);
for (int i=0, k=N-1; i<N; i++, k--)
{
if (!b)
break;
if (array!=array[k])
{
b=false;
break;
}
}
if (!b)
{
message("Элементы главной диагонали не равны элементам побочной диагонали");
cout<<endl;
for (int j=0; j<N; j++)
{
min=array[0][j];
for (int i=0; i<N; i++)
if (array[j]<min)
min=array[j];
cout<<min<<" ";
}
}
else
{
message("Элементы главной диагонали равны элементам побочной диагонали");
cout<<endl;
for (int i=0; i<N; i++)
{
min=array;
for (int j=i; j<N; j++)
if (array[j][j]<array)
{
min=array;
array=array[j][j];
array[j][j]=min;
}
}
//Вывод массива с отсортированной главной диагональю
for (int i=0; i<N; i++)
{
for (int j=0; j<N; j++)
cout<<array[j]<<" ";
cout<<endl;
}
}
delete [] parray;
getch();
return 0;
}
#include <iostream.h>
#include <windows.h>
#include <stdlib.h>
char buf[100];
int N;
int* parray=NULL;
int** array=NULL;
bool b=true;
int min=0;
void message(const char* msg)
{
CharToOem(msg, buf);
cout<<buf;
}
int main(void)
{
message("Введите размерность для динамического массива: ");
cin>>N;
cout<<endl;
array=(int**)malloc(N*sizeof(int*));
parray=(int*)malloc(sizeof(int)*N*N);
for (int i=0; i<N; i++)
*(array+i)=parray+i*N;
message("Заролните массив:");
cout<<endl;
for (int i=0; i<N; i++)
for (int j=0; j<N; j++)
cin>>*(*(array+i)+j);
for (int i=0, k=N-1; i<N; i++, k--)
{
if (!b)
break;
if (array!=array[k])
{
b=false;
break;
}
}
if (!b)
{
message("Элементы главной диагонали не равны элементам побочной диагонали");
cout<<endl;
for (int j=0; j<N; j++)
{
min=array[0][j];
for (int i=0; i<N; i++)
if (array[j]<min)
min=array[j];
cout<<min<<" ";
}
}
else
{
message("Элементы главной диагонали равны элементам побочной диагонали");
cout<<endl;
for (int i=0; i<N; i++)
{
min=array;
for (int j=i; j<N; j++)
if (array[j][j]<array)
{
min=array;
array=array[j][j];
array[j][j]=min;
}
}
//Вывод массива с отсортированной главной диагональю
for (int i=0; i<N; i++)
{
for (int j=0; j<N; j++)
cout<<array[j]<<" ";
cout<<endl;
}
}
delete [] parray;
getch();
return 0;
}
P.S. Интересен тот факт, что когда я только начинал писать (а использую я среду MinGW Studio) после компиляции следующих строк кода Debug-версии:
Код:
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
int main(void)
{
return 0;
}
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
int main(void)
{
return 0;
}
Цитата:
D:\help1\Debug\help1.exe - инфицирован Trojan.Shutdown.126
что свидетельствует о том, что только что скомпилированный файл якобы инфицирован... Мда... И такое бывает... :)