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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Uinslou
Старичок :)
728 / 315 / 5
Регистрация: 03.04.2011
Сообщений: 1,430
#1

Вывести каждые 4 строки через 1 пустую. - C++

05.05.2011, 22:17. Просмотров 1630. Ответов 6
Метки нет (Все метки)

Здравствуйте, Уважаемые форумчане

Вот есть собственно код:

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
de "stdafx.h"
#include <iostream>
#include <fstream>
#include <locale.h>
using namespace std;
using namespace System;
 
void main (void)
{
setlocale(LC_ALL,"Russian");
 
char A[100][1000] = { 0 }; //Твой массив Максимум 100 строк по 1000 символов в каждой
FILE *input1 = fopen("1.txt","r");
int CountStr = 0; //Счетчик строк
if (!input1)
{
cout<<"Error";
}
 
int i=0; //Счетчик позиции в строке
while(!feof(input1))//Пока не достигнуто конец файла чистаем по-символьно
{
fscanf(input1, "%c", &A[CountStr][i]); //Читаем символ
if (A[CountStr][i] == '\n') //Если символ является символом возврата корретки (переход на новую строку)
{
A[CountStr][i+1] = 0; //Поставим завершающий символ строки
CountStr++; //Увеличим счетчик строк
i=0; //Позицию в строке обнулим
}
else i++; //Иначе увеличиваем счетчик позиций в строке
}
//На выходе у нас получается:
//CountStr - кол-во строк
//A - массив с данными первого файла с кол-вом строк CountStr
fclose(input1);
 
char B[100][1000] = { 0 }; //Твой массив Максимум 100 строк по 1000 символов в каждой
char c = '\n';
FILE *input2 = fopen("2.txt","r");
int CountStr1 = 0; //Счетчик строк
if (!input2)
{
cout<<"Error";
}
 
while(!feof(input2))//Пока не достигнуто конец файла чистаем по-символьно
{
fscanf(input2, "%c", &B[CountStr1][i]); //Читаем символ
if (B[CountStr1][i] == '\n') //Если символ является символом возврата корретки (переход на новую строку)
{
B[CountStr1][i+1] = 0; //Поставим завершающий символ строки
CountStr1++; //Увеличим счетчик строк
i=0; //Позицию в строке обнулим
}
else i++; //Иначе увеличиваем счетчик позиций в строке
}
fclose(input2);
 
printf ("%s", A[1]);
printf ("%s", B[1]);
printf ("\n");
system ("pause");
}
Нужно вывести каждые 4 строки через 1 пустую, т.е идет 4 строки мы их выводим, потом пустая, потом еще 4 строки их опять выводим. Кодировка тхт файлов ANSI. Как то так должно быть: мы выводим строку вопрос, потом 4 строки ответы, строка для запоминания ответа, выводим 2 вопрос. Почему выводится 1 строка из вопросов, но 4 подряд ни как не выводятся ? Спасибо заранее
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2011, 22:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести каждые 4 строки через 1 пустую. (C++):

Вставка символа через каждые 8 букв - C++
Вообщем есть строка ввида &quot;6842318465134824&quot; мне надо её превратить в &quot;68423184-65134824&quot;. Вот и вопрос как вставить после 8 цифры этот...

Реализовать функцию, возвращающую i-е по счету слово от начала строки s, либо пустую строку - C++
Помогите написать программу: Реализовать функцию Word(s, i), возвращающую i-е по счету слово от начала строки s, либо пустую строку....

Таймер который запускается по новой через каждые полчаса - C++
Здравствуйте нужно сделать таймер который работает бесконечно и и через каждые полчаса запускался по новой с номиналом пол часа

Уменьшение числа на единицу через каждые два шага - C++
Здравствуйте. Нужна формула, при которой число уменьшается на единицу через каждые два шага при выполнении цикла. Заранее благодарен:)

Вывести на экран каждые три элемента массива размером 15 - C++
Как написать задачу? Вывести на экран каждые три элемента массива размером 15

Заполнить массив последовательностью, в которой через каждые 8 элементов записываемое значение увеличивается - C++
Заполнить массив такой последовательностью, в которой через каждые 8 элементов записываемое значение увеличивается на 1. Заполнять массив...

6
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
06.05.2011, 04:18 #2
C
1
2
    if (lineno > 1 && lineno % 4 == 0)
        putchar('\n');
0
Uinslou
Старичок :)
728 / 315 / 5
Регистрация: 03.04.2011
Сообщений: 1,430
06.05.2011, 18:38  [ТС] #3
Что-то не понял

Добавлено через 27 минут
На c++ надо)
0
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
06.05.2011, 19:43 #4
Uinslou, у тебя у самого на Си написано...
0
Uinslou
Старичок :)
728 / 315 / 5
Регистрация: 03.04.2011
Сообщений: 1,430
07.05.2011, 13:59  [ТС] #5
Ой сорри ребят, запутался немного

Ну да ладно. Вот есть вот этот код у меня, почему же не получается ? Вот Уважаемый accept написал мне видимо решение моей проблемы, однако я не понял к сожалению что к чему Объясните пожалуйста.

Добавлено через 17 часов 46 минут
Есть идеи ?
0
ZloyVolkey
27 / 27 / 6
Регистрация: 01.05.2011
Сообщений: 85
07.05.2011, 14:06 #6
C
1
2
    if (lineno > 1 && lineno % 4 == 0)    //если номер строки больше 1 и кратен четырём
        putchar('\n');    //печатаем пробел
0
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
09.05.2011, 08:28 #7
Цитата Сообщение от Uinslou
Вот Уважаемый accept написал мне видимо решение моей проблемы, однако я не понял к сожалению что к чему
надо вставить это условие в цикл, который читает файл построчно

C
1
2
    while (fgets(line, sizeof line, ifp) != NULL)
        if ...
необязательно, конечно, через fgets(), особенно если строка неизвестной длины
но всё равно нужен цикл, который читает файл, и в нём счётчик строк и условие
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2011, 08:28
Привет! Вот еще темы с ответами:

Заполните массив последовательностью, в которой через каждые 5 элементов записываемое значение увеличивается - C++
Помогите пожалуйста. 1. Заполнить массив такой последовательностью, в которой через каждые 5 элементов записываемое значение...

Дано целое число K и текстовый файл. Вставить пустую строку перед строкой файла с номером K. Если строки с так - C++
Помогите составит программу на c++ .Дано целое число K и текстовый файл. Вставить пустую строку перед строкой файла с номером K. Если...

Строки. В тексте поменять местами каждые два соседних слова - C++
Есть задание: нужно считать текст и вывести его на экран, поменяв местами каждые два соседних слова. Есть готовый код: Тексты надо...

Написать программу, которая выводит таблицу скорости (через каждые 0,5 с) свободно падающего тела - C++
Написать программу, которая выводит таблицу скорости (через каждые 0,5 с) свободно падающего тела (v =g·t, гдеg = 9,8 м/с2 — ускорение...


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

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

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