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

Сформировать текстовый файл, записав в него 20 случайных чисел - C++

Восстановить пароль Регистрация
 
саша 74
2 / 2 / 0
Регистрация: 10.02.2011
Сообщений: 48
27.03.2011, 06:58     Сформировать текстовый файл, записав в него 20 случайных чисел #1
1.Сформировать текстовый файл, записав в него 20 случайных чисел от –10 до +10, по одному на строке

Здесь все нормально работает:

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
#include <fstream>
#include <iostream>
#include <time.h>
using namespace std;
int main()
{ 
 ofstream fout;
 
 int n=21;
 int mas[21];
 fout.open("C:\\numbers2.txt ");
 srand((unsigned int)time(0));
 
 for(int i=1;i<n;i++)
{
 mas[i]=10-rand()%21;
 fout<<mas[i]<<'\n';
 cout<<("\n number ")<<i<<" = "<<mas[i];
                }
                cout<<endl;
 
 fout.close ();
 return 0;
}
2.Используя созданный выше файл как входной, сформировать
выходной файл , вычтя из каждого числа сумму чисел файла.

А вот здесь не работает:

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
#include <fstream>
#include <iostream>
 
 
using namespace std;
int main()
{   ifstream fin;
  int n=21, i, z=0, el=0;
  int  a[21];
  int sum=0;
                fin.open("C:\\numbers2.txt ");
                for (i=1; i<n; i++)
                {
                        fin>>a[i];
                        cout<<("\n number")<<i<<" = "<<a[i];
                }
                cout<<endl;
                ofstream fout;
                    for(i=1; i!=21; i++)
                    while (sum+=a[z])
                    z++;
                   if (n-=z)   
                     el=a[z];
                  
                    
 
    cout<<("\n first odd number: ")<<a[z];
                cout<<"\n";
                fout.open("C:\\numbers3.txt ");
                for(int i=1;i<n;i++)
                fout<<a[i]+el<<'\n';
        fout.close ();
 
      return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2011, 06:58     Сформировать текстовый файл, записав в него 20 случайных чисел
Посмотрите здесь:

C++ Сформировать текстовый файл-таблицу возведения в степень 2 и 3, целых чисел от 1 до заданного с консоли числа
C++ Прочитать текстовый файл и вывести из него только цитаты
Формирование текстового файла, записав в него 20 случайных чисел от –10 до +10, по одному на строке C++
C++ Сформировать одномерный массив целых чисел, используя датчик случайных чисел
Сформировать текстовый файл – таблицу умножения для целых чисел от 1 до заданного с консоли числа C++
создать текстовый файл и записать в него 6 различных текстовых сток C++
Создать список целых чисел. Создать новый список, записав в него отрицательные элементы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
27.03.2011, 07:52     Сформировать текстовый файл, записав в него 20 случайных чисел #2
Цитата Сообщение от саша 74 Посмотреть сообщение
"C:\\numbers2.txt "
Зачем пробел в конце имени?

Добавлено через 30 секунд
Цитата Сообщение от саша 74 Посмотреть сообщение
int n=21; int mas[21];
Обе программы не должны компилироваться.

Добавлено через 25 секунд
Зачем массив из 21 значения, когда нужно 20?

Добавлено через 3 минуты
Цитата Сообщение от саша 74 Посмотреть сообщение
while (sum+=a[z]) z++;
Потенциально вечный цикл.
С выходом за границы массива, разумеется.
Потенциально с нулём итераций.

Добавлено через 1 минуту
Цитата Сообщение от саша 74 Посмотреть сообщение
for(i=1; i!=21; i++) while (sum+=a[z]) z++;
Это не сумма элементов, а не правильно реализованная сумма элементов умноженная на 20.

Добавлено через 1 минуту
Цитата Сообщение от саша 74 Посмотреть сообщение
if (n-=z) el=a[z];
Вообще не понял, что это.

Добавлено через 3 минуты
Цитата Сообщение от саша 74 Посмотреть сообщение
fout<<a[i]+el<<'\n'
вычтя из каждого числа сумму чисел файла. Вычитают при помощи знака минус.
саша 74
2 / 2 / 0
Регистрация: 10.02.2011
Сообщений: 48
27.03.2011, 08:22  [ТС]     Сформировать текстовый файл, записав в него 20 случайных чисел #3
если массив 20 указать то числа до 19 выводится будут .

как правильно в данном задании написать функцию "сумма чисел файла"
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
27.03.2011, 08:32     Сформировать текстовый файл, записав в него 20 случайных чисел #4
индексация массивов начинается с 0
типа так можно:
C++
1
for (int i = 0; i < 20; i++) a[i];
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
27.03.2011, 08:34     Сформировать текстовый файл, записав в него 20 случайных чисел #5
Цитата Сообщение от саша 74 Посмотреть сообщение
правильно в данном задании написать функцию "сумма чисел файла"
C++
1
2
for(int i=0; i <= 20; ++i)
      sum += a[i]);
Например.
саша 74
2 / 2 / 0
Регистрация: 10.02.2011
Сообщений: 48
28.03.2011, 16:27  [ТС]     Сформировать текстовый файл, записав в него 20 случайных чисел #6
Почему то все равно не получается выдаёт какую то белеберду.

Добавлено через 11 часов 46 минут
подскажите пожалуйста

Добавлено через 19 часов 45 минут
Некто не знает?
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
28.03.2011, 16:36     Сформировать текстовый файл, записав в него 20 случайных чисел #7
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 <fstream>
#include <iostream>
  
using namespace std;
int main()
{   ifstream fin;
  const int n=20;
  int  a[n];
  int sum=0;
  fin.open("C:\\numbers2.txt");
    for( int i=0; i<n; ++i)
   {
      fin>>a[i];
      sum += a[i];
       cout<<("\n number")<<i<<" = "<<a[i];
    }
           cout<<endl;
            ofstream fout("C:\\numbers3.txt");
            for(int i=0; i < 20; ++i)
                 fout << a[i] - sum;
     
      return 0;
}
Компилировать не собираюсь, но должно работать.
И удали пробелы в конце имени файла.
asics
Freelance
Эксперт C++
 Аватар для asics
2841 / 1778 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
28.03.2011, 16:39     Сформировать текстовый файл, записав в него 20 случайных чисел #8
Цитата Сообщение от саша 74 Посмотреть сообщение
2.Используя созданный выше файл как входной, сформировать
выходной файл , вычтя из каждого числа сумму чисел файла.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <fstream>
#include <iostream>
using namespace std;
 
int main(){
  const size_t size = 20;
  int a[size], sum = 0;
  ifstream f_in("C:\\numbers2.txt");
  ofstream f_out("C:\\numbers3.txt");
  for(int i = 0; i < size; ++i){
    f_in >> a[i];
    sum += a[i];
  }
  for(int i = 0; i < size; ++i)
    f_out << a[i] - sum << '\n';
  return 0;
}
Добавлено через 42 секунды

Не по теме:

Опередили..

Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
28.03.2011, 16:40     Сформировать текстовый файл, записав в него 20 случайных чисел #9
Зато, ты не поленился сам написать.) И форматирование соблюсти.)
А я лентяй, просто поудалял всё.
asics
28.03.2011, 16:46
  #10

Не по теме:

Цитата Сообщение от Deviaphan Посмотреть сообщение
Зато, ты не поленился сам написать.) И форматирование соблюсти.)
Люблю, понимаеш, что бы все было под линеечку, красиво

Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
28.03.2011, 16:47     Сформировать текстовый файл, записав в него 20 случайных чисел #11
Цитата Сообщение от asics Посмотреть сообщение
Люблю, понимаеш, что бы все было под линеечку, красиво
Тогда, в строке 14 надо int заменить на size_t.))) Чтобы знаковый с беззнаковым не сравнивать.)
asics
Freelance
Эксперт C++
 Аватар для asics
2841 / 1778 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
28.03.2011, 16:55     Сформировать текстовый файл, записав в него 20 случайных чисел #12
Цитата Сообщение от Deviaphan Посмотреть сообщение
Тогда, в строке 14 надо int заменить на size_t.))) Чтобы знаковый с беззнаковым не сравнивать.)
Да ладно, кстате, GCC по этому поводу ворнинг не бросает, в отличие от MVS.
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
28.03.2011, 16:59     Сформировать текстовый файл, записав в него 20 случайных чисел #13
Цитата Сообщение от asics Посмотреть сообщение
Да ладно, кстате, GCC по этому поводу ворнинг не бросает, в отличие от MVS.
а если поставить уровень повыше?
asics
Freelance
Эксперт C++
 Аватар для asics
2841 / 1778 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
28.03.2011, 17:04     Сформировать текстовый файл, записав в него 20 случайных чисел #14
Цитата Сообщение от fasked Посмотреть сообщение
а если поставить уровень повыше?
Извините, но не совсем понял что Вы имеете ввиду.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
28.03.2011, 17:06     Сформировать текстовый файл, записав в него 20 случайных чисел #15
Цитата Сообщение от asics Посмотреть сообщение
что Вы имеете ввиду
Повысить строгость проверки ошибок. На самом деле это просто смертельная ошибка, не делайте так.)
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
28.03.2011, 17:06     Сформировать текстовый файл, записав в него 20 случайных чисел #16
Цитата Сообщение от asics Посмотреть сообщение
Извините, но не совсем понял что Вы имеете ввиду.
Уровень предупреждений Warning Options. Я стараюсь ставить всегда Wall
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
28.03.2011, 17:09     Сформировать текстовый файл, записав в него 20 случайных чисел #17
На самом деле это не просто знаковый и беззнаковый, но 32-битный знаковый и (потенциально)64-битный беззнаковый. Лучше не мешать.

Добавлено через 2 минуты
Цитата Сообщение от fasked Посмотреть сообщение
Я стараюсь ставить всегда Wall
Ну это уже изврат.) На больших проектах нереально с ним. Я хэдэр сделал, он только действительно важные ворнинги подключает, чтобы не утонуть в предупреждениях левых.)))
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
28.03.2011, 17:12     Сформировать текстовый файл, записав в него 20 случайных чисел #18
Цитата Сообщение от Deviaphan Посмотреть сообщение
На больших проектах нереально с ним. Я хэдэр сделал, он только действительно важные ворнинги подключает, чтобы не утонуть в предупреждениях левых
Ну я и не имел в виду крупные проекты, а только так сказать "форумные", для крупных проектов есть статические анализаторы и просто прямые руки (по крайне мере должны быть).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2011, 17:17     Сформировать текстовый файл, записав в него 20 случайных чисел
Еще ссылки по теме:

Структуры: сформировать двоичный файл, записав в него всю известную информацию о каждом сотруднике C++
Сформировать одномерный массив В, записав в него сначала элементы массива А, имеющие четные индексы C++
Сформировать файл из значений случайных величин C++
C++ Дан непустой текстовый файл. Удалить из него первую строку
C++ Сформировать массив, записав в него элементы с четными индексами двух массивов.

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

Или воспользуйтесь поиском по форуму:
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
28.03.2011, 17:17     Сформировать текстовый файл, записав в него 20 случайных чисел #19
Цитата Сообщение от fasked Посмотреть сообщение
так сказать "форумные"
Оч согласен. Особенно при изучении (множественного)наследования полезно. Сразу в косяки носом тыкает.
Yandex
Объявления
28.03.2011, 17:17     Сформировать текстовый файл, записав в него 20 случайных чисел
Ответ Создать тему
Опции темы

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