Ввод и вывод массива
Ввод и вывод массива, то есть заполнение массива пользователем программы и выдачу содержимого массива пользователю, можно делать по-разному. Рассмотрим далее два варианта ввода/вывода массива в консольном приложении — scanf/printf и cin/cout.
Ввод/вывод массива с помощью функций scanf и prntif
Функция scanf предназначается для ввода данных с клавиатуры.
Для применения данной функции следует сначала подключить библиотеку языка C для операций ввода и вывода. Выглядит это следующим образом:
Как вывести массив строк в Си?
Понимаю, что что — то не правильно делаю, но мне кажется второй кусок кода логичным :
printf(«%s/n», *a) ; //вывести строку.
Предполагаю, что при чтении строки она ни где не заканчивается, по этому ошибка. Хотя терминальный ноль вроде бы не явно должен ставиться в конце строки. Помогите узнать в чем ошибка.
- Вопрос задан более трёх лет назад
- 5436 просмотров
2 комментария
Простой 2 комментария
C как вывести массив в консоль
Как лучше вывести массив известной длинны без завершающего нуля в консоль?
Re: вывести массив без 0 в конце в консоль
| От: | Bell |
| Дата: | 06.11.08 06:32 |
| Оценка: |
Здравствуйте, Аноним, Вы писали:
А>Всем привет!
А>Как лучше вывести массив известной длинны без завершающего нуля в консоль?
Ну например вот так:
char arr[3] = '1', '2', '3'>; copy(arr, arr + 3, ostream_iteratorchar>(cout, "")); cout '\n';
Любите книгу — источник знаний (с) М.Горький
Re[2]: вывести массив без 0 в конце в консоль
| От: | Аноним |
| Дата: | 06.11.08 06:44 |
| Оценка: |
А как можно без std это сделать?
Re[3]: вывести массив без 0 в конце в консоль
| От: | Bell | |
| Дата: | 06.11.08 06:52 | |
| Оценка: | 1 (1) | |
Здравствуйте, Аноним, Вы писали:
А>А как можно без std это сделать?
char arr[3] = '1', '2', '3'>; printf("%.3s", arr);
ЗЫ
Вообще лучще уточнять — какой массив вывести, что значит «лучше».
Любите книгу — источник знаний (с) М.Горький
Re: вывести массив без 0 в конце в консоль
| От: | MShura |
| Дата: | 06.11.08 07:37 |
| Оценка: |
А>Как лучше вывести массив известной длинны без завершающего нуля в консоль?
const char* buff = . int n = . printf( "%.*s\n", n, buff );
Re: вывести массив без 0 в конце в консоль
| От: | jazzer | Skype: enerjazzer |
| Дата: | 06.11.08 08:05 | |
| Оценка: |
Здравствуйте, Аноним, Вы писали:
А>Всем привет!
А>Как лучше вывести массив известной длинны без завершающего нуля в консоль?
write( stdout, array, lenght );
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09
You will always get what you always got If you always do what you always did
Re[2]: вывести массив без 0 в конце в консоль
| От: | Аноним |
| Дата: | 04.01.09 11:11 |
| Оценка: |
Здравствуйте, jazzer, Вы писали:
J>
J>write( stdout, array, lenght ); J>
У меня почему-то не работает такой пример.
пишу:
#include #include int main() < write(stdout, "abc", 3); return 0; >
компилятор выдает ошибку:
index.cpp:6: error: invalid conversion from `FILE*' to `int' index.cpp:6: error: initializing argument 1 of `int write(int, const void*, unsigned int)'
приводил stdout в int — компилируется но не выводит.
Что неправильно я сделал?
Re[3]: вывести массив без 0 в конце в консоль
| От: | Sergej Pupykin |
| Дата: | 04.01.09 12:42 |
| Оценка: |
Аноним 81 wrote:
> Что неправильно я сделал?
write(0, «abc», 3)
fwrite(«abc», 3, 1, stdout)
Posted via RSDN NNTP Server 2.1 beta
Re[4]: вывести массив без 0 в конце в консоль
| От: | Аноним |
| Дата: | 05.01.09 05:52 |
| Оценка: |
write(1, "zxc\n", 4); fwrite("zxc\n", 4, 1, stdout);
Re[4]: вывести массив без 0 в конце в консоль
| От: | Vamp |
| Дата: | 08.01.09 21:27 |
| Оценка: |
B>Вообще лучще уточнять — какой массив вывести, что значит «лучше».
Что значит лучше?
Да здравствует мыло душистое и веревка пушистая.
Re[3]: вывести массив без 0 в конце в консоль
| От: | Vamp |
| Дата: | 08.01.09 21:33 |
| Оценка: |
write использует дескрпитор файла, а не file handle. Используй fwrite.
Но вообще я не понял задачи.
const char* s = "Hello word!"; printf("%s", s);
не выводит нуль-терминатор.
Цикл for для массивов в JavaScript
Массивы также можно перебирать циклом for . Давайте посмотрим, как это делается. Пусть у нас дан вот такой массив:
let arr = [1, 2, 3, 4, 5];
Выведем элементы этого массива в цикле:
for (let i = 0; i
Можно не отнимать от длины массива единицу, а использовать нестрогое сравнение:
for (let i = 0; i < arr.length; i++) < console.log(arr[i]); >
Перебор массива циклом for дает больший контроль за происходящим. К примеру, можно вывести элементы не с нулевого, а с первого:
for (let i = 1; i < arr.length; i++) < console.log(arr[i]); >
Можно вывести элементы в обратном порядке:
for (let i = arr.length — 1; i >= 0; i—) < console.log(arr[i]); >
Выведите в консоль все элементы следующего массива:
let arr = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’];
Выведите в консоль все элементы следующего массива, за исключением нулевого и последнего:
let arr = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’];
Выведите в консоль элементы следующего массива в обратном порядке:
let arr = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’];
Исправьте ошибку, допущенную в следующем коде: