Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
292 / 198 / 6
Регистрация: 23.10.2010
Сообщений: 1,173
Записей в блоге: 1
1

Как записывать в массив с 2 переменными текст

17.07.2013, 12:05. Просмотров 1350. Ответов 22
Метки нет (Все метки)

Как записывать в массив с 2 переменными,текст,тоесть есть массив mas[a,b], в а="привет", в b="пока";
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.07.2013, 12:05
Ответы с готовыми решениями:

Как записывать текст в файл?
Необходима программа, которая будет считывать информацию из текста, но(!) есть нюанс. Текст в файле...

Как записывать текст в определенную строку многострочного textBox-а?
Привет, всем! Есть многострочный textBox1, вопросы: 1. как записывать туда текст в определенную...

Как записывать текст в txt из периодически генирирующейся переменной label
Здравствуйте. Нужна помощь. Есть программа голосового распознавания. Ключевые слова выводятся в...

Как в vb при нажатии клавиши на клав-е записывать текст в файл, .txt например
Хочу, чтобы при нажатии любой клавиши, мой текстовый файл изменялся. Как сделать? Вот текст проги:...

22
414 / 413 / 72
Регистрация: 27.05.2012
Сообщений: 1,168
17.07.2013, 12:30 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <cstring>
#include <iostream>
 
int main()
{
    char mas[2][10];
    strcpy(mas[0], "hello");
    strcpy(mas[1], "bye");
 
    std::cout << mas[0] << std::endl
              << mas[1] << std::endl;
 
 
    return 0;
}
0
189 / 159 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
17.07.2013, 12:42 3
Или так
C++
1
char *str[2] = {"Вася", "Пупкин"};
0
5474 / 4869 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
17.07.2013, 12:47 4
Цитата Сообщение от GoldDragon Посмотреть сообщение
тоесть есть массив mas[a,b]
Нет таких массивов. Есть: char mas[a][b]. а - количеcтсво слов, b - максимальное количество символов в словах (с '\0').

C++
1
char mas[2][13] = {"привет", "пока"};
0
292 / 198 / 6
Регистрация: 23.10.2010
Сообщений: 1,173
Записей в блоге: 1
17.07.2013, 13:01  [ТС] 5
тоесть у двумерных массивов, первый параметр укаызвает на количество создаваеых переменных, а второй параметр на длину этой переменной, правильно?
0
2572 / 2188 / 233
Регистрация: 03.07.2012
Сообщений: 7,896
Записей в блоге: 1
17.07.2013, 13:08 6
Нет, не правильно. Почитай про двумерные массивы, для начала можно http://www.c-cpp.ru/books/dvumernye-massivy
0
5474 / 4869 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
17.07.2013, 13:15 7
Цитата Сообщение от GoldDragon Посмотреть сообщение
тоесть у двумерных массивов, первый параметр укаызвает на количество создаваеых переменных, а второй параметр на длину этой переменной, правильно?
Если упрощённо, то a - количество одномерных массивов, b - размер каждого одномерного массива (количество элементов).

Добавлено через 2 минуты
По другому: количество строк, столбцов.
0
Каратель
Эксперт С++
6596 / 4017 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
17.07.2013, 13:17 8
Цитата Сообщение от Мимино Посмотреть сообщение
Или так
нет не так. вот так:
C++
1
const char *str[] = { "Вася", "Пупкин" };
0
Почетный модератор
Эксперт С++
5836 / 2843 / 390
Регистрация: 01.11.2011
Сообщений: 6,881
17.07.2013, 13:18 9
Цитата Сообщение от GoldDragon Посмотреть сообщение
тоесть у двумерных массивов, первый параметр укаызвает на количество создаваеых переменных, а второй параметр на длину этой переменной, правильно?
Как записывать в массив с 2 переменными текст


Черт. Забыл нолики дорисовать в конце.
2
292 / 198 / 6
Регистрация: 23.10.2010
Сообщений: 1,173
Записей в блоге: 1
17.07.2013, 13:24  [ТС] 10
вроде бы понятно, вот написал пример, есть двумерный массив, в первый индекс записываю строку, а затем во второй. так программа записывает один символ в первый индекс, и еще один символ во второй индекс, после выходим, почему так происходит...вроде все делал как вы обяснили

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
 
int main()
{
    char str[2][50];
    for(int i=0; i<2; i++)
    {
        std::cin>>str[i][50];
    }
    system("pause");
}
0
5474 / 4869 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
17.07.2013, 13:28 11
C++
1
2
3
4
5
char str[2][50];
for(int i=0; i<2; i++)
{
     std::cin>>str[i];
}
1
49 / 23 / 3
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
17.07.2013, 13:33 12
"Но уже сейчас стоит напомнить, что объекты типа string обычно предпочтительнее своих прародителей – строк типа char *"Майерс - "55 правил"
всегда не любил эти чары
Цитата Сообщение от GoldDragon Посмотреть сообщение
вроде все делал как вы обяснили
ну смотри std::cin>>str[i][50]; при i=1 пишешь в первую строку, при i=2 во вторую
0
189 / 159 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
17.07.2013, 13:39 13
Цитата Сообщение от Jupiter Посмотреть сообщение
нет не так.

Не по теме:

А чего не так? массив из 2-х строк.

0
292 / 198 / 6
Регистрация: 23.10.2010
Сообщений: 1,173
Записей в блоге: 1
17.07.2013, 13:42  [ТС] 14
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
2
3
4
5
char str[2][50];
for(int i=0; i<2; i++)
{
     std::cin>>str[i];
}
а как цикл for понимает что текст надо присвоить первому индексу массива, а не второму???
0
5474 / 4869 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
17.07.2013, 13:49 15
Цитата Сообщение от GoldDragon Посмотреть сообщение
а как цикл for понимает что текст надо присвоить первому индексу массива, а не второму???
Это не for() понимает (ему по барабану), а умный cin.
1
292 / 198 / 6
Регистрация: 23.10.2010
Сообщений: 1,173
Записей в блоге: 1
17.07.2013, 13:53  [ТС] 16
ну вообщем я понял.

а можно использовать заместо массивов, что то типо структуры...
C++
1
2
3
4
5
struct mas
{
char a[50];
char b[50];
}
А после обращаться к структуре типо mas.a="Привет";
Вожможно такое???
0
5474 / 4869 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
17.07.2013, 14:01 17
C++
1
2
3
4
5
6
7
8
struct mas
{
     char a[50];
     char b[50];
};
 
mas obj;
strcpy(obj.a, "Привет");
Добавлено через 3 минуты
Или так:
C++
1
mas obj = {"Вася", "Пупкин"};
0
511 / 463 / 81
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
17.07.2013, 14:02 18
Цитата Сообщение от Мимино Посмотреть сообщение
А чего не так? массив из 2-х строк.
const потеряли. Тип строкового литерала - const char *. Допустим, вот этот код на gcc компилируется с предупреждением, а при выполнении падает:

C++
1
2
char * s = "qwerty";
s[2] = 'f';
0
Jupiter
17.07.2013, 14:14
  #19

Не по теме:

Цитата Сообщение от Мимино Посмотреть сообщение
А чего не так? массив из 2-х строк.
все что в двойных кавычка - строковые литералы - это константы и потому указатель должен быть указателем на константу

0
189 / 159 / 35
Регистрация: 22.05.2013
Сообщений: 455
Записей в блоге: 1
17.07.2013, 14:23 20
Schizorb, Jupiter,
так ведь работает же
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.07.2013, 14:23

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как передать массив с переменными в SQL запрос?
Допустим есть массив var array = {1,2,3,4,5} , как подставить в запрос правильно , тем более что...

Как правильно записывать в динамический массив типа класса обьекты? вот банальный пример
#pragma once #include &quot;iostream&quot; namespace Program { class Book { typedef unsigned int...

Записывать текст в исполняемый файл
В программе есть текстовая форма (Memo1 ) нужно чтобы после выключении программы все изменения...

Как оформить задачу на двумерный массив с двумя переменными в заданных интервалах?
Условие: вывести на экран таблицу изменения степени набухания полимера (a=(m1-m0)*100/m0) в...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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