Найти:
Закрытый вопрос

Ответы
0 AD AD

 с помощью указателей

Ответил: _maksic_ 2 года, 7 месяцев назад | Предложить дружбу | Добавить в эксперты

Пожаловаться на ответ
2 AD AD

#include <vector>

using namespace std;

vector<int> int_array; // вектор, используемый в качестве динамического массива

void fill_array(size_t x_size, size_t y_size)

{

    for (size_t i=0; i<x_size;++i)

       for(size_t j=0; j<y_size; ++j)

           int_array.push_back(i*x_size + j);

}

 

по-хорошему, класс двумерного массива нужно писать, чтобы все красиво выглядело (т.е. инициализация с размерам, доступ по индексу с проверкой, итд)

Ответил: Vasily_VM 2 года, 7 месяцев назад | Предложить дружбу | Добавить в эксперты

Пожаловаться на ответ
2 AD AD

Двумерный массив

Вот такой исходный код С++

//Two-dimensional array.
#include <stdlib.h>
#include <iostream.h>
#include <conio.h>
int const N=100,M=100;
void input (double A[N][N],int n)
{
   int k=0;
   for (int i=0;i<n;i++)
       for (int j=0;j<n;j++)
      {
         A[i][j]=random(100);//k++;
      }
}
void print (double A[N][N],int n)
{
    for (int i=0;i<n;i++)
   {
       for (int j=0;j<n;j++)
      {
         cout.width(4);
          cout<<A[i][j]<<' ';
      }
      cout<<endl;
   }
   cout<<endl;
}
int main()
{
    double A[N][N],B[N][N];
   randomize();
   int n=5,sum=0,counter=0;
   input(A,n);
   print(A,n);
   for (int i=0;i<n;i++)
   for (int j=0;j<n;j++)
      {B[i][j]=0;
      if (i<j)
          for (int k=0;k<n;k++)
               for (int l=0;l<n;l++)
              if (k<=l&&k>=i&&l<=j)
            {
            sum+=A[k][l];
            counter++;
              }
      if (i>=j)
          for (int k=0;k<n;k++)
               for (int l=0;l<n;l++)
              if (k>=l&&k<=i&&l>=j)
            {
            sum+=A[k][l];
            counter++;
              }
         B[i][j]=sum/counter;
         sum=0;
         counter=0;
      }
      print(B,n);
 
 
 
   getch();
   return 0;
}

Двумерный массив заполняется нулями.Некоторые, случайным образом выбранные, нули заменяются на единицы. Заполнить все строки и столбцы, содержащие хотя бы одну единицу, единицами.

Вот исходный код С++

//A two-dimensional array is filled by zeroes. Some random zeroes are replaced by '1'.
//To fill all rows and columns that contain at least one '1' by ones.
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <conio.h>
const int n=5;
int mass[n][n],g,x,y;
void check(int i,int j)
{randomize();
 g=0;
 for (x=0;x<n;x++)
  if (mass[x][j]==1 && x!=i)
    g=1;
 for (y=0;y<n;y++)
  if (mass[i][y]==1 && y!=j)
    g=1;
}
void main(void)
{for (int i=0;i<n;i++)
  for (int j=0;j<n;j++)
    mass[i][j]=0;
 for (int i=0;i<=3;i++)
   mass[random(n)][random(n)]=1;
 for (int i=0;i<n;i++)
  {for (int j=0;j<n;j++)
    printf("%i",mass[i][j]);
   printf("\n");
  }
 printf("\n");
 for (int i=0;i<n;i++)
  for (int j=0;j<n;j++)
   {if (mass[i][j]==0)
      check(i,j);
    if (g==1)
      mass[i][j]=2;
    g=0;
   }
  printf("\n");
  for (int i=0;i<n;i++)
    for (int j=0;j<n;j++)
      if (mass[i][j]==2)
        mass[i][j]=1;
  for (int i=0;i<n;i++)
  {for (int j=0;j<n;j++)
    printf("%i",mass[i][j]);
   printf("\n");
  }
 getch();
}

Известны первая строка и первый столбец двумерного массива. Заполнить массив по следующему принципу: элемент равен сумме своих левого и верхнего соседей.

Вот такой исходный код С++

//The first row and the first column of a two-dimensional array are known.
//To fill the array according to the next rule:
//the element is equal to the sum of the left and top neighbours.
#include <iostream.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <conio.h>
const int n=8;
void main(void)
{randomize();
 int mass[n][n]={0};
 for (int i=0;i<n;i++)
   mass[0][i]=random(5);
 for (int j=0;j<n;j++)
   mass[j][0]=random(5);
 for (int i=0;i<n;i++)
 {
    for (int j=0;j<n;j++)
       cout<<mass[i][j]<<' ';
    cout<<endl;
 }
 for (int i=1;i<n;i++)
   for (int j=1;j<n;j++)
     mass[i][j]=mass[i][j-1]+mass[i-1][j];
 for (int i=0;i<n;i++)
  {for (int j=0;j<n;j++)
    {cout<<mass[i][j]<<' ';
     if (mass[i][j]<1000)
       cout<<' ';
     if (mass[i][j]<100)
       cout<<' ';
     if (mass[i][j]<10)
       cout<<' ';
    }
   cout<<"\n";
  }
 getch();
}

Ответил: SergEsenin 2 года, 7 месяцев назад | Предложить дружбу | Добавить в эксперты

Пожаловаться на ответ
Темы
Сообщества
Теги
.NET 1C 3D Active Directory C C#.NET C++ C++ Builder Delphi DreamSpark ERP Ethernet EXCEL firefox HTML HTML@ intuit.ru java JavaScript Linux Mac OS Microsoft Vista Microsoft Windows Microsoft Windows XP Pro Microsoft XP OpenOffice.org Pascal PHP service desk shell SQL unix web Wi-Fi Word WWW администрирование алгоритм алгоритмы английский язык анимация аппаратура архитектура ЭВМ архитектурное моделирование базы данных безопасность беспроводные технологии веб-дизайн верстка видео Видео курс видеокурсы вирусы Вопрос администрации сайта второе высшее высшее образование графика графические форматы диплом дипломы дистанционное обучение документооборот дополнительное образование естественные языки запуск программ игры интелект интеллект интернет интерфейсы интуит информатика исследования история кадры кибернетика книги командная строка компании компиляторы компоненты компьютерные сети консультанты конфиденциальность корпоративные системы криптография крэкинг курсы Локалные сети Локальная версия маршрутизация математика машииное обучение машинное обучение начинающий программист нейронные сети низкоуровневое ПО новейшие разработки новые учебные программы ноутбуки образование обучение объектно-ориентированное программирование объявления оплата оплата сертификата офис память печать пиратство поиск работы получение сертификата предложение предложения Принтеры программирование программное обеспечение проектирование работа сайта разное разработка приложение регистрация реляционные решение робот робототехника сайт сертификат сертификация сетевые операционные системы системы программирования спам текстовые редакторы текстуры телекоммуникационные сети телефония теория теория приближений трояны управление контентом учебная программа учебники учебные курсы учебные программы форматы данных цвета человеко-машинное взаимодействие электронные таблицы электронные учебники Эффективность Эффективность ИТ ядро языки программирования
Вопросы Темы Теги Сообщества Рейтинги Обратная связь Помощь © 2012, Интернет-Университет Информационных Технологий
Проект Издательства "Открытые Системы".
Партнеры: РМ Телеком, KRAFTWAY COMPUTERS.
Rambler's Top100