1 / 8
Jun 2004

with Ada.Text_IO;         use Ada.Text_IO;
with Ada.Integer_Text_IO; use Ada.Integer_Text_IO;
procedure test is
  x : integer;
begin
  loop
    get(x);
    if x/=42 
    then
      put(x);
      new_line(1);
    else
      exit;
    end if;
  end loop;
end test;
  • created

    Jun '04
  • last reply

    Jun '15
  • 7

    replies

  • 1.5k

    views

  • 8

    users

10 months later

This is the fastest solution?
I've done:

-- Life, the Universe, and Everything...
with Ada.Text_Io;
use  Ada.Text_Io;
procedure Test is
   Answer: String(1 .. 3);
   Last: Positive;
begin
   loop
      Get_Line(Answer, Last);
      exit when Answer(1) = '4' and Answer(2) = '2';
      Put_Line(Answer);
   end loop;
end;

It's time is 0.03, but I don't know what could be done better (faster). :-\

1 year later

sproboj z

for(int i = s.size()-1; i >= 0; i--) cout << s[i];

[quote]

  string s;
  while((znak = cin.get()) != EOF) s += znak;
  for(int i = s.size(); i >= 0; i--) cout << s[i];

[/quote]

wcztytujesz i odwracasz ciąg kolejnych znaków a nie liczb...

np.
12 13 14

da u Ciebie
41 31 21

a powinno być
14 13 12

PS. poza tym petla jest bledna, powinna sie zaczynac od s.size()-1

Pozdrawiam
Marcin

3 years later

Mógłby mi ktoś pomóc zamienić "char" na "int" ?

#include<stdio.h>
#include<string.h>
char s[1000001];
void rewers( char t[], int od, int za) {
  for( int pom ; od<--za ; od++)
    pom=t[od], t[od]=t[za], t[za]=pom ;
}
main(){
    while( fgets(s , 100001 , stdin) ){
        int c=0;
        for(int i=0; i<='0'; i++){
            if(s[i]==' ')
                c+=1;               
        }
        c+=1;
        int dl=strlen(s),pom=dl-c;
        rewers(s, 0,c*2-1);
        printf("%s", s);
    }
    getchar(); getchar(); return 0;
}
1 month later

    while(1){
             cout << n[i];
    }

i jest ustawione na indeks po ostatnim elemencie. Czyli de facto na komórkę w której nic nie ma (i-1 to ostatnia komórka z zawartością).
A zatem zawsze wypisujesz... nic.
Ponadto nie zmieniasz indeksu komórki.
Problem możesz naprawić bardzo łatwo - forem.

4 years later

Witam, mógłby mi ktoś podpowiedzieć co jest nie tak z tym kodem że wywala mi go na spoju. Z góry dziękuje
Ps. Proszę o wyrozumiałość dopiero zaczynam z programowaniem

#include <iostream>
using namespace std;
int tablica[3];
int main()
{
    for (int i=0;i<3;i++)
    {
        cin>>tablica[i];
    }
 for (int i=2;i>=0;i--)
{
    cout<<tablica[i]<<" ";
}
return 0;
}
2 months later

Po pierwsze dopisuj się do istniejących wątków
Po drugie nie wiem pod czym to testowałeś, mnie "zaspamowało" zerami, zamiast

licznik = licznik--

powinieneś dać samo

licznik--

Po trzecie, nawet jak to naprawisz to i tak zadziała tylko dla 3 liczb, a może ich być więcej albo mniej.