Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
4 / 4 / 1
Регистрация: 17.12.2015
Сообщений: 119
1

Создать массив строк, чтобы их можно было менять в процессе работы программы

12.03.2017, 19:23. Просмотров 1026. Ответов 6
Метки нет (Все метки)


Как сделать массив из 5 строк, чтобы их можно было менять в процессе работы программы?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2017, 19:23
Ответы с готовыми решениями:

Как создать массив строк или символов, чтобы потом можно было с цикла его заполнить?
Есть наработки, но не работает: while(c!=27){ FILE* file1; file1=fopen("zarplaty.txt","r");...

Изменить код таким образом, чтобы данные цифры можно было вводить в процессе запуска программы
Есть программа. Необходимо изменить код таким образом, чтобы данные цифры можно было вводить в...

Как сделать так,чтобы количество строк и столбцов массива можно было менять через меню?
как сделать так,чтобы количество строк (n) и столбцов(m) массива можно было менять через меню?...

Как создать папку и обеспечить, чтобы можно было запускать эти программы, но нельзя было бы их скопировать, переместить, удалить
Подскажите, как создать папку и обеспечить, чтобы можно было запускать эти программы, но нельзя...

6
Заблокирован
12.03.2017, 19:56 2
C
1
char* s_array[5];
0
4 / 4 / 1
Регистрация: 17.12.2015
Сообщений: 119
12.03.2017, 20:11  [ТС] 3
а как обращаться к ней, чтобы поменять её содержимое?

Добавлено через 2 минуты
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <string.h>
 
int main()
{
    char* string[5];
 
    string[0] = "sdawdasdaw";
    string[1] = "asdawfag";
    string[2] = "gawewqewas";
    string[3] = "sadwfasd";
    string[4] = "cvdvegw";
 
    puts(string[1]);
    string[1][0] = '!';
    puts(string[1]);
    
    return 0;
}
На строке:
C
1
 string[1][0] = '!';
Программа вылетает.
0
Заблокирован
12.03.2017, 20:15 4
Лучший ответ Сообщение было отмечено JackLas как решение

Решение

Цитата Сообщение от JackLas Посмотреть сообщение
Программа вылетает.
Потому что строки, которые ты используешь в программе - только для чтения. Если хочешь для записи, то выдели память под строку, поставь на нее указатель, потом копируй в нее данные.
1
4 / 4 / 1
Регистрация: 17.12.2015
Сообщений: 119
12.03.2017, 20:53  [ТС] 5
Цитата Сообщение от nimazzzy Посмотреть сообщение
Потому что строки, которые ты используешь в программе - только для чтения.
Я это понимаю, вопрос был в том, как сделать для чтения и записи)
0
294 / 123 / 106
Регистрация: 30.10.2015
Сообщений: 690
12.03.2017, 21:56 6
Цитата Сообщение от nimazzzy Посмотреть сообщение
выдели память под строку, поставь на нее указатель, потом копируй в нее данные.
Можно не копировать, если знаешь наибольшую длину строки (но это не точно).
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <stdlib.h>
 
#define AMOUNT_STRING 5
#define LENGTH_STRING 32
 
int main()
{
  char *strings[AMOUNT_STRING]; 
 
  for (size_t i = 0; i < AMOUNT_STRING; ++i) {
    strings[i] = malloc(LENGTH_STRING * sizeof(char));
 
    printf("Enter string (< 32 symbols): ");
    gets(strings[i]); 
  }
 
  for (size_t i = 0; i < AMOUNT_STRING; ++i) {
    puts(strings[i]);
 
    free(strings[i]);
  }
}
0
Заблокирован
12.03.2017, 22:41 7
Цитата Сообщение от Nemovok Посмотреть сообщение
Можно не копировать, если знаешь наибольшую длину строки
Можно вообще не копировать, если их сразу в стеке располагать. Только автор писал string[0] = "sdawdasdaw";
Это строка в области данных, не вводимая пользователем. Чтобы ее менять - надо только копировать
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2017, 22:41

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

Как создать массив строк, чтобы их можно было как возвращать, так и изменять?
Здравствуйте. У меня следующая проблема: Вот так записан массив переменных string класса: ...

Как сделать так чтобы можно было менять путь к БД
OleDbConnection aConn = new OleDbConnection(&quot;Provider=Microsoft.ACE.OLEDB.12.0;&quot; + @&quot;Data...

Как задать двумерный массив, чтобы значения можно было писать при запуске программы?
мне нужен самый простой способ

Нарисовать лицо, чтобы можно было менять наклон бровей, улыбку
Помогите пожалуйста написать в vba лица Чернова. Если есть возможность, то с заполненными данными...

С fastscript задать код, чтобы можно было менять значения в БД Access
как с fastscript задать код чтобы можно было менять значения в базе данных в Access и выводило в...

Экспорт из фотошопа SVG, чтобы можно было менять цвет через Fill
Здравствуйте. Проблема вот в чём, при экспорте svg из фотошопа файл имеет вид: &lt;svg...


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

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

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