Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 16.03.2009, 19:53   #1
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
Вопрос Две задачки с масивами. С++

1). Удалить с масива все елементы которые равны min(а[1],a[3],.a[2n-1])

2). Все нечетные строки матрицы сдвинуть цыклически на К елементов влево. (Многомерный масив)
Alex1991 вне форума Ответить с цитированием
Старый 16.03.2009, 21:33   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вот вам вторая. В первой через дополнительный массив делайте.
Код:
#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;

void fun(int **M, int m, int n, int k)
{
 int i,j,l,tmp;

 if(k>=n) k %= n;
 for(i=1;i<m;i+=2)
 {
  tmp = M[i][0];
  for(l=0,j=0;l<n;l++)
   {
    if(l<n-1)
     {
     if(j+k<n)
      {
       M[i][j] = M[i][j+k];
       j = j + k;
      }
     else
      {
       M[i][j] = M[i][j+k-n];
       j = j+k-n;
      }
    } //if
    else
     M[i][j] = tmp;
   } //for j

 }

}
//--------

int main()
{
srand(time(NULL));
int **matr,i,j,m,n,k;
cout<<"Vvedite kolichestvo strok: ";
cin>>m;
cout<<"Vvedite kolichestvo stolbcov: ";
cin>>n;
matr = new int*[m];
for(i=0;i<m;i++)
 {
  matr[i] = new int[n];
  for(j=0;j<n;j++)
   {
    matr[i][j] = rand()%100;
    cout.width(4);
    cout<<matr[i][j];
   }
  cout<<endl;
 }
cout<<endl;
//--------
cout<<"Vvedite k: ";
cin>>k;
fun(matr,m,n,k);

for(i=0;i<m;i++)
 {
  for(j=0;j<n;j++)
   {
    cout.width(4);
    cout<<matr[i][j];
   }
  cout<<endl;
  delete[] matr[i];
 }
delete[] matr;

getch();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 16.03.2009, 22:27   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Ну и первая:

Код:
#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;

int minn(int* M, int n)
{
 int i,mn=1;
 for(i=1;i<n;i+=2)
  if(M[i]<M[mn]) mn=i;
 return M[mn]; 
}

int* delmin(int *M, int &n, int mn)
 {
  int *tmp,k=0,i;
  tmp = new int[n];
  for(i=0;i<n;i++)
   if(M[i]!=mn) tmp[k++]=M[i];
     
  delete[] M;
  n = k;
  return tmp;  
 }

int main()
{
srand(time(NULL)); 
int *mas,i,minel,n;
cout<<"Vvedite razmer masssiva: ";
cin>>n;
mas = new int[n];
for(i=0;i<n;i++)
 {
  mas[i] = rand()%10;
  cout<<mas[i]<<" ";
 }
cout<<endl;

minel = minn(mas,n); //получаем минимальный элемент
cout<<"Minimum: "<<minel<<endl;
mas = delmin(mas,n,minel); //удаляем минимумы

cout<<endl;
for(i=0;i<n;i++)
 cout<<mas[i]<<" ";
 
delete[] mas; 

getch();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 16.03.2009, 22:32   #4
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
По умолчанию

Sazary спасибо !! Выручил !! Хотел тебе положительный отзыв поставить но пишет :
Вы должны добавить отзыв кому-то еще, прежде чем сможете снова добавить ее Sazary.
Alex1991 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Две задачки в Делфи Lerika Помощь студентам 3 25.01.2009 17:04
Дали детям две задачки на олимпиаде по информатике O_O Каля-маля Помощь студентам 8 10.11.2008 17:29
помогите решить две задачки Виталька Помощь студентам 13 13.06.2008 10:56


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840