Помогите пожалуйста с С++
Создана: 04 Декабря 2008 Чтв 7:19:33.
Раздел: "Нужна помощь"
Сообщений в теме: 11, просмотров: 1315
-
вообщем скоро сессия,и я не успею сдать сдать задачи,помогите пожалуйста если не трудно решить 2 простые задачи
Задать массив А(5,5) с помощью генератора случайных чисел в интервале [-10; 40].Поменять местами наибольший и наименьший элементы матрицы каждого столбца
Создать массив С(6,6) с помощью генератора случайных чисел в интервале [-20; 60].Сформировать одномерный массив из элементов созданного двумерного массива по заданному признаку: каждый элемент, которого равен сумме элементов соответствующей строки, меньших числа n;
заранее огромное спасибо -
Первая:
Код:
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
// генератор случайных чисел от Min до Max
int GetRandom(int Min, int Max)
{
int n;
if(Min>Max) {
n=Max;
Max=Min;
Min=n;
} else
if(Min==Max)
return Min;
n = Max - Min;
return (rand() * n / RAND\_MAX + Min);
}
int main(void)
{
int a[5][5];
int i, j, n;
int iMin, iMax;
// Задаем массив случайных чисел:
srand( (unsigned)time(NULL) );
cout<<"Array A(5,5) with random values [-10..40]:\n";
for(j=0; j<5; j++)
{
for(i=0; i<5; i++)
{
a[i][j] = GetRandom(-10, 40);
if(a[i][j] < -9)
cout<<" ";
else
if( (a[i][j] >= 0) && (a[i][j] < 10))
cout<<" ";
else
cout<<" ";
cout<<a[i][j];
}
cout<<"\n";
}
cout<<"\n";
// Поменять местами наибольший и наименьший элементы матрицы каждого столбца
for (i=0; i<5; i++)
{
iMin=0;
iMax=0;
for (j=0; j<5; j++)
{
if(a[i][j]<a[i][iMin])
iMin=j;
if(a[i][j]>a[i][iMax])
iMax=j;
}
n=a[i][iMin];
a[i][iMin]=a[i][iMax];
a[i][iMax]=n;
}
// Выводим на экран новый массив:
cout<<"New array A(5,5):\n";
for(j=0; j<5; j++)
{
for(i=0; i<5; i++)
{
if(a[i][j] < -9)
cout<<" ";
else
if( (a[i][j] >= 0) && (a[i][j] < 10))
cout<<" ";
else
cout<<" ";
cout<<a[i][j];
}
cout<<"\n";
}
return 0;
}
Вторая:
Код:
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
// генератор случайных чисел от Min до Max
int GetRandom(int Min, int Max)
{
int n;
if(Min>Max) {
n=Max;
Max=Min;
Min=n;
} else
if(Min==Max)
return Min;
n = Max - Min;
return (rand() * n / RAND\_MAX + Min);
}
int main(void)
{
int с[6][6];
int b[6];
int n;
int i, j;
int iSum;
// Задаем массив случайных чисел:
srand( (unsigned)time(NULL) );
cout<<" Array С(6,6) with random values [-20..60]:\n";
for(j=0; j<6; j++)
{
for(i=0; i<6; i++)
{
с[i][j] = GetRandom(-20, 60);
if(с[i][j] < -9)
cout<<" ";
else
if( (с[i][j] >= 0) && (с[i][j] < 10))
cout<<" ";
else
cout<<" ";
cout<<с[i][j];
}
cout<<"\n";
}
cout<<"\n";
// Ввод числа n:
cout<<" Enter n value and press Enter: n=";
cin>>n;
// Формирование нового массива:
for (j=0; j<6; j++)
{
iSum=0;
for (i=0; i<6; i++)
{
if(с[i][j]<n)
iSum+=с[i][j];
}
b[j]=iSum;
}
// Выводим на экран новый массив:
cout<<"\n New array B(6):\n";
for(i=0; i<6; i++)
{
cout<<" "<<b[i];
}
return 0;
}
-
-
-
userlogoff писал :1. Зря ты помог челу, к-ый учится НА ТАКОЙ специальности :)
2. Там С++ и не пахнет, походу :)
я на самом деле и сам мог написать,но я не смог сформировать условие чтобы для формирования нового массива -
Парень, но это и не повод для гордости, верно? :)
Ну если хочешь реабилитироваться, и все-таки написать прогу на С++, то попробуй соорудить из приведенного выше кода класс, напиши пару конструкторов и определения функций-членов. Вот тогда это будет СИ+плюс-плюс :) -
cherms писал :гнать таких из Вузов надо!
ну.. как вы строго..
может парень ещё Бил гейца переплюнет..
дайте время - реализоваться
\сейчас то для студента главное на месте продержаться\
а так конечно если человек не хочет то не чего не выйдет..
нет вернее выйдет))) но пожожое что то на то что выхожит с заднего...))))
время покажет.
\а дуроков больше чем достаточно - с этим согласен\