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

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

Войти
Регистрация
Восстановить пароль
 
undestroyer
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 53
#1

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

26.03.2013, 19:12. Просмотров 419. Ответов 6
Метки нет (Все метки)

Задача: сохранить одну строку массива в отдельный массив для передачи его аргументом в функцию.
Проблема: в массив 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
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2013, 19:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос сохранение строки массива в отдельный массив (C++):

Сохранение строки в массив и удаление повторяющихся элементов массива - C++
Нужно сделать так, что бы строка занасилась в массив без повтора элементов.(к примеру строка: &quot;Травка зеленеет, солнышко блестит.&quot; , а в...

Выборка из текстового файла знаков препинания и сохранение их в отдельный файл - C++
Дан текстовый файл. Создать файл содержащий все знаки препинания встретившиеся в текстовом файле (в том же порядке)

Вывести в отдельный массив элементы, меньшие заданного числа А - C++
Вывести в отдельный массив элементы, меньшие заданного числа А #include&lt;iostream.h&gt; #include&lt;conio.h&gt; #include&lt;stdlib.h&gt; int...

Массив: Упорядочить строки массива по убыванию - C++
задание на рисунке

Преобразование строки в массив, массива в строку - C++
Здраствуйте, не могу сообразить как правильно выполнить задание: &quot;Создать два класса: строка и массив. При преобразовании строки в массив...

Считать из текстового файла рандомные числа и поместить в отдельный массив - C++
Помогите,не могу разобраться.Вот у меня есть текстовой файл,в нем скажем есть 30 000 разных чисел,как мне считать из файла рандомных 800...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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";
}
0
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");
}
0
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 строке не полного кода, а того, который вы в первом сообщении написали!
1
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 поставил)
0
Shutz000
2 / 2 / 0
Регистрация: 08.01.2013
Сообщений: 12
26.03.2013, 19:42 #6
Заработало?
0
undestroyer
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 53
26.03.2013, 20:19  [ТС] #7
Цитата Сообщение от Shutz000 Посмотреть сообщение
Заработало?
да, строка правильно сохранилась в новый массив
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2013, 20:19
Привет! Вот еще темы с ответами:

Определить массив строк А(3), объединить строки массива - C++
Здравствуйте! Подскажите как решить Определить массив строк А(3), объединить строки массива, результат вывести на экран.

как в тексте (из файла) найти все числа и сохранить их в отдельный массив?? - C++
вообще без понятия просто из файла прочитала все разделила на лексемы(точка, зпт, пробел, двоет, плюс) а дальше что??? ...

Массив: поменять местами соседние строки двумерного массива - C++
Написать программу, которая случайным образом заполняет двумерный массив размером 6х6 цифрами от 0 до 10. Воспользовавшись одномерным ...

Удалить нечётные строки двумерного массива (динамический массив) - C++
Требуется написать программу: 1. Удалить все нечётные строки двумерного массива. 2. После той строки, которая содержит наибольший...


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

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

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