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

сохранение строки массива в отдельный массив - C++

Восстановить пароль Регистрация
 
undestroyer
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 53
26.03.2013, 19:12     сохранение строки массива в отдельный массив #1
Задача: сохранить одну строку массива в отдельный массив для передачи его аргументом в функцию.
Проблема: в массив str сохраняется только количество элементов равное номеру строки. Т.е: (все что выделено синим должно быть O, но судя по всему массив не получил данных)
str[0]=OMMM
str[1]=OOMM
str[2]=OOOM
str[3]=OOOO
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const int n=4;
char A[n][n],str[n]; //все элементы массива A равны O (английская буква)
int i,j;
for (i=0;i<n;i++)
{
    for (j=0;j<n;j++)
    {
        str[i]=A[i][j];
    }
    cout<<"str["<<i<<"]=";
    for (j=0;j<n; j++)
    {
        cout<<str[j]<<" ";
    }
    cout<<"\n";
}
Добавлено через 57 минут
полный вывод программы:
http://rghost.ru/44792227/image.png
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2013, 19:12     сохранение строки массива в отдельный массив
Посмотрите здесь:

C++ Вывести в отдельный массив элементы, меньшие заданного числа А
C++ как в тексте (из файла) найти все числа и сохранить их в отдельный массив??
C++ Массив: Упорядочить строки массива по убыванию
Дан двумерный массив. Упорядочить элементы каждой строки массива; сформировать одномерный массив из элементов главной диагонали упорядоченного массива C++
C++ Выборка из текстового файла знаков препинания и сохранение их в отдельный файл
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Shutz000
2 / 2 / 0
Регистрация: 08.01.2013
Сообщений: 12
26.03.2013, 19:22     сохранение строки массива в отдельный массив #2
Попробуй так, должно работать:

C++
1
2
3
4
5
6
7
8
9
10
for (i=0;i<n;i++)
{
    cout<<"str["<<i<<"]=";
    for (j=0;j<n;j++)
    {
        str[i]=A[i][j];
        cout<<str[j]<<" ";
    }
    cout<<"\n";
}
undestroyer
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 53
26.03.2013, 19:36  [ТС]     сохранение строки массива в отдельный массив #3
Цитата Сообщение от Shutz000 Посмотреть сообщение
Попробуй так, должно работать:

for (i=0;i<n;i++)
{
cout<<"str["<<i<<"]=";
for (j=0;j<n;j++)
{
str[i]=A[i][j];
cout<<str[j]<<" ";
}
cout<<"\n";
}
от того что вы объединили 2 цикла в 1 ничего функционально не изменилось и результат соответственно тоже

Добавлено через 6 минут
Add: полный код функции main
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
void main()
{
    setlocale (LC_ALL, "russian");
    const int n=4;
    char A[n][n],str[n];
    int i,j;
    double res[n];
    cout<<"Введите результаты турнира "<<n<<" участников (W / D / L) \n";
    
    for (i=0; i<n; i++)                           //заполнение массива A[i][j]
        for (j=0; j<n; j++)
            cin>>A[i][j];
 
    for (i=0;i<n;i++)                             //перевод каждой строки
    {                                                 //в отдельный массив
        cout<<"str["<<i<<"]=";
        for (j=0;j<n;j++)
    {
        str[i]=A[i][j];
        cout<<str[j]<<" ";
    }
    cout<<"\n";
    }
 
    system ("pause");
}
Shutz000
2 / 2 / 0
Регистрация: 08.01.2013
Сообщений: 12
26.03.2013, 19:39     сохранение строки массива в отдельный массив #4
извиняюсь.
в девятой строке, помоему нужно написать не
str[i]=A[i][j];, а str[j]=A[i][j];
а то получается, что вы одному элементу массива четыре разных значения по очереди присваиваете, соответственно, при выводе программа выдает только 1 значение, вместо четырех

Добавлено через 57 секунд
в 9 строке не полного кода, а того, который вы в первом сообщении написали!
undestroyer
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 53
26.03.2013, 19:42  [ТС]     сохранение строки массива в отдельный массив #5
Цитата Сообщение от Shutz000 Посмотреть сообщение
извиняюсь.
в девятой строке, помоему нужно написать не
str[i]=A[i][j];, а str[j]=A[i][j];
а то получается, что вы одному элементу массива четыре разных значения по очереди присваиваете, соответственно, при выводе программа выдает только 1 значение, вместо четырех

Добавлено через 57 секунд
в 9 строке не полного кода, а того, который вы в первом сообщении написали!
Да, похоже я тут ошибся. Спасибо! +1 поставил)
Shutz000
2 / 2 / 0
Регистрация: 08.01.2013
Сообщений: 12
26.03.2013, 19:42     сохранение строки массива в отдельный массив #6
Заработало?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2013, 20:19     сохранение строки массива в отдельный массив
Еще ссылки по теме:

Удалить нечётные строки двумерного массива (динамический массив) C++
C++ Сохранение строки в массив и удаление повторяющихся элементов массива
Определить массив строк А(3), объединить строки массива C++

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

Или воспользуйтесь поиском по форуму:
undestroyer
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 53
26.03.2013, 20:19  [ТС]     сохранение строки массива в отдельный массив #7
Цитата Сообщение от Shutz000 Посмотреть сообщение
Заработало?
да, строка правильно сохранилась в новый массив
Yandex
Объявления
26.03.2013, 20:19     сохранение строки массива в отдельный массив
Ответ Создать тему
Опции темы

Текущее время: 12:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru