Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
heroii2009
16 / 6 / 0
Регистрация: 13.03.2012
Сообщений: 196
#1

Консольный С++ Заполнение массива - C++

06.12.2012, 14:19. Просмотров 592. Ответов 14

Доброго времени суток, вот проблема, вот сижу и думаю как заполнить массив согласно таблице
0 1 0 0 1
0 0 1 0 0
1 0 0 1 0
0 1 0 0 1
0 0 1 0 0

есть пример но я его пытаюсь компилировать он ерорит
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <StdAfx.h>
void main()
{
     int n=9;
     int Arr[9][9];
     int i,j;
     for(i=0;i<n;i++)
     for(j=0;j<n;j++)
     if(i==0 || i==n-1||j==0||j==n-1||i==j||i+j==n-1)
     Arr[i][j]=1;
     else
     Arr[i][j]=0;
     for(i=0;i<n;i++)
     for(j=0;i<n;j++)
     printf("%2i ",Arr[i][j]);
     printf("\r\n");
}
пример для заполнения 9х9 масива с таблицей
1 1 1 1 1
1 1 0 1 1
1 0 1 0 1
1 1 0 1 1
1 1 1 1 1

Помогите пожалуйста переделать пример под первую таблицу
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2012, 14:19     Консольный С++ Заполнение массива
Посмотрите здесь:

Консольный ввод/вывод целочисленного массива - C++
никак не могу решить, очень плохо понимаю массивы... 1. Консольный ввод/вывод целочисленного массива размером 5*5. 2 ...

Консольный ввод/вывод вещественного массива размерои 5*5 - C++
Добрый вечер. Возможно обращаюсь не по адресу, но все же попытка не пытка. Раньше программировал только в Паскале, а тут вдруг в универе...

Заполнение массива - C++
Я нахожу макс., мин. и среднее арифметическое элементов массива. Мне надо их значения записать во второй массив(новый). Как это сделать?...

Заполнение массива - C++
Привет народ! Очень нужна помощь срочно!(( Вот такое вот задание: 1,Составьте программу заполнения массива А(N,N) нулями и единицами в...

Заполнение массива - C++
Помогите пожалуйста переписать данный код что бы массив заполнялся таким образом: 15 19 22 24 25 10 14 18 21 23 6 9 13 17 20 ...

Заполнение массива - C++
Как заполнить массив? Вот что получилось: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; void main() { int...

Заполнение массива - C++
У меня есть строка, которую пользователь ввел с консоли как мне каждый элемент строки добавить в массив??? Добавлено через 7 минут ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
06.12.2012, 14:30     Консольный С++ Заполнение массива #2
Можно при инициализации задать, например.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main()
{
    int Arr[5][5] = {
        {0,1,0,0,1},
        {0,0,1,0,0},
        {1,0,0,1,0},
        {0,1,0,0,1},
        {0,0,1,0,0}
    };
    for(int i=0; i<5; i++) {
        for(int j=0; j<5; j++)
            cout << Arr[i][j] << " ";
        cout << "\n";
    }
    getchar();
}
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
06.12.2012, 14:31     Консольный С++ Заполнение массива #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
 
int main()
{
    const int n=20;
    int arr[n][n];
    memset(arr,0,n*n*sizeof(arr[0][0]));//Обнуление массива
 
    for(int i=0;i<n;++i){//Цикл заполнения
        for(int j=(i-1)%3;j<n;j+=3)
            arr[i][j]=1;
    }   
 
    for(int i=0;i<n;++i){//Вывод массива
        for(int j=0;j<n;++j)
            std::cout<<arr[j][i];
        std::cout<<std::endl;
    }
    std::cin.get();
    return 0;
}
heroii2009
16 / 6 / 0
Регистрация: 13.03.2012
Сообщений: 196
06.12.2012, 14:58  [ТС]     Консольный С++ Заполнение массива #4
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
 
int main()
{
    const int n=20;
    int arr[n][n];
    memset(arr,0,n*n*sizeof(arr[0][0]));//Обнуление массива
 
    for(int i=0;i<n;++i){//Цикл заполнения
        for(int j=(i-1)%3;j<n;j+=3)
            arr[i][j]=1;
    }   
 
    for(int i=0;i<n;++i){//Вывод массива
        for(int j=0;j<n;++j)
            std::cout<<arr[j][i];
        std::cout<<std::endl;
    }
    std::cin.get();
    return 0;
}
Он работает но мне надо размером на 5, я заменил, поставил n=5 но результат выдает
0 0 0 0 1
0 0 1 0 0
0 1 0 1 0
0 0 0 0 1
0 0 1 0 0

а должен быть
0 1 0 0 1
0 0 1 0 0
1 0 0 1 0
0 1 0 0 1
0 0 1 0 0
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
06.12.2012, 15:01     Консольный С++ Заполнение массива #5
Цитата Сообщение от heroii2009 Посмотреть сообщение
Он работает но мне надо размером на 5, я заменил, поставил n=5 но результат выдает
что я делаю не так?
Консольный С++ Заполнение массива
heroii2009
16 / 6 / 0
Регистрация: 13.03.2012
Сообщений: 196
06.12.2012, 15:06  [ТС]     Консольный С++ Заполнение массива #6
[QUOTE=Croessmah;3811871]что я делаю не так?

вот мой результат О_о
Консольный С++ Заполнение массива
Миниатюры
Консольный С++ Заполнение массива  
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
06.12.2012, 15:19     Консольный С++ Заполнение массива #7
Протестировал в линукс (gcc) и в винде (mingw)
Консольный С++ Заполнение массива
heroii2009
16 / 6 / 0
Регистрация: 13.03.2012
Сообщений: 196
06.12.2012, 15:24  [ТС]     Консольный С++ Заполнение массива #8
Цитата Сообщение от Croessmah Посмотреть сообщение
Протестировал в линукс (gcc) и в винде (mingw)
Вложение 209780
а какой средой разработки Вы пользуетесь? у меня просто Dev C++
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
06.12.2012, 15:42     Консольный С++ Заполнение массива #9
heroii2009, у меня тоже есть dev (правда, чуть по новее) и ответ также верный.
heroii2009
16 / 6 / 0
Регистрация: 13.03.2012
Сообщений: 196
06.12.2012, 15:45  [ТС]     Консольный С++ Заполнение массива #10
Цитата Сообщение от BumerangSP Посмотреть сообщение
heroii2009, у меня тоже есть dev (правда, чуть по новее) и ответ также верный.
можете проэкт заахивировать и выложить ?
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
06.12.2012, 15:56     Консольный С++ Заполнение массива #11
Croessmah, можно ведь короче записать:
C++
1
int arr[n][n]={0};
вместо:
C++
1
memset(arr,0,n*n*sizeof(arr[0][0]));
Добавлено через 10 минут
Цитата Сообщение от heroii2009 Посмотреть сообщение
можете проэкт заахивировать и выложить ?
Не думаю, что это чем-то поможет. Хотя...

Вам желательно еще бы в студии проверить или еще где.
heroii2009
16 / 6 / 0
Регистрация: 13.03.2012
Сообщений: 196
06.12.2012, 16:06  [ТС]     Консольный С++ Заполнение массива #12
Цитата Сообщение от Croessmah Посмотреть сообщение
Протестировал в линукс (gcc) и в винде (mingw)
Вложение 209780
Не могли бы вы заархивировать свой проэкт и выложить в тему, я гляну, если не тяжело

Добавлено через 7 минут
Цитата Сообщение от BumerangSP Посмотреть сообщение
Croessmah, можно ведь короче записать:
C++
1
int arr[n][n]={0};
вместо:
C++
1
memset(arr,0,n*n*sizeof(arr[0][0]));
Добавлено через 10 минут

Не думаю, что это чем-то поможет. Хотя...

Вам желательно еще бы в студии проверить или еще где.
попробовал, никак не поменялось, то что винда х64 играет роль?
В студии пытался, то же самое
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
06.12.2012, 16:12     Консольный С++ Заполнение массива #13
Цитата Сообщение от heroii2009 Посмотреть сообщение
попробовал, никак не поменялось, то что винда х64 играет роль?
В студии пытался, то же самое
Давно бы уже решили проблему, еслиб автор выкладывал сообщения об ошибках, что у него возникают. А так... зачем гадать?
heroii2009
16 / 6 / 0
Регистрация: 13.03.2012
Сообщений: 196
06.12.2012, 16:14  [ТС]     Консольный С++ Заполнение массива #14
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Давно бы уже решили проблему, еслиб автор выкладывал сообщения об ошибках, что у него возникают. А так... зачем гадать?
Ошибок никаких не выдает, результат просто не правильный
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2012, 17:49     Консольный С++ Заполнение массива
Еще ссылки по теме:

Заполнение массива - C++
Как заполнить массив числами от 1 до 100000 ? А то не резон как то писать int mass = {1,2,3,4,.....} И еще не подскажете как заолнить...

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

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

Заполнение массива - C++
Извините, что флудю, просто в старой теме уже не отвечают. data::data(int f){ if (f==1) ...

Заполнение массива - C++
Доброго времени суток всем:) Прошу немного помощи. Дали лабу на заполнение массива, а я не умею составлять формулы и не нашёл никакой...


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

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
06.12.2012, 17:49     Консольный С++ Заполнение массива #15
Win7 x64 работает и в студии и в mingw. на ubuntu так же работает
Yandex
Объявления
06.12.2012, 17:49     Консольный С++ Заполнение массива
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru