0 / 0 / 0
Регистрация: 11.11.2014
Сообщений: 10
1

Заполнение массива

11.11.2014, 23:01. Показов 2227. Ответов 37
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста заполнить массив таким образом, или хотя бы подскажите алгоритм) Заранее благодарен...
Миниатюры
Заполнение массива  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.11.2014, 23:01
Ответы с готовыми решениями:

Ввод двумерного массива, ввод размерности массива, заполнение массива случайными числами
#include "stdafx.h" #include "locale.h" #include "stdlib.h" #include "math.h" void main() ...

Заполнение массива значениями из символьного массива
есть массив символов char z;есть целочисленный массив int b;каждый символ z это цифра 0-9 нужно в...

Заполнение массива
Заполнить массив двадцатью первыми натуральными числами, делящимися нацело на 13 или на 17 и...

Заполнение массива
Как заполнить массив? Вот что получилось: #include <stdio.h> #include <conio.h> #include...

37
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
12.11.2014, 00:23 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от raister32 Посмотреть сообщение
но в данном случае можно и так
Буду третьим говорящим:"Нет! Нельзя! Автоматом нужно!"
0
6 / 6 / 6
Регистрация: 16.12.2013
Сообщений: 69
12.11.2014, 00:24 22
KitoChimoto, в данном случае на не опытными)
0
19 / 19 / 9
Регистрация: 15.09.2014
Сообщений: 127
12.11.2014, 00:27 23
raister32, еще раз. Я учусь в универе на первом курсе. Я знаю, что такое плохой программист и знаю, что это очень частый случай. Если ты реально не шутишь, то мои соболезнования.

Добавлено через 1 минуту
TheCalligrapher, а теперь представь, что ты подходишь к преподу и начинаешь объяснять разницу между
цифрами и числами. Мои преподы либо сразу в игнор, либо истерят немного.
0
6 / 6 / 6
Регистрация: 16.12.2013
Сообщений: 69
12.11.2014, 00:28 24
ReinDeer, думай как пожелаешь, твое право.
0
19 / 19 / 9
Регистрация: 15.09.2014
Сообщений: 127
12.11.2014, 00:28 25
raister32, просто если у тебя такие шутки, то ты форумом ошибся.
0
86 / 43 / 11
Регистрация: 19.10.2013
Сообщений: 157
12.11.2014, 00:29 26
Цитата Сообщение от ReinDeer Посмотреть сообщение
Я учусь в универе на первом курсе
ну от того кто на каком курсе универа! в голове больше ума не станет! ибо можно числится в ПТУ и не вылизать из-за учебников! а можно просто сидеть на парах в универе!
0
ReinDeer
12.11.2014, 00:31
  #27

Не по теме:

KitoChimoto, согласен, я имел ввиду сам факт того, что я среди людей, которые пошли учиться на программиста, которые не хотят стать программистом и которые в глубочайшей жопе, из-за стереотипа геймер=программист

0
0 / 0 / 0
Регистрация: 11.11.2014
Сообщений: 10
12.11.2014, 00:36  [ТС] 28
Жесть пацаны) смысл задания в том чтобы заполнить его этими числами используя алгоритм, а не просто наполнить числами, я сам сделал пока тока чтобы по столбцам массив заполнялся по возрастанию и чередовались стороны, но вот как с нулями решить вопрос, не могу понять...
0
TheCalligrapher
12.11.2014, 00:38
  #29

Не по теме:

Цитата Сообщение от aleshka Посмотреть сообщение
Жесть пацаны)
Жесть еще в том, что препод, редиска, дал текст задания повернутым на 90 градусов. Очень неудобно читать...

0
0 / 0 / 0
Регистрация: 11.11.2014
Сообщений: 10
12.11.2014, 00:41  [ТС] 30
не говори ка....сам испытываю затруднение,читая так, каждый раз
0
86 / 43 / 11
Регистрация: 19.10.2013
Сообщений: 157
12.11.2014, 00:50 31
Лучший ответ Сообщение было отмечено aleshka как решение

Решение

Цитата Сообщение от aleshka Посмотреть сообщение
как с нулями решить вопрос,
ну например делаешь
условие Если (номер столбца меньше количества столбцов/2){Если (номер строки меньше номера столбца или номер строки больше кол-во строк минус номер столбца)то пишешь ноль; иначе пишешь переменную которая с каждым шагом увеличивается на 1; }

вобщем если не догнал то завтра на свежую голову могу что-нибудь накатать!
0
0 / 0 / 0
Регистрация: 11.11.2014
Сообщений: 10
12.11.2014, 00:55  [ТС] 32
щас слова в код переведу и узнаем догнал ли я)), но все равно спасибо большое)
0
86 / 43 / 11
Регистрация: 19.10.2013
Сообщений: 157
12.11.2014, 00:58 33
Цитата Сообщение от aleshka Посмотреть сообщение
щас слова в код переведу
кстате будь внимателен это алгоритм для левой староны массива! в правой все по другому!
1
0 / 0 / 0
Регистрация: 11.11.2014
Сообщений: 10
12.11.2014, 01:08  [ТС] 34
работает) щас для правой напишу)) еще раз спасибо огромное!
0
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
12.11.2014, 01:52 35
Лучший ответ Сообщение было отмечено aleshka как решение

Решение

aleshka, наговнокодил, но вот так как-то
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <iomanip>
 
int main()
{
    const int n = 6;
    int count = 1;
    int array[n][n] = {0};
    for (int i = 0; i < n; ++i)
    {
        int j, k;
        if (i < n/2)
        {
            j = i & 1 ? i : n-1-i;
            k = i & 1 ? 1 : -1;
            for (;(i&1 ? j<n-i : j>=i); j+=k)
                array[j][i] = count++;
        }
        else 
        {
            j = i & 1 ? n-i-1 : i;
            k = i & 1 ? 1 : -1;
            for (;(i&1 ? j<=i : j>=n-1-i); j += k)
                array[j][i] = count++;
        }
    }
    for (int i = 0; i < n; ++i)
    {
        for (int j = 0; j < n; ++j)
            std::cout << std::setw(3) << array[i][j];
        std::cout << std::endl;
    }
}
1
0 / 0 / 0
Регистрация: 11.11.2014
Сообщений: 10
12.11.2014, 02:05  [ТС] 36
Kerry_Jr, и тебе спасибо огромное, добрый друг))
0
11 / 11 / 10
Регистрация: 16.12.2013
Сообщений: 66
12.11.2014, 04:01 37
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <iomanip>
 
 
using namespace std;
 
 const int n=6;
 
 void printArray( int arr[][6] );
 
int main()
{
    setlocale (0,"");
    
    int arr[n][n]={0};
 
 
     int i=0;
     int value1=6;
     int value2=19;
      
      do
      {
      arr[i][0]=value1--;
      arr[i++][5]=value2++;
      } while ( i!=6 );
      
     
      int value3=7;
      int value4=18;
      i=1;
 
      do 
      {
          arr[i][1]=value3++;
          arr[i++][4]=value4--;
      } while (i!=5);
 
      arr[2][2]=12;
      arr[2][3]=13;
      arr[3][2]=11;
      arr[3][3]=14;
 
    system ("pause");       
    return 0;
}
0
86 / 43 / 11
Регистрация: 19.10.2013
Сообщений: 157
13.11.2014, 01:52 38
Я наверное опоздал и тема уже закрыта, но меня заинтересовала эта задача и я решил опробовать свои силы в её решении!(выложить решение раньше не мог так как не было доступа к интернету). Смотря на варианты изложенные выше напрашивается такие соображения: у Kerry Jr вроде бы какой-то алгоритм и есть но он заточен под конкретно этот массив и все, а за такой код как у Blagodetel`я вообще нужно бить палкой! мой код универсален тем что может работать с любыми размерами массивов, для этого нужно лишь изменить одну переменную в начале кода, а также заполнять змейку может начинать с любого числа указанного также в начале кода! И в завершении всего этого готовый массив красиво выводится в консоле. Как говорится "код в студию!":
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
//программа заполнения квадратного массива змейкой по вертикали и сужением в центре
//размер массива от 3х3 и теоретически до бесконечности,
//но для нормального отбражения в консоле рекомендую не больше 20х20
//Автор <KitoChimoto> специально для CyberForum.ru
#include <vcl.h>
#pragma hdrstop
#pragma argsused
#include<iostream.h>
//-----------------------------------------------------------------------------
int counter=1; //счетчик с которого начинается заполнение массива
const int size=20;//кол-во строк и столбцов
int mas[size][size];//массив для заполнения
void main()//начало основной программы
{
 for(int i=0;i<size;i++)//цикл перебирающий по столбикам массива
 {
   if(i%2==0)//проверка на четность/нечетность столика
   {
     for(int j=size-1;j>=0;j--)//цикл перебирающий по строкам массива
     {
      if(i<size/2)//если столбик в левой стороне массива
      {
        if(j<i || j>size-i-1)mas[j][i]=0;//если номер строки меньше номера столбика
        // или номер строки больше кол-во строк минус номер стобика - 1 то пишем ноль
        else{mas[j][i]=counter;counter+=1;}//иначе пишем значение счетчика и увеличиваем его на 1
      }
      if(i>=size/2)//если столбик в правой стороне массива
      {
        if(j<size-i-1 || j>=size-(size-i-1))mas[j][i]=0;
        else{mas[j][i]=counter;counter+=1;}
      }
     }
   }
   else //если столбики нечетные
   {
     for(int j=0;j<size;j++)//перебираем строки
     {
      if(i<size/2)//если столбик в левой стороне массива
      {
        if(j<i || j>size-i-1)mas[j][i]=0;
        else{mas[j][i]=counter;counter+=1;}
      }
      if(i>=size/2)//если столбик в правой стороне массива
      {
        if(j<size-i-1 || j>=size-(size-i-1))mas[j][i]=0;
        else{mas[j][i]=counter;counter+=1;}
      }
     }
   }
 }
 
 for(int i=0;i<size;i++)//вывод массива на экран
 { cout<<"\n";  //каждую новую строку массива начинаем с новой строки экрана
  for(int j=0;j<size;j++)
  {//далее махинации с выводом цифр для того чтоб массив выглядел красиво
   if(mas[i][j]<=9)cout<<mas[i][j]<<"   ";//если число однозначное то после него ставим 3 пробела
   if(mas[i][j]>9 & mas[i][j]<=99)cout<<mas[i][j]<<"  ";//двузначное - 2 пробела
   if(mas[i][j]>99) cout<<mas[i][j]<<" ";//трехзначное - 1 пробел
  }
 }
 int x; //махинации чтоб окно консоли не закрывалось после выполнения программы
 cin>>x;
}
и на остаток скрин
Заполнение массива
1
13.11.2014, 01:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2014, 01:52
Помогаю со студенческими работами здесь

Заполнение массива
Даны числа от 0 до 15 (включительно), нужно записать их в одномерный массив в рандомном порядке,...

Заполнение массива
Доброго времени суток всем:) Прошу немного помощи. Дали лабу на заполнение массива, а я не умею...

Заполнение массива
Помогите, пожалуйста, решить такую задачу: Нужно заполнить массив 6*6 цифрами от 1 до 36 по...

Заполнение массива
Имею данные вводимые с консоли (до закрытия потока CTRL Z) и заранее мне известно только количество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
38
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru