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

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

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

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

06.12.2012, 14:19. Просмотров 596. Ответов 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

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

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

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

Ввод двумерного массива, ввод размерности массива, заполнение массива случайными числами - C++
#include &quot;stdafx.h&quot; #include &quot;locale.h&quot; #include &quot;stdlib.h&quot; #include &quot;math.h&quot; void main() { setlocale(LC_ALL,&quot;rus&quot;); int...

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

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

Заполнение массива - 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();
}
0
Croessmah
Эксперт CЭксперт С++
13226 / 7498 / 845
Регистрация: 27.09.2012
Сообщений: 18,416
Записей в блоге: 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;
}
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
0
Croessmah
Эксперт CЭксперт С++
13226 / 7498 / 845
Регистрация: 27.09.2012
Сообщений: 18,416
Записей в блоге: 3
Завершенные тесты: 1
06.12.2012, 15:01 #5
Цитата Сообщение от heroii2009 Посмотреть сообщение
Он работает но мне надо размером на 5, я заменил, поставил n=5 но результат выдает
что я делаю не так?
Консольный С++ Заполнение массива
0
heroii2009
16 / 6 / 0
Регистрация: 13.03.2012
Сообщений: 196
06.12.2012, 15:06  [ТС] #6
[QUOTE=Croessmah;3811871]что я делаю не так?

вот мой результат О_о
Консольный С++ Заполнение массива
0
Миниатюры
Консольный С++ Заполнение массива  
Croessmah
Эксперт CЭксперт С++
13226 / 7498 / 845
Регистрация: 27.09.2012
Сообщений: 18,416
Записей в блоге: 3
Завершенные тесты: 1
06.12.2012, 15:19 #7
Протестировал в линукс (gcc) и в винде (mingw)
Консольный С++ Заполнение массива
0
heroii2009
16 / 6 / 0
Регистрация: 13.03.2012
Сообщений: 196
06.12.2012, 15:24  [ТС] #8
Цитата Сообщение от Croessmah Посмотреть сообщение
Протестировал в линукс (gcc) и в винде (mingw)
Вложение 209780
а какой средой разработки Вы пользуетесь? у меня просто Dev C++
0
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
06.12.2012, 15:42 #9
heroii2009, у меня тоже есть dev (правда, чуть по новее) и ответ также верный.
0
heroii2009
16 / 6 / 0
Регистрация: 13.03.2012
Сообщений: 196
06.12.2012, 15:45  [ТС] #10
Цитата Сообщение от BumerangSP Посмотреть сообщение
heroii2009, у меня тоже есть dev (правда, чуть по новее) и ответ также верный.
можете проэкт заахивировать и выложить ?
0
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 Посмотреть сообщение
можете проэкт заахивировать и выложить ?
Не думаю, что это чем-то поможет. Хотя...

Вам желательно еще бы в студии проверить или еще где.
0
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 играет роль?
В студии пытался, то же самое
0
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
06.12.2012, 16:12 #13
Цитата Сообщение от heroii2009 Посмотреть сообщение
попробовал, никак не поменялось, то что винда х64 играет роль?
В студии пытался, то же самое
Давно бы уже решили проблему, еслиб автор выкладывал сообщения об ошибках, что у него возникают. А так... зачем гадать?
0
heroii2009
16 / 6 / 0
Регистрация: 13.03.2012
Сообщений: 196
06.12.2012, 16:14  [ТС] #14
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Давно бы уже решили проблему, еслиб автор выкладывал сообщения об ошибках, что у него возникают. А так... зачем гадать?
Ошибок никаких не выдает, результат просто не правильный
0
Croessmah
Эксперт CЭксперт С++
13226 / 7498 / 845
Регистрация: 27.09.2012
Сообщений: 18,416
Записей в блоге: 3
Завершенные тесты: 1
06.12.2012, 17:49 #15
Win7 x64 работает и в студии и в mingw. на ubuntu так же работает
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2012, 17:49
Привет! Вот еще темы с ответами:

Заполнение массива - C++
помогите решить задачу. заранее спасибо.;)

Заполнение массива от 'А' до 'Я' и 'а' до 'я' - C++
Как заполнить массив буквами русского алфавита по порядку, желательно не вручную . Нужно от 'А' до 'Я' и затем от 'а' до 'я' т.е 66...

Заполнение массива - C++
Добрый день. Объясните,пожалуйста, следующий момент. Есть кусок кода: void fill(struct member *p){ printf(&quot;\nFill your name...

Заполнение массива - C++
Подскажите пожалуйста, как заполнить массив в такой закономерности: Например дано число 6:••• Пример для числа 4:••• ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.12.2012, 17:49
Ответ Создать тему
Опции темы

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