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

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

Войти
Регистрация
Восстановить пароль
 
4classic4
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 21
#1

Откуда берутся странные числа? - C++

08.03.2014, 22:59. Просмотров 300. Ответов 5
Метки нет (Все метки)

Добрый вечер! Не можете подсказать, почему такие значения Z??? А не 1, 2, 3, 4??? Программа работает правильно, как вроде.

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
#include <iostream>
#include <stdio.h>
#include <string>
#include <ctime>
using namespace std;
int main () {
setlocale(LC_ALL, "Russian");
#pragma warning(disable : 4996);
srand(time(NULL));
int i=0, id, z=0;
FILE *in, *out;
char vstavka[30], ch, zamena[30];
in=fopen("input.txt","r");
out=fopen("output.txt","w");
while(!feof(in)){
    ch=fgetc(in);
    if((ch==' ')||(ch=='.')||(ch==',')||(ch==':')||(ch==';')||(ch=='"')||(ch=='-')||(ch=='(')||(ch==')')||(ch=='!')||(ch=='?')||(ch=='\n')){
        if(ch=='\n'){ z++;
        cout<<"z="<<z<<'/n';
        }
    if(i&&(i<4))    fputs(vstavka, out);    
    if(i>=4){
        for(int j=0; j<30; j++) zamena[j]=0;
        zamena[0]=vstavka[0];
        zamena[i-1]=vstavka[i-1];
        for(int j=1; j<i-1; j++){
            id=rand()%(i-2)+1;
        if(zamena[id])  j--;
        else zamena[id]=vstavka[j];
        }
        fputs(zamena, out);
    }   
    i=0;
    fputc(ch,out);
        }
    else{
        vstavka[i]=ch;
        i++;
        vstavka[i]='\0';
    }
}
    fclose(in);
    fclose(out);
    system("pause");
    return 0;
}
В миниатюре результат:
0
Миниатюры
Откуда берутся странные числа?  
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2014, 22:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Откуда берутся странные числа? (C++):

Откуда берутся лишние элементы? - C++
String String::operator + (String right){ int len = strlen(this-&gt;myString) + strlen(right.myString); cout &lt;&lt; len&lt;&lt; endl;// 14 ...

Откуда берутся символы при ошибках? - C++
Иногда,когда программа содержит код с ошибками,начинают выскакивать какие-то колдунские символы,вроде 00FD...,-857... и тд.Откуда они? ...

Откуда берутся лишние цифры в double? - C++
У меня значения из примера выше близкие к правильным, но есть косяки - 1)в числе 3.12, откуда то появилась единица в самом последнем...

Откуда берутся все символы после моей строки? - C++
Народ, кому не трудно ,обоснуйте природу выводимого при выполнении программы #include &lt;cstdlib&gt; #include &lt;iostream&gt; using...

Поведение setw(). Откуда берутся начальные отступы, начиная со 2 строки? - C++
Добрый день! Такой код: #include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; int main() { for (int i = 11; i &lt;=...

Откуда берутся лишние символы при создании массива с помощью оператора new? - C++
Здравствуйте) Наблюдаю странное поведение оператора new. ifstream is; is.open(&quot;f.txt&quot;); is.seekg (0, ios::end); ...

5
DrOffset
7377 / 4454 / 1009
Регистрация: 30.01.2014
Сообщений: 7,304
08.03.2014, 23:10 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
cout<<"z="<<z<<'/n';
\n - в другую сторону.
И файл input.txt, который читается приложи.
1
recoder
130 / 130 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
08.03.2014, 23:11 #3
Что вы пытаетесь сделать?
1
4classic4
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 21
08.03.2014, 23:14  [ТС] #4
DrOffset , спасибо) Файл был обыкновенный с текстом.

Добавлено через 1 минуту
Цитата Сообщение от recoder Посмотреть сообщение
Что вы пытаетесь сделать?
DrOffset уже заметил опечатку, а программа оставляет 1-ую и последнюю букву, а другие мешает рандомно.
0
recoder
130 / 130 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
08.03.2014, 23:16 #5
4classic4, Не то, что то она делает.
1
4classic4
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 21
08.03.2014, 23:35  [ТС] #6
Цитата Сообщение от recoder Посмотреть сообщение
Не то, что то она делает.
То есть, что делает буква z? Это я смотрел, сколько переносов на др. строку. для отладки.
0
08.03.2014, 23:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2014, 23:35
Привет! Вот еще темы с ответами:

Не понятно откуда взяли числа - C++
Здорова! Есть код: // computer-generated x-y coordinates for 60 points around a circle const int Cex25cView::nX = { 0, 105,...

Квадратное уравнение вида a*(x^2)+b*x+c=0, данные об a,b,c берутся из файла - C++
написать программу которая решает квадратное уравнение вида a*(x^2)+b*x+c=0 данные об a,b,c берутся из файла.

Объявить двумерный символьный массив, размеры которого берутся из переменных - C++
Нужно объявить двумерный символьный массив, размеры которого берутся из переменных. Если аналогии с одномерным массивом сделатьchar **m1=...

Странные типы - C++
Всем добрый день. Хотелось бы узнать ответы на 2 вопроса: 1. Шаблонный тип - тип использующийся как шаблон для нескольких типов, а...


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

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

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