Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2015, 16:33   #1
Vitalyas
Пользователь
 
Регистрация: 25.11.2014
Сообщений: 47
По умолчанию Вывод массива на экран и в файл

Всем доброго времени суток!
Задача: Вычислить сумму элементов одномерного массива. Если сумма больше 0 умножить все элементы массива на 2, иначе изменить знак всех элементов массива на противоположный. Значения элементов массива ввести с клавиатуры. Результирующий массив вывести на экран и в файл.

Все я сделал, вроде бы, кроме вывода результирующего массива на экран и файл, не получается что-то...

Вот код программы:
Код:
var  
   sum:real;
   i:integer;
   a:array[1..10] of real;
begin
   writeln('Введите элементы массива (10 целых чисел) в одной строке и нажмите <Enter>');
   write('->');
   for i:=1 to 10 do read(a[i]);
   sum:=0;
   for i:=1 to 10 do 
      begin 
      sum:=sum+a[i]
      end;
   Writeln('summa do ', sum);
   if sum>0 then sum:=sum*2
            else sum:=sum*(-1);
   Writeln('summa posle ', sum);
end.
Vitalyas вне форума Ответить с цитированием
Старый 13.01.2015, 16:49   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Все я сделал, вроде бы
Нет. Не сделал.
Пункт
Цитата:
умножить все элементы массива на 2, иначе изменить знак всех элементов
не выполнен совершенно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.01.2015, 16:59   #3
Vitalyas
Пользователь
 
Регистрация: 25.11.2014
Сообщений: 47
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Нет. Не сделал.
Пункт не выполнен совершенно.
Даааа, заметил, что сделал не правильно...Все-таки подскажите как с выводом массива то поступить?
Vitalyas вне форума Ответить с цитированием
Старый 13.01.2015, 17:02   #4
Vitalyas
Пользователь
 
Регистрация: 25.11.2014
Сообщений: 47
По умолчанию

Делаю вот так
Код:
var  
   sum:real;
   i:integer;
   a:array[1..10] of real;
begin
   writeln('Введите элементы массива (10 целых чисел) в одной строке и нажмите <Enter>');
   write('->');
   for i:=1 to 10 do read(a[i]);
   sum:=0;
   for i:=1 to 10 do 
      begin 
      sum:=sum+a[i]
      end;
   Writeln('summa do ', sum);
   if sum>0 then 
                for i:=1 to 10 do a[i]:=a[i]*2
            else 
                for i:=1 to 10 do a[i]:=a[i]*(-1);
   Writeln('массив', a);
end.
и выводит заместо массива вот это:"Program1.$pascal_array1"
Vitalyas вне форума Ответить с цитированием
Старый 13.01.2015, 17:20   #5
Vitalyas
Пользователь
 
Регистрация: 25.11.2014
Сообщений: 47
По умолчанию

Всем спасибо, разобрался сам =)
вот код, если кому понадобится
Код:
var  
   sum:real;
   i:integer;
   a:array[1..10] of real;
begin
   writeln('Введите элементы массива (10 целых чисел) в одной строке и нажмите <Enter>');
   write('->');
   for i:=1 to 10 do read(a[i]);
   sum:=0;
   for i:=1 to 10 do 
      begin 
      sum:=sum+a[i]
      end;
   if sum>0 then 
                for i:=1 to 10 do a[i]:=a[i]*2
            else 
                for i:=1 to 10 do a[i]:=a[i]*(-1);
   write ('Массив в результате махинаций: ');
   For i:=1 to 10 do write(a[i]:4);
end.
Теперь нужна помощь с выводом в файл =))

Последний раз редактировалось Vitalyas; 13.01.2015 в 18:00.
Vitalyas вне форума Ответить с цитированием
Старый 13.01.2015, 18:20   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Эт просто:
Код:
var t:Text;
...
begin
assign(t,'файл'); rewrite(t);
...
For i:=1 to 10 do begin write(a[i]:4); write(t,a[i]:4);end;
close(t);
...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.01.2015, 09:55   #7
Vitalyas
Пользователь
 
Регистрация: 25.11.2014
Сообщений: 47
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Эт просто:
Код:
var t:Text;
...
begin
assign(t,'файл'); rewrite(t);
...
For i:=1 to 10 do begin write(a[i]:4); write(t,a[i]:4);end;
close(t);
...
Так он пишет последний элемент. Вот правильный код уже полностью правильный =)

Код:
var  
   sum:real;
   i:integer;
   a:array[1..10] of real;
   f:text;
begin
   assign(f,'f1.txt');
   rewrite(f);
   writeln('Введите элементы массива (10 целых чисел) в одной строке и нажмите <Enter>');
   write('-> ');
   for i:=1 to 10 do read(a[i]);
   sum:=0;
   for i:=1 to 10 do 
      begin 
      sum:=sum+a[i]
      end;
   if sum>0 then 
                for i:=1 to 10 do a[i]:=a[i]*2
            else 
                for i:=1 to 10 do a[i]:=a[i]*(-1);
   write ('Массив в результате махинаций: ');
   For i:=1 to 10 do write(a[i]:4);
   For i:=1 to 10 do write(f,a[i]:4);
   close(f);
end.
Vitalyas вне форума Ответить с цитированием
Старый 14.01.2015, 11:17   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Так он пишет последний элемент
Не верю...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.01.2015, 12:55   #9
Vitalyas
Пользователь
 
Регистрация: 25.11.2014
Сообщений: 47
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Не верю...
Ну проверь сам
Vitalyas вне форума Ответить с цитированием
Старый 14.01.2015, 13:04   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А чего проверять-то?
Код:
For i:=1 to 10 do begin write(a[i]:4); write(t,a[i]:4);end;
и
Код:
For i:=1 to 10 do write(a[i]:4);
For i:=1 to 10 do write(f,a[i]:4);
Эквивалентны, первый чуть оптимальней
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ вывод на экран\в файл Sergei1 Помощь студентам 2 10.01.2012 10:02
Вывод двумерного массива на экран. (Delphi) Refon_S Помощь студентам 3 21.12.2011 23:30
заполнение массива русскими символами и вывод их на экран askerpro Visual C++ 4 09.11.2010 19:01
вывод динамического массива на экран Arcueid1691 Общие вопросы C/C++ 2 15.10.2009 22:53
вывод массива на экран Неясыть Общие вопросы Delphi 9 20.01.2008 20:18