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

Замена двойных пробелов из входного файла на одиночный пробел и запись в выходной файл (объяснить работу кода) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массив char + перевод в int http://www.cyberforum.ru/cpp-beginners/thread813062.html
Нужно создать цикл в котором при вводе с клавиатуры символа в 16ричной системе (0-F) это число: 1. Переводилось в 10-ю систему счисления, типа int 2. Создавался элемент массива с этим 10чным числом (массив типа int, в названии темы неправильно указал) Условие выхода из цикла представляю как введение символа Q (можно и др. способ если есть идеи), а реализацию через case или for, else, else...
C++ no operator ">>" matches these operands Есть код с структурой. Всё неплохо идет, вроде, но когда пытаюсь ввести массив из 5 оценок здесь :Student * Amark = new Student ; for (int i = 0; i < a; i++) { for ( int j = 0; j < iSize; j++) cin>>Amark.iMark; } пишет : "no operator ">>" matches these operands" и "Ошибка 1 error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream" (или... http://www.cyberforum.ru/cpp-beginners/thread813058.html
C++ Цикл в цикле? Каков лучший вариант?
Господа, поделитесь опытом, пожалуйста, для общего блага среди начинающих. Как лучше ввсего организовать цикл в цикле для решения такой задачи: есть два вектора, необходимо сравнивать каждый элемент первого вектора со всеми элементами второго. Получается (если V_2.size()=10) один шаг внешнего цикла к 10 шагам внутреннего... Какая конструкция наиболее надежная? Спасибо за внимание!
Почему нет ошибки? C++
Добрый вечер. В MS VC++ случайно написал нечто подобное: //... int a, b, c; //... a = b; + c; и скомпилировал. Самое странное, что мне не выдалось никакого сообщения об ошибке! Как это выражение понимать и что в компе в это время происходит?
C++ Зачем нужно явно указывать тип переменной? http://www.cyberforum.ru/cpp-beginners/thread813045.html
Всем привет! Объясните зачем нужно явно указывать тип переменной? Например в С++ это обязательно, а php нет. Просто говорят что не указывать тип явно приводит к не лучшему исходу. Почему? И важно ли это "нововведение" в С++ (и подобных языках) про явное указание (в бейсике не нужно :D)?
C++ Массив: Сортировка методом подсчёта Написал код на сортировку методом подсчёта, не работает корректно, ПОСМОТРИТЕ что не так: int count_sort(int **ptrarray,int nrow,int ncol) { srand(time(0)); ptrarray = new int* for ( int count = 0; count < nrow; count++) ptrarray = new int ; for ( int count_row = 0; count_row < nrow; count_row++) подробнее

Показать сообщение отдельно
marina11
1 / 1 / 0
Регистрация: 15.11.2012
Сообщений: 84
19.03.2013, 20:14     Замена двойных пробелов из входного файла на одиночный пробел и запись в выходной файл (объяснить работу кода)
Здравствуйте, нашла код программы, которая заменяет в файле Input.txt двойные пробелы в исходном файле на одиночные пробелы и выводит это все в файл Output.txt. Помогите пожалуйста разобраться, как работает программа после второго "if", не понимаю, каким образом происходит замена и за что принимаются переменные i,k,l,n. Спасибо.
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
#include "stdafx.h"
#include <iostream>
#include <ctype.h>
#include <conio.h>
#include <string.h>
#include <stdio.h>
void main()
 {
   char s[80];
   int i,k,l,n;
   FILE *fin, *fout;
   fin=fopen("Input.txt", "r");
   fout=fopen("Output.txt", "w");
 
   while (NULL!=fgets(s,80,fin))
    {
     i=0;
     while (s[i]!='\0')
      {
       if (s[i]==' ')
    {
     if (s[i+1]==' ')
       {
        k=i;
        l=i;
        n=1;
        while ((s[l]!='\0')&&(s[l]==' '))
         { l++;
           }
        while (s[l]!='\0')
         { s[k+n]=s[l];
           n++;
           l++;
        s[k+n]='\0';
}
        } else i++;
        }
        i++;}
        fprintf(fout,"%s",s);
        }
     fclose(fin);
     fclose(fout);
     }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru