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

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

Войти
Регистрация
Восстановить пароль
 
 
bootleanC
6 / 6 / 1
Регистрация: 28.04.2009
Сообщений: 106
#1

Массив - C++

14.10.2011, 12:56. Просмотров 1014. Ответов 29
Метки нет (Все метки)

помогите правильно заполнить массив чтобы элементы строки можно было вводить через пробел

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int n;
printf("Введите количество вершин:"); \\ массив будет в виде квадратной матрицы
int graf[n][n];
printf("Введите элементы в виде матрицы ребер графа, 1 - если есть ребро 0 - если ребра нет:"); \\задача  на графы
for(int i=0, i<n, ++i)
    for(int j=0, j<n, ++j)
    {
        scanf("%i", &graf[i][j]);
    }
for(int i=0, i<n, ++i)
    for(int j=0, j<n, ++j)
    {
        printf("%i", &graf[i][j]);
        printf("\n");
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2011, 12:56     Массив
Посмотрите здесь:

Дан массив размерности n. Заполнить массив случайными числами в диапазоне [-100;100]. Перевернуть массив: - C (СИ)
Дан массив размерности n. Заполнить массив случайными числами в диапазоне . Перевернуть массив: a↔a, a↔a и т.д. Для работы с массивом...

Вывести на печать массив X, массив Z, массив Y, произведение элементов массива X, упорядоченный массив Y - QBasic
Вывести на печать массив X, массив Z, массив Y, произведение элементов массива X, упорядоченный массив Y. ...

Дан одномерный массив A из N элементов. Переписать положительные элементы массива в массив B, а отрицательные в массив C - Pascal
Дан одномерный массив A из N элементов. Переписать положительные элементы массива в массив B, а отрицательные в массив C.

Сформировать массив, который будет состоять из чисел, входящих как в массив A, так и в массив B - C (СИ)
Задание: На основе исходных массивов A и B (n и m – рабочие размеры массивов) сформировать массив C, который будет состоять из чисел,...

Дан массив целых чисел а(12). Переписать в массив х четные, а в массив у нечетные элементы массива а - Turbo Pascal
Помогите пожалуйста решить эту задачу. Массив a выводит на печать. Я пишу a mod 2 = 0 , а он мне 41 ошибку выдает. Что делать? Вот...

Массив: Отсортировать полученный массив 3 способами: по строкам, по столбцам( возр.), 3) и весь массив - Delphi
Помогите, пожалуйста ,решить задачу. Очень нужно. Задан массив (4*6). Элементы задаются по правилу: если j&gt;3, то Aij=i+j, иначе...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.10.2011, 21:50     Массив #21
как минимум, уберите строку 8.
aeshes
439 / 202 / 13
Регистрация: 07.10.2011
Сообщений: 462
15.10.2011, 21:56     Массив #22
твоя программа в стиле С++ (динамическое выделение памяти и ввод/вывод через потоки)

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
#include<iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL,"Russian");
int n;
cout<<"Введите количество вершин: ";
cin>>n;
int **a=new int*[n];
for(int i=0;i<n;i++)
   a[i]=new int[n];
cout<<"Введите элементы в виде матрицы ребер графа, 1 - если есть ребро 0 - если ребра нет:\n";
 
for(int i=0, i<n, ++i)
   for(int j=0, j<n, ++j)
      cin>>a[i][j];
 
for(int i=0, i<n, ++i)
{   
   for(int j=0, j<n, ++j)
      cout<<a[i][j]<<" ";
   cout<<"\n";
}
 
for(int i=0;i<n;i++)
   delete []a[i];
delete []a;
return 0;
}
bootleanC
6 / 6 / 1
Регистрация: 28.04.2009
Сообщений: 106
15.10.2011, 22:05  [ТС]     Массив #23
aeshes, ввел как вы сказали...пишет что не объявленный идентификатор

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
#include "stdafx.h"
#include "iostream"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL,"Russian");
int n;
cout<<"Введите количество вершин: ";
cin>>n;
int **a=new int*[n];
for(int i=0;i<n;i++)
   a[i]=new int[n];
cout<<"Введите элементы в виде матрицы ребер графа, 1 - если есть ребро 0 - если ребра нет:\n";
 
for(int i=0, i<n, ++i)
   for(int j=0, j<n, ++j)
      cin>>a[i][j];
 
for(int i=0, i<n, ++i)
{   
   for(int j=0, j<n, ++j)
      cout<<a[i][j]<<" ";
   cout<<"\n";
}
int v1[5],v2[5];
int k=1;
for (int i=0,i<n,++i)
    for(int j=0,j<n,++j)
    {
        if(a[i][j]==1)
        {
            if(((int m=k%2)==0)
            {
                V1+=j+1;
            }
            else
            {
                V2+=j+1;
            }
            k=k+1;
        }
    }
for(int i=0;i<n;i++)
   delete []a[i];
delete []a;
return 0;
}
aeshes
439 / 202 / 13
Регистрация: 07.10.2011
Сообщений: 462
15.10.2011, 22:09     Массив #24
кто необъявленный идентификатор? cin/cout?
Библиотеку iostream подключайте в угловых скобках <>
и куда делась строка
C++
1
using namespace std;
?

И кстати, создавая консольный проект, ставьте галочку "пустой", чтоб не подключались всякие файлы stdafx
bootleanC
6 / 6 / 1
Регистрация: 28.04.2009
Сообщений: 106
15.10.2011, 22:26  [ТС]     Массив #25
пишет что j не объявленный идентификатор в строке 33, 37, 41

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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL,"Russian");
int n;
cout<<"Введите количество вершин: ";
cin>>n;
int **a=new int*[n];
for(int i=0;i<n;i++)
   a[i]=new int[n];
cout<<"Введите элементы в виде матрицы ребер графа, 1 - если есть ребро 0 - если ребра нет:\n";
 
for(int i=0, i<n, ++i)
   for(int j=0, j<n, ++j)
      cin>>a[i][j];
 
for(int i=0, i<n, ++i)
{   
   for(int j=0, j<n, ++j)
      cout<<a[i][j]<<" ";
   cout<<"\n";
}
int v1[20],v2[20];
int k=1;
int m;
for (int i=0,i<n,++i)
    for(int j=0,j<n,++j)
    {
        if(a[i][j]==1)
        {
            if(( m=k%2)==0)
            {
                v1+=j+1;
            }
            else
            {
                v2+=j+1;
            }
            k=k+1;
        }
    }
for(int i=0;i<n;i++)
   delete []a[i];
delete []a;
return 0;
}
aeshes
439 / 202 / 13
Регистрация: 07.10.2011
Сообщений: 462
15.10.2011, 22:44     Массив #26
ой, это я у вас скопировала программу и только ввод-вывод поменяла и массив сделала динамическим.
Там во всех заголовках цикла for должны стоять ; а не запятые
C++
1
2
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
Thinker
15.10.2011, 22:49
  #27

Не по теме:

bootleanC, книжки - неисчерпаемый кладезь знаний!!! Почему бы не воспользоваться им

bootleanC
6 / 6 / 1
Регистрация: 28.04.2009
Сообщений: 106
15.10.2011, 23:36  [ТС]     Массив #28
спасибо вроде заработал ввод...осталось сделать 2ую часть программы...определить те элементы в которых стоял единицы и записать их порядковые номера по очереди сначало в один одномерный массив потом в другой
bootleanC
6 / 6 / 1
Регистрация: 28.04.2009
Сообщений: 106
16.10.2011, 20:27  [ТС]     Массив #29
вот вроде сделал...
тут возникает еще один вопрос...я хочу заполнить два одномерных массива индексами(индексом) элемента a[i][j], по очереди...то бишь компилятор если дошел до элемента массива a[i][j] который равен одному, то он записывает цифру которой сейчас равен индекс j(соответственно +1 потому как я понимаю нумерация всех массивов в Си начинается с нуля) в массив номер один...следующее попадание элемента равного единице записываем в другой массив...после надо сравнить эти два массива и определить есть ли повторения или нет...
только сейчас компилятор выдает какие то дикие вещи...

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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL,"Russian");
int n;
cout<<"Введите количество вершин: ";
cin>>n;
int **a=new int*[n];
for(int i=0;i<n;i++)
   a[i]=new int[n];
cout<<"Введите элементы в виде матрицы ребер графа, 1 - если есть ребро 0 - если ребра нет:\n";
 
for(int i=0; i<n; ++i)
   for(int j=0; j<n; ++j)
      cin>>a[i][j];
 
for(int i=0; i<n; ++i)
{   
   for(int j=0; j<n; ++j)
      cout<<a[i][j]<<" ";
   cout<<"\n";
}
int v1[20],v2[20];
int k=1;
int m;
for (int i=0;i<n;++i)
    for(int j=0;j<n;++j)
    {
        if(a[i][j]==1)
        {
            if(( m=k%2)==0)
            {
                v1[k]+=j+1;
            }
            else
            {
                v2[k]+=j+1;
            }
            k=k+1;
        }
    }
 
for(int i=0; i<n; ++i)
{   
      cout<<v1[i]<<" ";
   cout<<"\n";
}
for(int i=0; i<n; ++i)
{   
      cout<<v1[i]<<" ";
   cout<<"\n";
}
for(int i=0;i<n;i++)
   delete []a[i];
delete []a;
return 0;
}
Миниатюры
Массив  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2011, 08:21     Массив
Еще ссылки по теме:

Массив: Как сделать так, чтобы результирующий массив представлял собой измененный по заданным правилам первый массив? - C++ Builder
Доброй ночи форумчане, очередной нубо-вопрос не требует отлагательств имеется одномерный массив, из которого по заданным условиям...

Вывести массив а(i, j), одномерный массив b(i) и полученный массив АВ с помощью функции Cells - VBA
Задача 1 Написать программу для решения следующей задачи: для числа n вводимого с клавиатуры (с помощью функции InputBox())...

Построить массив d из элементов, которые входят как в массив a так и в массив b - C (СИ)
Дан массив a и b состоящий из n элементов. Построить массив d из элементов, которые входят как в массив a так и в массив b. Желательно с...

Массив. Разделить на два: массив элементов с четными и массив с нечетными индексами - Pascal ABC
VII.Одномерные массивы 50. Задан массив с количеством элементов N. Сформировать два массива: в первый включить элементы исходного массива...


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

Или воспользуйтесь поиском по форуму:
bootleanC
6 / 6 / 1
Регистрация: 28.04.2009
Сообщений: 106
17.10.2011, 08:21  [ТС]     Массив #30
вот почему он выводит по пять раз сначала массив v1 а потом v2????
Yandex
Объявления
17.10.2011, 08:21     Массив
Ответ Создать тему
Опции темы

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