Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
6 / 6 / 2
Регистрация: 28.04.2009
Сообщений: 106
1

Массив

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

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

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");
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2011, 12:56
Ответы с готовыми решениями:

Массив: Преобразовать массив, прибавив к четным числам, входящим в массив, значение первого элемента.
Есть задача С клавиатуры вводятся элементы целочисленного массива размера N. Преобразовать его,...

Дан массив, состоящий из 15 элементов целого типа. Получить новый массив, как разность между элементами исходного массив
Дан массив, состоящий из 15 элементов целого типа. Получить новый массив, как разность между...

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать
Добрый Вечер! Написал первую часть программы по этому заданию&quot;Ввести массив А. В массив В перенести...

Массив: Как скопировать двумерный массив в другой массив?
Как скопировать двумерный массив в другой массив?

29
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.10.2011, 21:50 21
Author24 — интернет-сервис помощи студентам
как минимум, уберите строку 8.
0
448 / 211 / 21
Регистрация: 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;
}
0
6 / 6 / 2
Регистрация: 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;
}
0
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
15.10.2011, 22:09 24
кто необъявленный идентификатор? cin/cout?
Библиотеку iostream подключайте в угловых скобках <>
и куда делась строка
C++
1
using namespace std;
?

И кстати, создавая консольный проект, ставьте галочку "пустой", чтоб не подключались всякие файлы stdafx
0
6 / 6 / 2
Регистрация: 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;
}
0
448 / 211 / 21
Регистрация: 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++)
0
Thinker
15.10.2011, 22:49
  #27

Не по теме:

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

1
6 / 6 / 2
Регистрация: 28.04.2009
Сообщений: 106
15.10.2011, 23:36  [ТС] 28
спасибо вроде заработал ввод...осталось сделать 2ую часть программы...определить те элементы в которых стоял единицы и записать их порядковые номера по очереди сначало в один одномерный массив потом в другой
0
6 / 6 / 2
Регистрация: 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;
}
Миниатюры
Массив  
0
6 / 6 / 2
Регистрация: 28.04.2009
Сообщений: 106
17.10.2011, 08:21  [ТС] 30
вот почему он выводит по пять раз сначала массив v1 а потом v2????
0
17.10.2011, 08:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.10.2011, 08:21
Помогаю со студенческими работами здесь

Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив...
помогите!!!((( дан массив целых чисел,произвести для него следующие операции: для каждого из чисел...

Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив.
Есть текстовый файл, в нем 3 столбца чисел (число строк заранее неизвестно). Напишите пожалуйста...

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

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


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

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